{ "openapi": "3.1.0", "info": { "title": "Recommendations API Reference", "description": "Recommendations API are based on [REST](https://en.wikipedia.org/wiki/Representational_state_transfer). This describes the\nresources that make up the official Adobe Target Recommendations API. The resources are designated by nouns or objects in the\nworld of Recommendations like a feed or a design. The functionalities or operations on resources are designated by HTTP\nmethods in each resource request.\n\n# Getting Started\nA Recommendations API request looks like this:\n```\ncurl -X POST \\\nhttps://mc.adobe.io/{{tenantId}}/target/recs/collections \\\n-H 'Accept: application/vnd.adobe.target.v1+json' \\\n-H 'Authorization: Bearer {{bearerToken}}' \\\n-H 'Content-Type: application/vnd.adobe.target.v1+json' \\\n-H 'X-Api-Key: {{xApiKey}}' \\\n-d '{\n \"name\": \"Backpacking Tents\",\n \"rules\": [\n {\n \"id\": {\n \"contains\": [\n \"backpacking\"\n ]\n }\n }\n ]\n}'\n```\nThe `tenantId` is your Adobe Experience Cloud tenant ID. It is present as a subdomain of your Experience Cloud URL.\nFor example, if your Experience Cloud URL is _piedpiper.experiencecloud.adobe.com_ or _piedpiper.marketing.adobe.com_, the\ntenant ID is _piedpiper_.\n\n`bearerToken` and `xApiKey` are security token variables explained below in Authentication.\n\n## Limitations\n- These APIs do not allow you to interact with resources created in the Recommendations Classic.\n- Resources can not be deleted until they are no longer referenced by any other resources. For example, a criteria cannot be\n deleted if its being used in a recommendation activity. It can only be deleted if its removed from from wherever it is used.\n- This documentation does not include following APIs:\n - Entity Recommendation Download (legacy): To download CSV containing entity recommendations.\n - Custom Algorithm Upload (legacy): To upload custom algorithm feed through POST request.\n - Feeds\n\n # Postman\n All Recommendations API requests are available in a Postman collection. Click the \"Run in Postman\" button to download the\n collection as a JSON file, then import it in Postman. Note this collection references a Postman environment, which is\n available from the [Adobe I/O console integration page](https://console.adobe.io/integrations) for your specific\n integration.\n\n [![Run in Postman](https://run.pstmn.io/button.svg)](https://raw.githubusercontent.com/AdobeDocs/target-developers/main/src/Recommendations.postman_collection.json)\n", "termsOfService": "https://www.adobe.com/legal/terms.html", "contact": { "name": "Support", "email": "customercare@adobe.com" }, "version": "latest", "x-logo": { "url": "http://developers.adobetarget.com/api/recommendations/adobe_target-logo.png", "altText": "Adobe Target" } }, "servers": [ { "url": "https://mc.adobe.io/{tenantId}/target/recs", "description": "Adobe I/O gateway", "variables": { "tenantId": { "default": "demo", "description": "Tenant ID" } } } ], "security": [ { "BearerToken": [] }, { "ApiKey": [] } ], "tags": [ { "name": "Collections", "description": "A collection is a set of items that are eligible for a recommendation. It is defined by a set of membership rules. If an\nitem satisfies these rules, it is a member of the collection.\n", "externalDocs": { "description": "More info.", "url": "https://experienceleague.adobe.com/docs/target/using/recommendations/entities/collections.html" } }, { "name": "Criteria", "description": "Criteria are rules that determine which items to recommend based on a predetermined set of visitor behaviors. Criteria are\ncategorized into different groups depending on the recommendation key and recommendation logic. These groups are: category,\nitem, recent, popularity, profile attribute, custom.\n", "externalDocs": { "description": "More info.", "url": "https://experienceleague.adobe.com/docs/target/using/recommendations/criteria/algorithms.html" } }, { "name": "Cart Criteria", "description": "Cart Criteria are criteria based on visitor's activity on multiple items. The recommendation keys are supplied through\nmbox parameter `cartIds` in comma-separated values. Only the first 10 values are considered.\n", "externalDocs": { "description": "More info.", "url": "https://experienceleague.adobe.com/docs/target/using/recommendations/criteria/algorithms.html" } }, { "name": "Category Criteria", "description": "Category Criteria are criteria based on item category. The recommendation\nkey is currently viewed item category or visitor favorite category.\n", "externalDocs": { "description": "More info.", "url": "https://experienceleague.adobe.com/docs/target/using/recommendations/criteria/algorithms.html" } }, { "name": "Custom Criteria", "description": "Custom Criteria are criteria based on user-defined custom recommendations. You upload a CSV containing item keys and their\ncorresponding list of recommendations. These recommendations, after applying configuration rules and settings, if any, will\nbe delivered to your page. The item keys in your CSV should map to items or categories in the catalog. The recommendation\nkey of this criteria can be any item based, category based key or profile attribute key depending on the item keys in the\nCSV. The CSV upload is carried out through a feed as part of configuration to create a custom criteria. Note, an item key\nrefers to the key in the CSV feed whereas a recommendation key refers to how the item key will be treated, that is, it can\nbe treated as ID of currently viewed item or visitor's favorite category.\n", "externalDocs": { "description": "More info.", "url": "https://experienceleague.adobe.com/docs/target/using/recommendations/criteria/recommendations-csv.html" } }, { "name": "Item Criteria", "description": "Item Criteria are criteria based on visitor's activity on item. The recommendation key is currently viewed item, last viewed\nitem, most viewed item or last purchased item. Note that this does not include recently viewed item, check Recent Criteria\nAPIs for that.\n", "externalDocs": { "description": "More info.", "url": "https://experienceleague.adobe.com/docs/target/using/recommendations/criteria/algorithms.html" } }, { "name": "Popularity Criteria", "description": "Popularity Criteria are criteria that generate popular items as recommendations. The recommendation key is top sellers, most\nviewed items or Analytics product report metric.\n", "externalDocs": { "description": "More info.", "url": "https://experienceleague.adobe.com/docs/target/using/recommendations/criteria/algorithms.html" } }, { "name": "Profile Attribute Criteria", "description": "Profile Attribute Criteria are criteria where recommendation is determined by an item that is stored in visitor's profile using either `user.*` or `profile.*` attributes. The profile attribute contains the item ID on which the recommendations are based.", "externalDocs": { "description": "More info.", "url": "https://experienceleague.adobe.com/docs/target/using/recommendations/criteria/algorithms.html" } }, { "name": "Recent Criteria", "description": "Recent Criteria are criteria based on recently viewed items.", "externalDocs": { "description": "More info.", "url": "https://experienceleague.adobe.com/docs/target/using/recommendations/criteria/algorithms.html" } }, { "name": "Sequence Criteria", "description": "A Sequence Criteria is a combination of multiple criteria. Such sequence of up to five criteria can be used to exercise\ngreater control of recommendations. By using a criteria sequence, you can provide additional targeted recommendations,\ninstead of using more generic backup recommendations, when a criteria doesn't return enough results to fill your design.\n", "externalDocs": { "description": "More info.", "url": "https://experienceleague.adobe.com/docs/target/using/recommendations/criteria/create-criteria-sequence.html" } }, { "name": "User History Criteria", "description": "User History Criteria are criteria based on visitor's browsing, viewing or purchasing history. It is generally\nreferred to as \"Recommended for You\".\n", "externalDocs": { "description": "More info.", "url": "https://experienceleague.adobe.com/docs/target/using/recommendations/criteria/algorithms.html" } }, { "name": "Designs", "description": "A design is a script that is used to determine how your recommendations look. You can create customized designs to provide\nthe appearance you desire. The script can be HTML or non-HTML; non-HTML for non-web environments where click-tracking is not\npossible. Recommendation designs use Apache Velocity, so the script should make use of\n[Velocity Template Language](http://velocity.apache.org/engine/1.7/vtl-reference.html).\n", "externalDocs": { "description": "More info.", "url": "https://experienceleague.adobe.com/docs/target/using/recommendations/recommendations-design/design-overview.html" } }, { "name": "Entities", "description": "Entities refer to the items you want to recommend. Entities can be anything such as products, content (such as articles,\nslide shows, images, movies, and TV shows), job listings, restaurants, and so forths\n", "externalDocs": { "description": "More info.", "url": "https://experienceleague.adobe.com/docs/target/using/recommendations/entities/products.html" } }, { "name": "Promotions", "description": "Promotion is a special type of criteria that includes promoted items in your recommendation design. Item recommendation by\npromotions use available slots in the design and take precedence over criteria results and backup recommendations.\n", "externalDocs": { "description": "More info.", "url": "https://experienceleague.adobe.com/docs/target/using/recommendations/recommendations-activity/adding-promotions.html" } }, { "name": "Exclusions", "description": "An exclusion is a subset of entities that should not be recommended to visitors. It is defined by a membership rule.\nIf an item satisfies this rule, it is excluded from recommendations to visitors.\n", "externalDocs": { "description": "More info.", "url": "https://experienceleague.adobe.com/docs/target/using/recommendations/entities/exclusions.html" } } ], "externalDocs": { "description": "Product documentation", "url": "https://experienceleague.adobe.com/docs/target/using/recommendations/recommendations.html" }, "paths": { "/collections": { "get": { "tags": [ "Collections" ], "summary": "List collections", "description": "Gets all available collections.", "operationId": "getCollections", "parameters": [ { "$ref": "#/components/parameters/offset" }, { "$ref": "#/components/parameters/limit" }, { "$ref": "#/components/parameters/orderby" }, { "$ref": "#/components/parameters/name" } ], "responses": { "200": { "description": "Successful request with list of collection resources in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "type": "object", "properties": { "offset": { "$ref": "#/components/schemas/offset" }, "limit": { "$ref": "#/components/schemas/limit" }, "total": { "$ref": "#/components/schemas/total" }, "list": { "type": "array", "items": { "$ref": "#/components/schemas/CollectionMin" }, "description": "List of collection objects." } } }, "examples": { "CollectionsResponse": { "$ref": "#/components/examples/CollectionsResponse" } } } } } } }, "post": { "tags": [ "Collections" ], "summary": "Create collection", "description": "Creates a new collection as specified by the rules provided and returns the newly created collection definition.", "operationId": "createCollection", "requestBody": { "$ref": "#/components/requestBodies/Collection" }, "responses": { "201": { "description": "Collection resource created with resource definition in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "$ref": "#/components/schemas/Collection" }, "examples": { "CollectionResponse": { "$ref": "#/components/examples/CollectionResponse" } } } } } } } }, "/collections/{id}": { "get": { "tags": [ "Collections" ], "summary": "Get collection", "description": "Gets the collection with the given ID.", "operationId": "getCollection", "responses": { "200": { "description": "Successful request with collection resource in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "$ref": "#/components/schemas/Collection" }, "examples": { "CollectionResponse": { "$ref": "#/components/examples/CollectionResponse" } } } } } } }, "put": { "tags": [ "Collections" ], "summary": "Edit collection", "description": "Updates the collection with new name and/or new rules as specified and returns the updated collection definition.", "operationId": "updateCollection", "requestBody": { "$ref": "#/components/requestBodies/Collection" }, "responses": { "200": { "description": "Successful request with updated collection resource in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "$ref": "#/components/schemas/Collection" }, "examples": { "CollectionResponse": { "$ref": "#/components/examples/CollectionResponse" } } } } } } }, "delete": { "tags": [ "Collections" ], "summary": "Delete collection", "description": "Deletes the collection referenced by the given ID.", "operationId": "deleteCollection", "responses": { "200": { "description": "Successful request with deleted collection resource in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "$ref": "#/components/schemas/Collection" }, "examples": { "CollectionResponse": { "$ref": "#/components/examples/CollectionResponse" } } } } } } }, "parameters": [ { "$ref": "#/components/parameters/id" } ] }, "/criteria": { "get": { "tags": [ "Criteria" ], "summary": "List criteria", "description": "Gets all available criteria.", "operationId": "getAllCriteria", "parameters": [ { "$ref": "#/components/parameters/offset" }, { "$ref": "#/components/parameters/limit" }, { "$ref": "#/components/parameters/orderby" }, { "$ref": "#/components/parameters/name" } ], "responses": { "200": { "description": "Successful request with list of criteria resources in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "type": "object", "properties": { "offset": { "$ref": "#/components/schemas/offset" }, "limit": { "$ref": "#/components/schemas/limit" }, "total": { "$ref": "#/components/schemas/total" }, "list": { "type": "array", "items": { "$ref": "#/components/schemas/Criteria" }, "description": "List of criteria objects." } } }, "examples": { "CriteriaListResponse": { "$ref": "#/components/examples/CriteriaListResponse" } } } } } } } }, "/criteria/{id}": { "get": { "tags": [ "Criteria" ], "summary": "Get criteria", "description": "Gets minimal criteria information with the given ID. For detailed information, make API call to criteria group path, for example, `/criteria/item/{id}`.", "operationId": "getCriteria", "responses": { "200": { "description": "Successful request with criteria resource in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "$ref": "#/components/schemas/CriteriaMin" }, "examples": { "CriteriaMinResponse": { "$ref": "#/components/examples/CriteriaMinResponse" } } } } } } }, "parameters": [ { "$ref": "#/components/parameters/id" } ] }, "/criteria/cart": { "get": { "tags": [ "Cart Criteria" ], "summary": "List cart criteria", "description": "Gets all available cart based criteria.", "operationId": "getAllCriteriaCart", "parameters": [ { "$ref": "#/components/parameters/offset" }, { "$ref": "#/components/parameters/limit" } ], "responses": { "200": { "description": "Successful request with list of cart criteria resources in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "type": "object", "properties": { "offset": { "$ref": "#/components/schemas/offset" }, "limit": { "$ref": "#/components/schemas/limit" }, "total": { "$ref": "#/components/schemas/total" }, "list": { "type": "array", "items": { "$ref": "#/components/schemas/CriteriaCart" }, "description": "List of cart criteria objects." } } }, "examples": { "CriteriaCartListResponse": { "$ref": "#/components/examples/CriteriaCartListResponse" } } } } } } }, "post": { "tags": [ "Cart Criteria" ], "summary": "Create cart criteria", "description": "Creates a new cart based criteria as specified by the settings and configuration provided and returns the newly created cart definition.", "operationId": "createCriteriaCart", "requestBody": { "$ref": "#/components/requestBodies/CriteriaCart" }, "responses": { "201": { "description": "Criteria resource created with resource definition in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "$ref": "#/components/schemas/CriteriaCart" }, "examples": { "CriteriaCartResponse": { "$ref": "#/components/examples/CriteriaCartResponse" } } } } } } } }, "/criteria/cart/{id}": { "get": { "tags": [ "Cart Criteria" ], "summary": "Get cart criteria", "description": "Gets the cart based criteria with the given ID.", "operationId": "getCriteriaCart", "responses": { "200": { "description": "Successful request with criteria resource in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "$ref": "#/components/schemas/CriteriaCart" }, "examples": { "CriteriaCartResponse": { "$ref": "#/components/examples/CriteriaCartResponse" } } } } } } }, "put": { "tags": [ "Cart Criteria" ], "summary": "Edit cart criteria", "description": "Updates the cart based criteria with new settings and configuration as specified and returns the updated criteria definition.", "operationId": "updateCriteriaCart", "requestBody": { "$ref": "#/components/requestBodies/CriteriaCart" }, "responses": { "200": { "description": "Successful request with updated criteria resource in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "$ref": "#/components/schemas/CriteriaCart" }, "examples": { "CriteriaCartResponse": { "$ref": "#/components/examples/CriteriaCartResponse" } } } } } } }, "delete": { "tags": [ "Cart Criteria" ], "summary": "Delete cart criteria", "description": "Deletes the cart based criteria referenced by the given ID.", "operationId": "deleteCriteriaCart", "responses": { "200": { "description": "Successful request with deleted criteria resource in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "$ref": "#/components/schemas/CriteriaCart" }, "examples": { "CriteriaCategoryResponse": { "$ref": "#/components/examples/CriteriaCartResponse" } } } } } } }, "parameters": [ { "$ref": "#/components/parameters/id" } ] }, "/criteria/category": { "get": { "tags": [ "Category Criteria" ], "summary": "List category criteria", "description": "Gets all available category based criteria.", "operationId": "getAllCriteriaCategory", "parameters": [ { "$ref": "#/components/parameters/offset" }, { "$ref": "#/components/parameters/limit" } ], "responses": { "200": { "description": "Successful request with list of category criteria resources in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "type": "object", "properties": { "offset": { "$ref": "#/components/schemas/offset" }, "limit": { "$ref": "#/components/schemas/limit" }, "total": { "$ref": "#/components/schemas/total" }, "list": { "type": "array", "items": { "$ref": "#/components/schemas/CriteriaCategory" }, "description": "List of category criteria objects." } } }, "examples": { "CriteriaCategoryListResponse": { "$ref": "#/components/examples/CriteriaCategoryListResponse" } } } } } } }, "post": { "tags": [ "Category Criteria" ], "summary": "Create category criteria", "description": "Creates a new category based criteria as specified by the settings and configuration provided and returns the newly created criteria definition.", "operationId": "createCriteriaCategory", "requestBody": { "$ref": "#/components/requestBodies/CriteriaCategory" }, "responses": { "201": { "description": "Criteria resource created with resource definition in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "$ref": "#/components/schemas/CriteriaCategory" }, "examples": { "CriteriaCategoryResponse": { "$ref": "#/components/examples/CriteriaCategoryResponse" } } } } } } } }, "/criteria/category/{id}": { "get": { "tags": [ "Category Criteria" ], "summary": "Get category criteria", "description": "Gets the category based criteria with the given ID.", "operationId": "getCriteriaCategory", "responses": { "200": { "description": "Successful request with criteria resource in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "$ref": "#/components/schemas/CriteriaCategory" }, "examples": { "CriteriaCategoryResponse": { "$ref": "#/components/examples/CriteriaCategoryResponse" } } } } } } }, "put": { "tags": [ "Category Criteria" ], "summary": "Edit category criteria", "description": "Updates the category based criteria with new settings and configuration as specified and returns the updated criteria definition.", "operationId": "updateCriteriaCategory", "requestBody": { "$ref": "#/components/requestBodies/CriteriaCategory" }, "responses": { "200": { "description": "Successful request with updated criteria resource in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "$ref": "#/components/schemas/CriteriaCategory" }, "examples": { "CriteriaCategoryResponse": { "$ref": "#/components/examples/CriteriaCategoryResponse" } } } } } } }, "delete": { "tags": [ "Category Criteria" ], "summary": "Delete category criteria", "description": "Deletes the category based criteria referenced by the given ID.", "operationId": "deleteCriteriaCategory", "responses": { "200": { "description": "Successful request with deleted criteria resource in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "$ref": "#/components/schemas/CriteriaCategory" }, "examples": { "CriteriaCategoryResponse": { "$ref": "#/components/examples/CriteriaCategoryResponse" } } } } } } }, "parameters": [ { "$ref": "#/components/parameters/id" } ] }, "/criteria/custom": { "get": { "tags": [ "Custom Criteria" ], "summary": "List custom criteria", "description": "Gets all available custom criteria.", "operationId": "getAllCriteriaCustom", "parameters": [ { "$ref": "#/components/parameters/offset" }, { "$ref": "#/components/parameters/limit" } ], "responses": { "200": { "description": "Successful request with list of custom criteria resources in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "type": "object", "properties": { "offset": { "$ref": "#/components/schemas/offset" }, "limit": { "$ref": "#/components/schemas/limit" }, "total": { "$ref": "#/components/schemas/total" }, "list": { "type": "array", "items": { "$ref": "#/components/schemas/CriteriaCustom" }, "description": "List of custom criteria objects." } } }, "examples": { "CriteriaCustomListResponse": { "$ref": "#/components/examples/CriteriaCustomListResponse" } } } } } } }, "post": { "tags": [ "Custom Criteria" ], "summary": "Create custom criteria", "description": "Creates a new custom criteria as specified by the settings, configuration, and feed provided and returns the newly created criteria definition.", "operationId": "createCriteriaCustom", "requestBody": { "$ref": "#/components/requestBodies/CriteriaCustom" }, "responses": { "201": { "description": "Criteria resource created with resource definition in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "$ref": "#/components/schemas/CriteriaCustom" }, "examples": { "CriteriaCustomResponse": { "$ref": "#/components/examples/CriteriaCustomResponse" } } } } } } } }, "/criteria/custom/{id}": { "get": { "tags": [ "Custom Criteria" ], "summary": "Get custom criteria", "description": "Gets the custom criteria with the given ID.", "operationId": "getCriteriaCustom", "responses": { "200": { "description": "Successful request with criteria resource in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "$ref": "#/components/schemas/CriteriaCustom" }, "examples": { "CriteriaCustomResponse": { "$ref": "#/components/examples/CriteriaCustomResponse" } } } } } } }, "put": { "tags": [ "Custom Criteria" ], "summary": "Edit custom criteria", "description": "Updates the custom criteria with new settings, configuration and feed as specified and returns the updated criteria definition.", "operationId": "updateCriteriaCustom", "requestBody": { "$ref": "#/components/requestBodies/CriteriaCustom" }, "responses": { "200": { "description": "Successful request with updated criteria resource in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "$ref": "#/components/schemas/CriteriaCustom" }, "examples": { "CriteriaCustomResponse": { "$ref": "#/components/examples/CriteriaCustomResponse" } } } } } } }, "delete": { "tags": [ "Custom Criteria" ], "summary": "Delete custom criteria", "description": "Deletes the custom criteria referenced by the given ID.", "operationId": "deleteCriteriaCustom", "responses": { "200": { "description": "Successful request with deleted criteria resource in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "$ref": "#/components/schemas/CriteriaCustom" }, "examples": { "CriteriaCustomResponse": { "$ref": "#/components/examples/CriteriaCustomResponse" } } } } } } }, "parameters": [ { "$ref": "#/components/parameters/id" } ] }, "/criteria/item": { "get": { "tags": [ "Item Criteria" ], "summary": "List item criteria", "description": "Gets all available item based criteria.", "operationId": "getAllCriteriaItem", "parameters": [ { "$ref": "#/components/parameters/offset" }, { "$ref": "#/components/parameters/limit" } ], "responses": { "200": { "description": "Successful request with list of item criteria resources in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "type": "object", "properties": { "offset": { "$ref": "#/components/schemas/offset" }, "limit": { "$ref": "#/components/schemas/limit" }, "total": { "$ref": "#/components/schemas/total" }, "list": { "type": "array", "items": { "$ref": "#/components/schemas/CriteriaItem" }, "description": "List of item criteria objects." } } }, "examples": { "CriteriaItemListResponse": { "$ref": "#/components/examples/CriteriaItemListResponse" } } } } } } }, "post": { "tags": [ "Item Criteria" ], "summary": "Create item criteria", "description": "Creates a new item based criteria as specified by the settings and configuration provided and returns the newly created criteria definition.", "operationId": "createCriteriaItem", "requestBody": { "$ref": "#/components/requestBodies/CriteriaItem" }, "responses": { "201": { "description": "Criteria resource created with resource definition in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "$ref": "#/components/schemas/CriteriaItem" }, "examples": { "CriteriaItemResponse": { "$ref": "#/components/examples/CriteriaItemResponse" } } } } } } } }, "/criteria/item/{id}": { "get": { "tags": [ "Item Criteria" ], "summary": "Get item criteria", "description": "Gets the item based criteria with the given ID.", "operationId": "getCriteriaItem", "responses": { "200": { "description": "Successful request with criteria resource in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "$ref": "#/components/schemas/CriteriaItem" }, "examples": { "CriteriaItemResponse": { "$ref": "#/components/examples/CriteriaItemResponse" } } } } } } }, "put": { "tags": [ "Item Criteria" ], "summary": "Edit item criteria", "description": "Updates the item based criteria with new settings and configuration as specified and returns the updated criteria definition.", "operationId": "updateCriteriaItem", "requestBody": { "$ref": "#/components/requestBodies/CriteriaItem" }, "responses": { "200": { "description": "Successful request with updated criteria resource in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "$ref": "#/components/schemas/CriteriaItem" }, "examples": { "CriteriaItemResponse": { "$ref": "#/components/examples/CriteriaItemResponse" } } } } } } }, "delete": { "tags": [ "Item Criteria" ], "summary": "Delete item criteria", "description": "Deletes the item based criteria referenced by the given ID.", "operationId": "deleteCriteriaItem", "responses": { "200": { "description": "Successful request with deleted criteria resource in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "$ref": "#/components/schemas/CriteriaItem" }, "examples": { "CriteriaItemResponse": { "$ref": "#/components/examples/CriteriaItemResponse" } } } } } } }, "parameters": [ { "$ref": "#/components/parameters/id" } ] }, "/criteria/popularity": { "get": { "tags": [ "Popularity Criteria" ], "summary": "List popularity criteria", "description": "Gets all available popularity based criteria.", "operationId": "getAllCriteriaPopularity", "parameters": [ { "$ref": "#/components/parameters/offset" }, { "$ref": "#/components/parameters/limit" } ], "responses": { "200": { "description": "Successful request with list of popularity criteria resources in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "type": "object", "properties": { "offset": { "$ref": "#/components/schemas/offset" }, "limit": { "$ref": "#/components/schemas/limit" }, "total": { "$ref": "#/components/schemas/total" }, "list": { "type": "array", "items": { "$ref": "#/components/schemas/CriteriaPopularity" }, "description": "List of popularity criteria objects." } } }, "examples": { "CriteriaPopularityListResponse": { "$ref": "#/components/examples/CriteriaPopularityListResponse" } } } } } } }, "post": { "tags": [ "Popularity Criteria" ], "summary": "Create popularity criteria", "description": "Creates a new popularity based criteria as specified by the settings and configuration provided and returns the newly created criteria definition.", "operationId": "createCriteriaPopularity", "requestBody": { "$ref": "#/components/requestBodies/CriteriaPopularity" }, "responses": { "201": { "description": "Criteria resource created with resource definition in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "$ref": "#/components/schemas/CriteriaPopularity" }, "examples": { "CriteriaPopularityResponse": { "$ref": "#/components/examples/CriteriaPopularityResponse" } } } } } } } }, "/criteria/popularity/{id}": { "get": { "tags": [ "Popularity Criteria" ], "summary": "Get popularity criteria", "description": "Gets the popularity based criteria with the given ID.", "operationId": "getCriteriaPopularity", "responses": { "200": { "description": "Successful request with criteria resource in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "$ref": "#/components/schemas/CriteriaPopularity" }, "examples": { "CriteriaPopularityResponse": { "$ref": "#/components/examples/CriteriaPopularityResponse" } } } } } } }, "put": { "tags": [ "Popularity Criteria" ], "summary": "Edit popularity criteria", "description": "Updates the popularity based criteria with new settings and configuration as specified and returns the updated criteria definition.", "operationId": "updateCriteriaPopularity", "requestBody": { "$ref": "#/components/requestBodies/CriteriaPopularity" }, "responses": { "200": { "description": "Successful request with updated criteria resource in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "$ref": "#/components/schemas/CriteriaPopularity" }, "examples": { "CriteriaPopularityResponse": { "$ref": "#/components/examples/CriteriaPopularityResponse" } } } } } } }, "delete": { "tags": [ "Popularity Criteria" ], "summary": "Delete popularity criteria", "description": "Deletes the popularity based criteria referenced by the given ID.", "operationId": "deleteCriteriaPopularity", "responses": { "200": { "description": "Successful request with deleted criteria resource in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "$ref": "#/components/schemas/CriteriaPopularity" }, "examples": { "CriteriaPopularityResponse": { "$ref": "#/components/examples/CriteriaPopularityResponse" } } } } } } }, "parameters": [ { "$ref": "#/components/parameters/id" } ] }, "/criteria/profileattribute": { "get": { "tags": [ "Profile Attribute Criteria" ], "summary": "List profile attribute criteria", "description": "Gets all available profile attribute based criteria.", "operationId": "getAllCriteriaProfileAttribute", "parameters": [ { "$ref": "#/components/parameters/offset" }, { "$ref": "#/components/parameters/limit" } ], "responses": { "200": { "description": "Successful request with list of profile attribute criteria resources in response.", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "type": "object", "properties": { "offset": { "$ref": "#/components/schemas/offset" }, "limit": { "$ref": "#/components/schemas/limit" }, "total": { "$ref": "#/components/schemas/total" }, "list": { "type": "array", "items": { "$ref": "#/components/schemas/CriteriaProfileAttribute" }, "description": "List of profile attribute criteria objects." } } }, "examples": { "CriteriaProfileAttributeListResponse": { "$ref": "#/components/examples/CriteriaProfileAttributeListResponse" } } } } } } }, "post": { "tags": [ "Profile Attribute Criteria" ], "summary": "Create profile attribute criteria", "description": "Creates a new profile attribute based criteria as specified by the settings and configuration provided and returns the newly created criteria definition.", "operationId": "createCriteriaProfileAttribute", "requestBody": { "$ref": "#/components/requestBodies/CriteriaProfileAttribute" }, "responses": { "201": { "description": "Criteria resource created with resource definition in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "$ref": "#/components/schemas/CriteriaProfileAttribute" }, "examples": { "CriteriaProfileAttributeResponse": { "$ref": "#/components/examples/CriteriaProfileAttributeResponse" } } } } } } } }, "/criteria/profileattribute/{id}": { "get": { "tags": [ "Profile Attribute Criteria" ], "summary": "Get profile attribute criteria", "description": "Gets the profile attribute based criteria with the given ID.", "operationId": "getCriteriaProfileAttribute", "responses": { "200": { "description": "Successful request with criteria resource in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "$ref": "#/components/schemas/CriteriaProfileAttribute" }, "examples": { "CriteriaProfileAttributeResponse": { "$ref": "#/components/examples/CriteriaProfileAttributeResponse" } } } } } } }, "put": { "tags": [ "Profile Attribute Criteria" ], "summary": "Edit profile attribute criteria", "description": "Updates the profile attribute based criteria with new settings and configuration as specified and returns the updated criteria definition.", "operationId": "updateCriteriaProfileAttribute", "requestBody": { "$ref": "#/components/requestBodies/CriteriaProfileAttribute" }, "responses": { "200": { "description": "Successful request with updated criteria resource in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "$ref": "#/components/schemas/CriteriaProfileAttribute" }, "examples": { "CriteriaProfileAttributeResponse": { "$ref": "#/components/examples/CriteriaProfileAttributeResponse" } } } } } } }, "delete": { "tags": [ "Profile Attribute Criteria" ], "summary": "Delete profile attribute criteria", "description": "Deletes the profile attribute based criteria referenced by the given ID.", "operationId": "deleteCriteriaProfileAttribute", "responses": { "200": { "description": "Successful request with deleted criteria resource in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "$ref": "#/components/schemas/CriteriaProfileAttribute" }, "examples": { "CriteriaProfileAttributeResponse": { "$ref": "#/components/examples/CriteriaProfileAttributeResponse" } } } } } } }, "parameters": [ { "$ref": "#/components/parameters/id" } ] }, "/criteria/recent": { "get": { "tags": [ "Recent Criteria" ], "summary": "List recent criteria", "description": "Gets all available recent view based criteria.", "operationId": "getAllCriteriaRecent", "parameters": [ { "$ref": "#/components/parameters/offset" }, { "$ref": "#/components/parameters/limit" } ], "responses": { "200": { "description": "Successful request with list of recent criteria resources in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "type": "object", "properties": { "offset": { "$ref": "#/components/schemas/offset" }, "limit": { "$ref": "#/components/schemas/limit" }, "total": { "$ref": "#/components/schemas/total" }, "list": { "type": "array", "items": { "$ref": "#/components/schemas/CriteriaRecent" }, "description": "List of recent criteria objects." } } }, "examples": { "CriteriaRecentListResponse": { "$ref": "#/components/examples/CriteriaRecentListResponse" } } } } } } }, "post": { "tags": [ "Recent Criteria" ], "summary": "Create recent criteria", "description": "Creates a new recent view based criteria as specified by the settings and configuration provided and returns the newly created criteria definition.", "operationId": "createCriteriaRecent", "requestBody": { "$ref": "#/components/requestBodies/CriteriaRecent" }, "responses": { "201": { "description": "Criteria resource created with resource definition in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "$ref": "#/components/schemas/CriteriaRecent" }, "examples": { "CriteriaRecentResponse": { "$ref": "#/components/examples/CriteriaRecentResponse" } } } } } } } }, "/criteria/recent/{id}": { "get": { "tags": [ "Recent Criteria" ], "summary": "Get recent criteria", "description": "Gets the recent criteria with the given ID.", "operationId": "getCriteriaRecent", "responses": { "200": { "description": "Successful request with criteria resource in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "$ref": "#/components/schemas/CriteriaRecent" }, "examples": { "CriteriaRecentResponse": { "$ref": "#/components/examples/CriteriaRecentResponse" } } } } } } }, "put": { "tags": [ "Recent Criteria" ], "summary": "Edit recent criteria", "description": "Updates the recent criteria with new settings and configuration as specified and returns the updated criteria definition.", "operationId": "updateCriteriaRecent", "requestBody": { "$ref": "#/components/requestBodies/CriteriaRecent" }, "responses": { "200": { "description": "Successful request with updated criteria resource in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "$ref": "#/components/schemas/CriteriaRecent" }, "examples": { "CriteriaRecentResponse": { "$ref": "#/components/examples/CriteriaRecentResponse" } } } } } } }, "delete": { "tags": [ "Recent Criteria" ], "summary": "Delete recent criteria", "description": "Deletes the recent view based criteria referenced by the given ID.", "operationId": "deleteCriteriaRecent", "responses": { "200": { "description": "Successful request with deleted criteria resource in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "$ref": "#/components/schemas/CriteriaRecent" }, "examples": { "CriteriaRecentResponse": { "$ref": "#/components/examples/CriteriaRecentResponse" } } } } } } }, "parameters": [ { "$ref": "#/components/parameters/id" } ] }, "/criteria/sequence": { "get": { "tags": [ "Sequence Criteria" ], "summary": "List sequence criteria", "description": "Gets all available sequence criteria.", "operationId": "getAllCriteriaSequence", "parameters": [ { "$ref": "#/components/parameters/offset" }, { "$ref": "#/components/parameters/limit" } ], "responses": { "200": { "description": "Successful request with list of sequence criteria resources in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "type": "object", "properties": { "offset": { "$ref": "#/components/schemas/offset" }, "limit": { "$ref": "#/components/schemas/limit" }, "total": { "$ref": "#/components/schemas/total" }, "list": { "type": "array", "items": { "$ref": "#/components/schemas/CriteriaSequence" }, "description": "List of sequence criteria objects." } } }, "examples": { "CriteriaSequenceListResponse": { "$ref": "#/components/examples/CriteriaSequenceListResponse" } } } } } } }, "post": { "tags": [ "Sequence Criteria" ], "summary": "Create sequence criteria", "description": "Creates a new sequence criteria as specified by the settings, and single criteria IDs provided and returns the newly created criteria definition.", "operationId": "createCriteriaSequence", "requestBody": { "$ref": "#/components/requestBodies/CriteriaSequence" }, "responses": { "201": { "description": "Criteria resource created with resource definition in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "$ref": "#/components/schemas/CriteriaSequence" }, "examples": { "CriteriaSequenceResponse": { "$ref": "#/components/examples/CriteriaSequenceResponse" } } } } } } } }, "/criteria/sequence/{id}": { "get": { "tags": [ "Sequence Criteria" ], "summary": "Get sequence criteria", "description": "Gets the sequence criteria with the given ID.", "operationId": "getCriteriaSequence", "responses": { "200": { "description": "Successful request with criteria resource in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "$ref": "#/components/schemas/CriteriaSequence" }, "examples": { "CriteriaSequenceResponse": { "$ref": "#/components/examples/CriteriaSequenceResponse" } } } } } } }, "put": { "tags": [ "Sequence Criteria" ], "summary": "Edit sequence criteria", "description": "Updates the sequence criteria with new settings and new single criteria IDs as specified and returns the updated criteria definition.", "operationId": "updateCriteriaSequence", "requestBody": { "$ref": "#/components/requestBodies/CriteriaSequence" }, "responses": { "200": { "description": "Successful request with updated criteria resource in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "$ref": "#/components/schemas/CriteriaSequence" }, "examples": { "CriteriaSequenceResponse": { "$ref": "#/components/examples/CriteriaSequenceResponse" } } } } } } }, "delete": { "tags": [ "Sequence Criteria" ], "summary": "Delete sequence criteria", "description": "Deletes the sequence criteria referenced by the given ID.", "operationId": "deleteCriteriaSequence", "responses": { "200": { "description": "Successful request with deleted criteria resource in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "$ref": "#/components/schemas/CriteriaSequence" }, "examples": { "CriteriaSequenceResponse": { "$ref": "#/components/examples/CriteriaSequenceResponse" } } } } } } }, "parameters": [ { "$ref": "#/components/parameters/id" } ] }, "/criteria/userhistory": { "get": { "tags": [ "User History Criteria" ], "summary": "List user history criteria", "description": "Gets all available user history based criteria.", "operationId": "getAllCriteriaUserHistory", "parameters": [ { "$ref": "#/components/parameters/offset" }, { "$ref": "#/components/parameters/limit" } ], "responses": { "200": { "description": "Successful request with list of user history criteria resources in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "type": "object", "properties": { "offset": { "$ref": "#/components/schemas/offset" }, "limit": { "$ref": "#/components/schemas/limit" }, "total": { "$ref": "#/components/schemas/total" }, "list": { "type": "array", "items": { "$ref": "#/components/schemas/CriteriaUserHistory" }, "description": "List of user history criteria objects." } } }, "examples": { "CriteriaUserHistoryListResponse": { "$ref": "#/components/examples/CriteriaUserHistoryListResponse" } } } } } } }, "post": { "tags": [ "User History Criteria" ], "summary": "Create user history criteria", "description": "Creates a new user history based criteria as specified in the request payload and returns the newly created user history definition.", "operationId": "createCriteriaUserHistory", "requestBody": { "$ref": "#/components/requestBodies/CriteriaUserHistory" }, "responses": { "201": { "description": "Criteria resource created with resource definition in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "$ref": "#/components/schemas/CriteriaUserHistory" }, "examples": { "CriteriaUserHistoryResponse": { "$ref": "#/components/examples/CriteriaUserHistoryResponse" } } } } } } } }, "/criteria/userhistory/{id}": { "get": { "tags": [ "User History Criteria" ], "summary": "Get user history criteria", "description": "Gets the user history based criteria with the given ID.", "operationId": "getCriteriaUserHistory", "responses": { "200": { "description": "Successful request with criteria resource in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "$ref": "#/components/schemas/CriteriaUserHistory" }, "examples": { "CriteriaUserHistoryResponse": { "$ref": "#/components/examples/CriteriaUserHistoryResponse" } } } } } } }, "put": { "tags": [ "User History Criteria" ], "summary": "Edit user history criteria", "description": "Updates the user history based criteria with new data as specified in request payload and returns the updated criteria definition.", "operationId": "updateCriteriaUserHistory", "requestBody": { "$ref": "#/components/requestBodies/CriteriaUserHistory" }, "responses": { "200": { "description": "Successful request with updated criteria resource in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "$ref": "#/components/schemas/CriteriaUserHistory" }, "examples": { "CriteriaUserHistoryResponse": { "$ref": "#/components/examples/CriteriaUserHistoryResponse" } } } } } } }, "delete": { "tags": [ "User History Criteria" ], "summary": "Delete user history criteria", "description": "Deletes the user history based criteria referenced by the given ID.", "operationId": "deleteCriteriaUserHistory", "responses": { "200": { "description": "Successful request with deleted criteria resource in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "$ref": "#/components/schemas/CriteriaUserHistory" }, "examples": { "CriteriaCategoryResponse": { "$ref": "#/components/examples/CriteriaUserHistoryResponse" } } } } } } }, "parameters": [ { "$ref": "#/components/parameters/id" } ] }, "/designs": { "get": { "tags": [ "Designs" ], "summary": "List designs", "description": "Gets all available designs.", "operationId": "getDesigns", "parameters": [ { "$ref": "#/components/parameters/offset" }, { "$ref": "#/components/parameters/limit" }, { "$ref": "#/components/parameters/includeScript" }, { "$ref": "#/components/parameters/orderby" }, { "$ref": "#/components/parameters/name" } ], "responses": { "200": { "description": "Successful request with list of design resources in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "type": "object", "properties": { "offset": { "$ref": "#/components/schemas/offset" }, "limit": { "$ref": "#/components/schemas/limit" }, "total": { "$ref": "#/components/schemas/total" }, "list": { "type": "array", "items": { "$ref": "#/components/schemas/Design" }, "description": "List of design objects." } } }, "examples": { "DesignsResponse": { "$ref": "#/components/examples/DesignsResponse" } } } } } } }, "post": { "tags": [ "Designs" ], "summary": "Create a design", "description": "Creates a new design as specified by the script provided and returns the newly created design definition.", "operationId": "createDesign", "requestBody": { "$ref": "#/components/requestBodies/Design" }, "responses": { "201": { "description": "Design resource created with resource definition in response", "content": { "application/vnd.adobe.target.v1+json": { "schema": { "$ref": "#/components/schemas/Design" }, "examples": { "DesignResponse": { "$ref": "#/components/examples/DesignResponse" } } } } } } } }, "/designs/{id}": { "get": { "tags": [ "Designs" ], "summary": "Get design", "description": "Gets the design with the given ID.", "operationId": "getDesign", "parameters": [ { "$ref": "#/components/parameters/includeScript" } ], "responses": { "200": { "description": "Successful request with design resource in response", "content": { "application/vnd.adobe.target.v1+json": { "schema": { "$ref": "#/components/schemas/Design" }, "examples": { "DesignResponse": { "$ref": "#/components/examples/DesignResponse" } } } } } } }, "put": { "tags": [ "Designs" ], "summary": "Edit design", "description": "Updates the design with new name and/or new script as specified and returns the updated design definition.", "operationId": "updateDesign", "requestBody": { "$ref": "#/components/requestBodies/Design" }, "parameters": [ { "$ref": "#/components/parameters/includeScript" } ], "responses": { "200": { "description": "Successful request with updated design resource in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "$ref": "#/components/schemas/Design" }, "examples": { "DesignResponse": { "$ref": "#/components/examples/DesignResponse" } } } } } } }, "delete": { "tags": [ "Designs" ], "summary": "Delete design", "description": "Deletes the design referenced by the given ID.", "operationId": "deleteDesign", "responses": { "200": { "description": "Successful request with deleted design resource in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "$ref": "#/components/schemas/Design" }, "examples": { "DesignResponse": { "$ref": "#/components/examples/DesignResponse" } } } } } } }, "parameters": [ { "$ref": "#/components/parameters/id" } ] }, "/designs/validate": { "post": { "tags": [ "Designs" ], "summary": "Validate design", "description": "Validates a design by verifying the correctness of the script. If its correct, it returns number of entity objects used\nin the script; otherwise it returns the validation error.\n\n_Note this POST request does not create any resource. The endpoint is not a resource but rather it is simply a method to\nvalidate the design in request payload._.\n", "operationId": "validateDesign", "requestBody": { "$ref": "#/components/requestBodies/Design" }, "responses": { "200": { "description": "Design resource validated with validation result in response", "content": { "application/vnd.adobe.target.v1+json": { "schema": { "$ref": "#/components/schemas/DesignValidationResult" }, "examples": { "DesignValidationResultResponse": { "$ref": "#/components/examples/DesignValidationResultResponse" } } } } } } } }, "/entities": { "post": { "tags": [ "Entities" ], "summary": "Save entities", "description": "Creates entities, updates if present, with the given entity details and returns the numbers of entities rejected, and\ncreated or updated. Entities can be rejected if entity details do not conform to the schema.\n[More info](https://docs.adobe.com/content/help/en/target/using/recommendations/entities/entity-attributes.html).\n\n_Note this POST request does not create a singular resource. The endpoint is not a resource but rather it is simply a\nmethod to save multiple entities specified in request payload._\n", "operationId": "saveEntities", "requestBody": { "$ref": "#/components/requestBodies/EntityBatch" }, "responses": { "200": { "description": "Successful request with entity batch update result in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "$ref": "#/components/schemas/EntityBatchUpdateResult" }, "examples": { "EntityBatchUpdateResult": { "$ref": "#/components/examples/EntityBatchUpdateResult" } } } } } } }, "delete": { "tags": [ "Entities" ], "summary": "Delete entities", "description": "Deletes entities referenced by the given IDs. **If no ID is given, all entities in the given environment are deleted.\nIf no environment ID is given, entities will be deleted from all environments. Use this with caution!**\n\n_Note this DELETE request does not delete a singular resource. The endpoint is not a resource but rather it is simply a\nmethod to delete multiple entities specified in request payload._\n", "operationId": "deleteEntities", "parameters": [ { "name": "ids", "in": "query", "required": false, "schema": { "type": "array", "items": { "type": "string", "maxLength": 1000 } }, "description": "List of entity IDs. If not set, all entities will be deleted." }, { "name": "environment", "in": "query", "required": false, "schema": { "type": "number", "format": "double" }, "description": "ID of an environment. If not set, entities will be deleted from all environments." } ], "responses": { "200": { "description": "Successful request with entity batch delete result in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "$ref": "#/components/schemas/EntityBatchDeleteResult" }, "examples": { "EntityResponse": { "$ref": "#/components/examples/EntityBatchDeleteResult" } } } } } } } }, "/entities/{id}": { "get": { "tags": [ "Entities" ], "summary": "Get entity", "description": "Gets entity with the given ID from default environment. To retrieve entity from a specific environment, `environmentId` request parameter can be used.", "operationId": "getEntity", "parameters": [ { "$ref": "#/components/parameters/environmentId" } ], "responses": { "200": { "description": "Successful request with entity resource in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "$ref": "#/components/schemas/Entity" }, "examples": { "EntityResponse": { "$ref": "#/components/examples/EntityResponse" } } } } } } }, "parameters": [ { "$ref": "#/components/parameters/entityId" } ] }, "/catalogsearch": { "post": { "tags": [ "Searching Entities" ], "summary": "Search Catalog Entities", "description": "Searches across all the entities in a given client and environment based on provided match criteria.\n\n_Note this POST request does not create any resource. The endpoint is not a resource but rather it is simply a\nmethod for searching._\n", "operationId": "search", "requestBody": { "$ref": "#/components/requestBodies/Search" }, "responses": { "200": { "description": "Successful search response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "$ref": "#/components/schemas/SearchResult" }, "examples": { "SearchResponse": { "$ref": "#/components/examples/SearchResponse" } } } } } } } }, "/promotions": { "get": { "tags": [ "Promotions" ], "summary": "List promotions", "description": "List all available promotions.", "operationId": "getPromotions", "parameters": [ { "$ref": "#/components/parameters/offset" }, { "$ref": "#/components/parameters/limit" } ], "responses": { "200": { "description": "Successful request with list of promotion resources in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "type": "object", "properties": { "offset": { "$ref": "#/components/schemas/offset" }, "limit": { "$ref": "#/components/schemas/limit" }, "total": { "$ref": "#/components/schemas/total" }, "list": { "type": "array", "items": { "$ref": "#/components/schemas/Promotion" }, "description": "List of promotion objects." } } }, "examples": { "PromotionsResponse": { "$ref": "#/components/examples/PromotionsResponse" } } } } } } }, "post": { "tags": [ "Promotions" ], "summary": "Create promotion", "description": "Creates a new promotion as specified by the settings and configuration provided and returns the newly created promotion definition.", "operationId": "createPromotion", "requestBody": { "$ref": "#/components/requestBodies/Promotion" }, "responses": { "201": { "description": "Promotion resource created with resource definition in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "$ref": "#/components/schemas/Promotion" }, "examples": { "PromotionResponse": { "$ref": "#/components/examples/PromotionResponse" } } } } } } } }, "/promotions/{id}": { "get": { "tags": [ "Promotions" ], "summary": "Get promotion", "description": "Gets the promotion with the given ID.", "operationId": "getPromotion", "responses": { "200": { "description": "Successful request with promotion resource in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "$ref": "#/components/schemas/Promotion" }, "examples": { "PromotionResponse": { "$ref": "#/components/examples/PromotionResponse" } } } } } } }, "put": { "tags": [ "Promotions" ], "summary": "Edit promotion", "description": "Updates the promotion with the new settings and configuration as specified and return the updated promotion definition.", "operationId": "updatePromotion", "requestBody": { "$ref": "#/components/requestBodies/Promotion" }, "responses": { "200": { "description": "Successful request with updated promotion resource in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "$ref": "#/components/schemas/Promotion" }, "examples": { "PromotionResponse": { "$ref": "#/components/examples/PromotionResponse" } } } } } } }, "delete": { "tags": [ "Promotions" ], "summary": "Delete promotion", "description": "Deletes the promotion referenced by the given ID.", "operationId": "deletePromotion", "responses": { "200": { "description": "Successful request with deleted promotion resource in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "$ref": "#/components/schemas/Promotion" }, "examples": { "PromotionResponse": { "$ref": "#/components/examples/PromotionResponse" } } } } } } }, "parameters": [ { "$ref": "#/components/parameters/id" } ] }, "/exclusions": { "get": { "tags": [ "Exclusions" ], "summary": "List exclusions", "description": "Gets all available exclusions.", "operationId": "getExclusions", "parameters": [ { "$ref": "#/components/parameters/offset" }, { "$ref": "#/components/parameters/limit" }, { "$ref": "#/components/parameters/orderby" }, { "$ref": "#/components/parameters/name" } ], "responses": { "200": { "description": "Successful request with list of exclusion resources in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "type": "object", "properties": { "offset": { "$ref": "#/components/schemas/offset" }, "limit": { "$ref": "#/components/schemas/limit" }, "total": { "$ref": "#/components/schemas/total" }, "list": { "type": "array", "items": { "$ref": "#/components/schemas/Exclusion" }, "description": "List of exclusion objects." } } }, "examples": { "ExclusionsResponse": { "$ref": "#/components/examples/ExclusionsResponse" } } } } } } }, "post": { "tags": [ "Exclusions" ], "summary": "Create exclusion", "description": "Creates a new exclusion as specified by the rule provided and returns the newly created exclusion definition.", "operationId": "createExclusion", "requestBody": { "$ref": "#/components/requestBodies/Exclusion" }, "responses": { "201": { "description": "Exclusion resource created with resource definition in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "$ref": "#/components/schemas/Exclusion" }, "examples": { "ExclusionResponse": { "$ref": "#/components/examples/ExclusionResponse" } } } } } } } }, "/exclusions/{id}": { "get": { "tags": [ "Exclusions" ], "parameters": [ { "$ref": "#/components/parameters/id" } ], "summary": "Get exclusion", "description": "Gets the exclusion with the given ID.", "operationId": "getExclusion", "responses": { "200": { "description": "Successful request with exclusion resource in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "$ref": "#/components/schemas/Exclusion" }, "examples": { "ExclusionResponse": { "$ref": "#/components/examples/ExclusionResponse" } } } } } } }, "put": { "tags": [ "Exclusions" ], "summary": "Edit exclusion", "description": "Updates the exclusion with new name, description and/or new rule as specified and returns the updated exclusion definition.", "operationId": "updateExclusion", "requestBody": { "$ref": "#/components/requestBodies/Exclusion" }, "responses": { "200": { "description": "Successful request with updated exclusion resource in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "$ref": "#/components/schemas/Exclusion" }, "examples": { "ExclusionResponse": { "$ref": "#/components/examples/ExclusionResponse" } } } } } } }, "delete": { "tags": [ "Exclusions" ], "summary": "Delete exclusion", "description": "Deletes the exclusion referenced by the given ID.", "operationId": "deleteExclusion", "responses": { "200": { "description": "Successful request with deleted exclusion resource in response", "content": { "application/vnd.adobe.target.v1+json;charset=UTF-8": { "schema": { "$ref": "#/components/schemas/Exclusion" }, "examples": { "ExclusionResponse": { "$ref": "#/components/examples/ExclusionResponse" } } } } } } }, "parameters": [ { "$ref": "#/components/parameters/id" } ] } }, "components": { "schemas": { "ErrorMessage": { "type": "object", "properties": { "key": { "type": "string" }, "keyArguments": { "type": "array", "items": { "type": "string" } }, "text": { "type": "string" } } }, "FtpFeedConnectionType": { "type": "object", "properties": { "SERVER": { "type": "string" }, "USERNAME": { "type": "string" }, "PASSWORD": { "type": "string" }, "FILENAME": { "type": "string" }, "DIRECTORY": { "type": "string" } }, "required": [ "SERVER", "USERNAME", "PASSWORD", "FILENAME", "DIRECTORY" ], "description": "FTP connection details of the feed." }, "AlgorithmRankingRule": { "type": "object", "properties": { "matcher": { "$ref": "#/components/schemas/Matcher" }, "weighting": { "type": "integer", "format": "int32", "minimum": 0, "maximum": 4 } } }, "BasicMatcher": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "string", "maxLength": 250 }, "minItems": 1, "maxItems": 1000 } } }, "InclusionMatcher": { "type": "object", "properties": { "attribute": { "type": "string", "maxLength": 100 }, "highRange": { "type": "string" }, "lowRange": { "type": "string" }, "operation": { "type": "string" }, "source": { "$ref": "#/components/schemas/SourceAttribute" }, "values": { "type": "array", "items": { "type": "string", "maxLength": 250 }, "minItems": 1, "maxItems": 1000 } }, "required": [ "attribute", "operation" ] }, "Matcher": { "type": "object", "properties": { "attribute": { "type": "string", "maxLength": 100 }, "operation": { "type": "string" }, "source": { "$ref": "#/components/schemas/SourceAttribute" }, "values": { "type": "array", "items": { "type": "string", "maxLength": 250 }, "minItems": 1, "maxItems": 1000 } }, "required": [ "attribute", "operation" ] }, "SourceAttribute": { "type": "object", "properties": { "defaultValue": { "type": "string" }, "excludeAllWhenEmpty": { "type": "boolean" }, "name": { "type": "string" }, "type": { "type": "string" } }, "required": [ "name", "type" ] }, "UrlFeedConnectionType": { "type": "object", "properties": { "URL": { "type": "string" } }, "required": [ "URL" ], "description": "HTTP location of the feed." }, "limit": { "type": "integer", "format": "int32", "description": "Number of resources shown in the response." }, "offset": { "type": "integer", "format": "int32", "description": "Number of resources skipped from start in the server list and omitted in response." }, "total": { "type": "integer", "format": "int32", "description": "Number of resources returned in the response." }, "CollectionMin": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64", "readOnly": true }, "name": { "type": "string", "maxLength": 250, "description": "Unique name of the collection." }, "description": { "type": "string", "maxLength": 1000 }, "lastModifiersEmail": { "type": "string", "readOnly": true }, "lastModifiersName": { "type": "string", "readOnly": true }, "lastModified": { "type": "string", "format": "date-time", "description": "The time in UTC when the collection was last modified.", "readOnly": true } }, "required": [ "name" ] }, "Collection": { "allOf": [ { "$ref": "#/components/schemas/CollectionMin" }, { "type": "object", "properties": { "rules": { "type": "array", "items": { "$ref": "#/components/schemas/BasicMatcher" }, "minItems": 1, "maxItems": 1000, "description": "Array of rules containing attribute : operation pairs.\n\nThe attribute is any valid entity attribute. It is a required field and it should not be more than 100 characters.\n\nThe operation is a pair of operator and operand values. The operator can be one of:\n - Numeric operators: `greaterOrEquals`, `lesserOrEquals`\n - String operators: `startsWith`, `endsWith`, `contains`, `doesNotContain`\n - Alphanumeric operators: `equals`, `notEquals`, `valueIsPresent`, `valueIsNotPresent`\n\nThe other part of operation, operand values, is an array of values. Each value cannot be more than 250 characters.\nThere must be atleast 1 value and no more than 1000 values. Operand values are not required when operator is\neither `valueIsPresent` or `valueIsNotPresent`. Numeric operators accept integer or floating point operand values.\n" } }, "required": [ "rules" ] } ] }, "CriteriaMin": { "type": "object", "properties": { "criteriaGroup": { "type": "string", "readOnly": true }, "criteriaTitle": { "type": "string", "maxLength": 250, "description": "Displayed in the design using variable `$criteria.title`." }, "id": { "type": "integer", "format": "int64", "readOnly": true }, "name": { "type": "string", "maxLength": 250, "description": "Unique name of the criteria." }, "description": { "type": "string", "maxLength": 1000 }, "lastModifiersName": { "type": "string", "readOnly": true }, "lastModifiersEmail": { "type": "string", "readOnly": true }, "lastModified": { "type": "string", "readOnly": true, "format": "date-time", "description": "The time in UTC when the criteria was last modified." } }, "required": [ "name" ] }, "CriteriaPriceRange": { "type": "object", "properties": { "max": { "type": "number", "format": "double" }, "min": { "type": "number", "format": "double" } }, "description": "Price rule filter for items to be considered in recommendations." }, "CriteriaCartConfiguration": { "type": "object", "properties": { "inclusionRules": { "type": "array", "items": { "$ref": "#/components/schemas/InclusionMatcher" }, "maxItems": 1000, "description": "Filtering rules to narrow the items to be displayed as recommendations. Inclusion rules are conjunctive and all rules\nmust be met to include an item in a recommendation. [More info](https://marketing.adobe.com/resources/help/en_US/target/recs/t_create_new_algorithm.html).\n" }, "inclusionRulesKey": { "type": "string", "enum": [ "CURRENT", "LAST_VIEWED", "LAST_PURCHASED", "MOST_VIEWED", "^(profile\\.|user\\.).+" ], "description": "Used for dynamic inclusion rules. Depending on the value either entity attribute matching or profile attribute matching is configured.\n[More info](https://docs.adobe.com/content/help/en/target/using/recommendations/criteria/use-dynamic-and-static-inclusion-rules.html#dynamic-filtering)].\n" }, "priceRange": { "$ref": "#/components/schemas/CriteriaPriceRange" }, "datasource": { "type": "string", "default": "mboxes", "description": "Behavioral data source can either be `mboxes` or a valid Analytics report report suite. A report suite can not be used when type is `SIMILARITY`.\n" } } }, "CriteriaCart": { "allOf": [ { "$ref": "#/components/schemas/CriteriaMin" }, { "type": "object", "properties": { "criteriaGroup": { "type": "string", "enum": [ "CART" ], "readOnly": true }, "backupDisabled": { "type": "boolean", "default": false, "description": "Whether backup recommendations are disabled when criteria does not generate enough recommendations." }, "backupInclusionFilteringEnabled": { "type": "boolean", "default": true, "description": "Whether inclusion rules on the criteria should be applied to backup recommendations." }, "configuration": { "$ref": "#/components/schemas/CriteriaCartConfiguration" }, "daysCount": { "type": "string", "enum": [ "ONE_DAY", "TWO_DAYS", "ONE_WEEK", "TWO_WEEKS", "ONE_MONTH", "TWO_MONTHS" ], "description": "Time range of historical visitor behavioral data to consider for generating recommendations." }, "excludePurchases": { "type": "boolean", "default": false, "description": "Whether items that were previously purchased by the visitor should be excluded in recommendations." }, "minInventory": { "type": "integer", "format": "int32", "minimum": 0, "description": "Minimum number of pieces needed in stock for an item to be considered for recommendaton." }, "partialDesignAllowed": { "type": "boolean", "default": false, "description": "Whether design be shown when the number of recommendations are less than item slots in the design." }, "modelActionSettings": { "type": "object", "properties": { "actionOnKeyItems": { "type": "string", "enum": [ "PURCHASE", "VIEW" ], "description": "Which visitor behavior event to take into considerations for key items." }, "actionOnRecommendedItems": { "type": "string", "enum": [ "PURCHASE", "VIEW" ], "description": "Which visitor behavior event to take into considerations for recommended items.\n`VIEW` is invalid if actionOnKeyItems is `PURCHASE`.\n" }, "basisForCoOccurrence": { "type": "string", "enum": [ "SESSION", "USER" ], "description": "Coocurrence Basis. Values:\n\n- `SESSION`: each individual session will be consumed separately.\n- `USER`: all user sessions will be aggregated at user level.\n" } } } }, "required": [ "daysCount" ] } ] }, "CriteriaConfiguration": { "type": "object", "properties": { "inclusionRules": { "type": "array", "items": { "$ref": "#/components/schemas/InclusionMatcher" }, "maxItems": 1000, "description": "Filtering rules to narrow the items to be displayed as recommendations. Inclusion rules are conjunctive and all rules\nmust be met to include an item in a recommendation. [More info](https://marketing.adobe.com/resources/help/en_US/target/recs/t_create_new_algorithm.html).\n" }, "priceRange": { "$ref": "#/components/schemas/CriteriaPriceRange" }, "rankingRules": { "type": "array", "items": { "$ref": "#/components/schemas/AlgorithmRankingRule" }, "maxItems": 1000, "description": "Rules for attribute weighting. Attribute weighting can be used to \"nudge\" the algorithm so certain items are more\nlikely to be shown. [More info](https://marketing.adobe.com/resources/help/en_US/target/recs/t_create_new_algorithm.html).\n" } }, "description": "Object containing inclusion rules, attribute weighting, price filter, and some more configuration options specific to the criteria group." }, "CriteriaCategoryConfiguration": { "allOf": [ { "$ref": "#/components/schemas/CriteriaConfiguration" }, { "type": "object", "properties": { "pastBehaviorOrdinal": { "type": "integer", "format": "int32" } } } ] }, "CriteriaCategory": { "allOf": [ { "$ref": "#/components/schemas/CriteriaMin" }, { "type": "object", "properties": { "aggregation": { "type": "string", "enum": [ "NONE", "AGGREGATE", "ALL_OR_NOTHING" ], "default": "NONE", "description": "Whether recommendations should be shown solely based on the key (`NONE`) or visitor's behavioral history with\nrespect to the key (`AGGREGATE`, `ALL_OR_NOTHING`).\n - `NONE` implies no aggregation, to only show recommendations for the given key.\n - `AGGREGATE` begins with recommendations for the given key, favorite category in this instance, then continues\n to next favorite of visitor's favorite categories until the design is filled.\n - `ALL_OR_NOTHING` is similar to aggregation but the aggregation only happens if the given key, favorite\n category in this instance, has enough recommendations to fill the design. If the key does not have enough\n recommendations, next favorite category in visitor's favorite categories is considered sequentially until the\n design is filled.\n\nIf the key is current category, only `NONE` is valid. For key as favorite category, all aggregation options are\navailable.\n" }, "backupDisabled": { "type": "boolean", "default": false, "description": "Whether backup recommendations are disabled when criteria does not generate enough recommendations." }, "backupInclusionFilteringEnabled": { "type": "boolean", "default": true, "description": "Whether inclusion rules on the criteria should be applied to backup recommendations." }, "configuration": { "$ref": "#/components/schemas/CriteriaCategoryConfiguration" }, "criteriaGroup": { "type": "string", "enum": [ "CATEGORY" ], "readOnly": true }, "daysCount": { "type": "string", "enum": [ "ONE_DAY", "TWO_DAYS", "ONE_WEEK", "TWO_WEEKS", "ONE_MONTH", "TWO_MONTHS" ], "description": "Time range of historical visitor behavioral data to consider for generating recommendations.\n\nThis field can not be used together with `hoursCount`\n" }, "hoursCount": { "type": "integer", "description": "Time range of historical visitor behavioral data to consider for generating recommendations.\n\nThis field can not be used together with `daysCount`. Only allowed value `6`\n" }, "enableCaching": { "type": "boolean", "default": false, "deprecated": true, "readOnly": true }, "excludePurchases": { "type": "boolean", "default": false, "description": "Whether items that were previously purchased by the visitor should be excluded from recommendations." }, "key": { "type": "string", "enum": [ "CURRENT", "FAVORITE" ], "description": "Recommendation key. Values:\n\n- `CURRENT`: The category of the currently viewed item.\n- `FAVORITE`: The category among visitor's categories with highest score. The recommendations are determined by\n the categories that have been most viewed. The score is determined by recency/frequency: 10 points for first\n category view, 5 points for every subsequent view.\n" }, "minInventory": { "type": "integer", "format": "int32", "minimum": 0, "description": "Minimum number of pieces needed in stock for an item to be considered for recommendaton." }, "partialDesignAllowed": { "type": "boolean", "default": false, "description": "Whether design be shown when the number of recommendations are less than item slots in the design." }, "type": { "type": "string", "enum": [ "BOUGHT", "VIEWED" ], "description": "Recommendation logic. Values:\n\n - `BOUGHT`: Top sold items.\n - `VIEWED`: Most viewed items.\n" } }, "required": [ "key", "type" ] } ] }, "CriteriaCustomConfiguration": { "allOf": [ { "$ref": "#/components/schemas/CriteriaConfiguration" }, { "type": "object", "properties": { "attribute": { "type": "string", "pattern": "^(profile\\.|user\\.).+", "description": "Applicable only when key is `PROFILE_ATTRIBUTE`. This is the profile attribute." }, "feed": { "type": "object", "properties": { "connection": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "url", "ftp" ], "description": "Protocol supported by the feed: HTTP or FTP" }, "attributes": { "oneOf": [ { "$ref": "#/components/schemas/UrlFeedConnectionType" }, { "$ref": "#/components/schemas/FtpFeedConnectionType" } ] } }, "required": [ "type", "attributes" ], "description": "Object containing feed connection details." }, "environmentId": { "type": "integer", "format": "int32", "description": "Identifier of a valid environment. Use `-1` for all environments." }, "scheduleTime": { "type": "string", "pattern": "^([0-1][0-9]|2[0-3]):([0-5][0-9])$", "description": "Scheduled time to run the feed. Format is `HH:mm`." }, "scheduleType": { "type": "string", "enum": [ "daily", "weekly", "biWeekly", "never" ], "description": "Feeds can be scheduled to be run at a given frequency." }, "uploadHistory": { "type": "array", "items": { "type": "object", "properties": { "status": { "type": "string", "enum": [ "SUCCESS", "UNKNOWN_ERROR", "PARSING_ERROR", "SERVER_NOT_FOUND", "CREDENTIALS_ERROR", "DIRECTORY_NOT_FOUND", "FILE_NOT_FOUND", "SAINT_REPORT_NOT_FOUND", "CLASSIFICATION_NOT_FOUND", "SCHEDULED", "DOWNLOADING_FEED_FILE", "IMPORTING", "FLUSHING_RESULTS", "FLUSH_FAILED" ] }, "message": { "type": "string" }, "date": { "type": "string", "format": "date-time" } } }, "required": [ "status", "message", "date" ], "readOnly": true, "description": "Feed upload history." } }, "required": [ "connection", "environmentId", "scheduleType" ] } }, "required": [ "feed" ] } ] }, "CriteriaCustom": { "allOf": [ { "$ref": "#/components/schemas/CriteriaMin" }, { "type": "object", "properties": { "backupDisabled": { "type": "boolean", "default": false, "description": "Whether backup recommendations are disabled when enough recommendations from CSV feed are not applicable in design." }, "backupInclusionFilteringEnabled": { "type": "boolean", "default": true, "description": "Whether inclusion rules on the criteria should be applied to backup recommendations." }, "configuration": { "$ref": "#/components/schemas/CriteriaCustomConfiguration" }, "criteriaGroup": { "type": "string", "enum": [ "CUSTOM" ], "readOnly": true }, "enableCaching": { "type": "boolean", "default": false, "deprecated": true, "readOnly": true }, "excludePurchases": { "type": "boolean", "default": false, "description": "Whether items that were previously purchased by the visitor should be excluded from recommendations." }, "key": { "type": "string", "enum": [ "CURRENT", "LAST_VIEWED", "LAST_PURCHASED", "MOST_VIEWED", "CURRENT_CATEGORY", "FAVORITE_CATEGORY", "PROFILE_ATTRIBUTE" ], "description": "Recommendation key. Values:\n\n- `CURRENT`: The currently viewed item.\n- `LAST_VIEWED`: The last viewed item.\n- `LAST_PURCHASED`: The last purchased item.\n- `MOST_VIEWED`: The most viewed item. The recommendations are determined by items that have been most viewed.\n The score is determined by recency/frequency: 10 points for first item view, 5 points for every subsequent view,\n all points are halved after the session ends.\n- `CURRENT_CATEGORY`: The category of the currently viewed item.\n- `FAVORITE_CATEGORY`: The category among visitor's categories with highest score. The recommendations are\n determined by the categories that have been most viewed. The score is determined by recency/frequency: 10 points\n for first category view, 5 points for every subsequent view.\n- `PROFILE_ATTRIBUTE`: Profile attribute.\n" }, "minInventory": { "type": "integer", "format": "int32", "minimum": 0, "description": "Minimum number of pieces needed in stock for an item to be considered for recommendaton." }, "partialDesignAllowed": { "type": "boolean", "default": false, "description": "Whether design be shown when the number of recommendations are less than item slots in the design." } }, "required": [ "key", "configuration" ] } ] }, "CriteriaItemConfiguration": { "allOf": [ { "$ref": "#/components/schemas/CriteriaConfiguration" }, { "type": "object", "properties": { "confidence": { "type": "string", "enum": [ "VERY_WEAK", "WEAK", "MODERATE", "STRONG", "VERY_STRONG" ], "description": "Applicable only when type is `SITE_AFFINITY`. This determines how much data (strong or weak affinity) is required before a recommendation is presented." }, "datasource": { "type": "string", "default": "mboxes", "description": "Behavioral data source can either be `mboxes` or a valid Analytics report report suite. A report suite can not be used when type is `SIMILARITY`." }, "minSimilarity": { "type": "number", "format": "double", "minimum": 0.1, "maximum": 0.98, "default": 0.4, "description": "Applicable only when type is `SIMILARITY`. This is the threshold of minimum similarity required for two entities to be deemed similar. Lower number implies products will be more similar. But lower the number, criteria execution is exponentially longer." }, "pastBehaviorOrdinal": { "type": "integer", "format": "int32" } } } ] }, "CriteriaItem": { "allOf": [ { "$ref": "#/components/schemas/CriteriaMin" }, { "type": "object", "properties": { "aggregation": { "type": "string", "enum": [ "NONE", "AGGREGATE", "ALL_OR_NOTHING" ], "default": "NONE", "description": "Whether recommendations should be shown solely based on the key (`NONE`) or visitor's behavioral history with\nrespect to the key (`AGGREGATE`, `ALL_OR_NOTHING`).\n\n - `NONE` implies no aggregation, to only show recommendations for the given key.\n - `AGGREGATE` begins with recommendations for the given key, last viewed item, for instance, then continues to\n next last viewed item by visitor until the design is filled.\n - `ALL_OR_NOTHING` is similar to aggregation but the aggregation only happens if the given key, last purchased\n item, for instance, has enough recommendations to fill the design. If the key does not have enough\n recommendations, second to last purchased item by visitor is considered and so forth until the design is\n filled.\n\nIf the key is `CURRENT`, only `NONE` is valid.\n" }, "backupDisabled": { "type": "boolean", "default": false, "description": "Whether backup recommendations are disabled when criteria does not generate enough recommendations." }, "backupInclusionFilteringEnabled": { "type": "boolean", "default": true, "description": "Whether inclusion rules on the criteria should be applied to backup recommendations." }, "configuration": { "$ref": "#/components/schemas/CriteriaItemConfiguration" }, "criteriaGroup": { "type": "string", "enum": [ "ITEM" ], "readOnly": true }, "daysCount": { "type": "string", "enum": [ "ONE_DAY", "TWO_DAYS", "ONE_WEEK", "TWO_WEEKS", "ONE_MONTH", "TWO_MONTHS" ], "description": "Time range of historical visitor behavioral data to consider for generating recommendations." }, "enableCaching": { "type": "boolean", "default": false, "deprecated": true, "readOnly": true }, "excludePurchases": { "type": "boolean", "default": false, "description": "Whether items that were previously purchased by the visitor should be excluded from recommendations." }, "key": { "type": "string", "enum": [ "CURRENT", "LAST_VIEWED", "LAST_PURCHASED", "MOST_VIEWED" ], "description": "Recommendation key. Values:\n\n- `CURRENT`: The currently viewed item.\n- `LAST_VIEWED`: The last viewed item.\n- `LAST_PURCHASED`: The last purchased item.\n- `MOST_VIEWED`: The most viewed item. The recommendations are determined by items that have been most viewed.\n The score is determined by recency/frequency: 10 points for first item view, 5 points for every subsequent view,\n all points are halved after the session ends.\n" }, "minInventory": { "type": "integer", "format": "int32", "minimum": 0, "description": "Minimum number of pieces needed in stock for an item to be considered for recommendaton." }, "partialDesignAllowed": { "type": "boolean", "default": false, "description": "Whether design be shown when the number of recommendations are less than item slots in the design." }, "type": { "type": "string", "enum": [ "VIEWED_BOUGHT", "BOUGHT_CF", "VIEWED_CF", "SITE_AFFINITY", "SIMILARITY" ], "description": "Recommendation logic. Values:\n\n - `VIEWED_BOUGHT`: People who viewed this, bought that.\n - `BOUGHT_CF`: People who bought this, bought that.\n - `VIEWED_CF`: People who viewed this, viewed that.\n - `SITE_AFFINITY`: Considers items based on the certainty of a relationship between items. Confidence setting is\n used to determine how much data (strong or weak affinity) is required before a recommendation is presented.\n - `SIMILARITY`: Considers items similar to items based on current page activity or past visitor behavior.\n" } }, "required": [ "configuration", "daysCount", "key", "type" ] } ] }, "CriteriaPopularityConfiguration": { "allOf": [ { "$ref": "#/components/schemas/CriteriaConfiguration" }, { "type": "object", "properties": { "datasource": { "type": "string", "default": "mboxes", "description": "Behavioral data source can either be `mboxes` or a valid report suite. If type is `METRIC`, this field is required and value must be a valid report suite." }, "grouping": { "type": "object", "properties": { "attributes": { "type": "array", "items": { "type": "string", "maxLength": 250, "pattern": "^(profile\\.|user\\.).+" }, "maxItems": 10, "description": "Array of profile attributes." }, "type": { "type": "string", "enum": [ "HIERARCHICAL", "SEQUENTIAL" ] } }, "description": "Not applicable for type `METRIC`. Grouping allows to narrow recommendations by profile attributes.", "required": [ "attributes", "type" ] }, "attribute": { "type": "string", "pattern": "^(profile\\.|user\\.).+", "description": "Applicable for type `SELLERS` or `VIEWED`. Required only for top sellers by custom profile attribute/most viewed by custom profile attribute\n(that is, when key is `customProfileAttribute`).\n\nThe custom profile attribute to be used as the basis for providing recommendations. The value should include the prefix `user.` or `profile.`.\n" }, "groupByEntityAttribute": { "type": "string", "description": "Applicable for type `SELLERS` or `VIEWED`. Required only for top sellers by custom profile attribute/most viewed by custom profile attribute\n(that is, when key is `customProfileAttribute`).\n\nThe entity attribute whose value will be matched to the custom profile attribute, in order to provide the list of\ntop sellers/most viewed items among those items with a matching attribute value. The value should **not** include the prefix `entity.`.\n" } } } ] }, "CriteriaPopularity": { "allOf": [ { "$ref": "#/components/schemas/CriteriaMin" }, { "type": "object", "properties": { "aggregation": { "type": "string", "enum": [ "NONE", "AGGREGATE", "ALL_OR_NOTHING" ], "default": "NONE", "description": "Whether recommendations should be shown solely based on the key (`NONE`) or visitor's behavioral history with\nrespect to the key (`AGGREGATE`, `ALL_OR_NOTHING`).\n - `NONE` implies no aggregation, to only show recommendations for the given key.\n - `AGGREGATE` begins with recommendations for the given key, top seller in this instance, then continues to next\n top seller until the design is filled.\n - `ALL_OR_NOTHING` is similar to aggregation but the aggregation only happens if the given key, most viewed item\n in this instance, has enough recommendations to fill the design. If the key does not have enough\n recommendations, next most viewed item is considered sequentially until the design is filled.\n" }, "backupDisabled": { "type": "boolean", "default": false, "description": "Whether backup recommendations are disabled when criteria does not generate enough recommendations." }, "backupInclusionFilteringEnabled": { "type": "boolean", "default": true, "description": "Whether inclusion rules on the criteria should be applied to backup recommendations." }, "configuration": { "$ref": "#/components/schemas/CriteriaPopularityConfiguration" }, "criteriaGroup": { "type": "string", "enum": [ "POPULARITY" ], "readOnly": true }, "daysCount": { "type": "string", "enum": [ "ONE_DAY", "TWO_DAYS", "ONE_WEEK", "TWO_WEEKS", "ONE_MONTH", "TWO_MONTHS" ], "description": "Time range of historical visitor behavioral data to consider for generating recommendations.\n\nThis field can not be used together with `hoursCount`\n" }, "hoursCount": { "type": "integer", "description": "Time range of historical visitor behavioral data to consider for generating recommendations.\n\nThis field can not be used together with `daysCount`. Only allowed value `6`\n" }, "enableCaching": { "type": "boolean", "default": false, "deprecated": true, "readOnly": true }, "excludePurchases": { "type": "boolean", "default": false, "description": "Whether items that were previously purchased by the visitor should be excluded from recommendations." }, "key": { "type": "string", "description": "Recommendation key. Values:\n - When type is `METRIC`, this is a required field. The value is the name of an Analytics report suite metric.\n - When type is `SELLERS` or `VIEWED`, this field is only used when creating a top sellers by custom profile attribute/most\n viewed by custom profile attribute criteria. When creating this criteria type, the value should be set to\n `customProfileAttribute` and the profile attribute is set in configuration.\n" }, "minInventory": { "type": "integer", "format": "int32", "minimum": 0, "description": "Minimum number of pieces needed in stock for an item to be considered for recommendaton." }, "partialDesignAllowed": { "type": "boolean", "default": false, "description": "Whether design be shown when the number of recommendations are less than item slots in the design." }, "type": { "type": "string", "enum": [ "SELLERS", "VIEWED", "METRIC" ], "description": "Recommendation logic. Values:\n\n - `SELLERS`: Top sellers.\n - `VIEWED`: Most viewed items.\n - `METRIC`: Considers Analytics product report suite for recommendations.\n" } }, "required": [ "type" ] } ] }, "CriteriaProfileAttributeConfiguration": { "allOf": [ { "$ref": "#/components/schemas/CriteriaConfiguration" }, { "type": "object", "properties": { "attribute": { "type": "string", "pattern": "^(profile\\.|user\\.).+", "description": "Profile attribute." }, "confidence": { "type": "string", "enum": [ "VERY_WEAK", "WEAK", "MODERATE", "STRONG", "VERY_STRONG" ], "description": "Applicable only when type is `SITE_AFFINITY`. This determines how much data (strong or weak affinity) is required before a recommendation is presented." }, "datasource": { "type": "string", "description": "Behavioral data source can either be `mboxes` or a valid Analytics report report suite." } }, "required": [ "attribute", "datasource" ] } ] }, "CriteriaProfileAttribute": { "allOf": [ { "$ref": "#/components/schemas/CriteriaMin" }, { "type": "object", "properties": { "aggregation": { "type": "string", "enum": [ "NONE", "AGGREGATE", "ALL_OR_NOTHING" ], "default": "NONE", "description": "Whether recommendations should be shown solely based on the key (`NONE`) or visitor's behavioral history with\nrespect to the key (`AGGREGATE`, `ALL_OR_NOTHING`).\n - `NONE` implies no aggregation, to only show recommendations for the given key.\n - `AGGREGATE` begins with recommendations for the given key, top seller in this instance, then continues to next\n top seller until the design is filled.\n - `ALL_OR_NOTHING` is similar to aggregation but the aggregation only happens if the given key, most viewed item\n in this instance, has enough recommendations to fill the design. If the key does not have enough\n recommendations, next most viewed item is considered sequentially until the design is filled.\n" }, "backupDisabled": { "type": "boolean", "default": false, "description": "Whether backup recommendations are disabled when criteria does not generate enough recommendations." }, "backupInclusionFilteringEnabled": { "type": "boolean", "default": true, "description": "Whether inclusion rules on the criteria should be applied to backup recommendations." }, "configuration": { "$ref": "#/components/schemas/CriteriaProfileAttributeConfiguration" }, "criteriaGroup": { "type": "string", "enum": [ "PROFILEATTRIBUTE" ], "readOnly": true }, "daysCount": { "type": "string", "enum": [ "ONE_DAY", "TWO_DAYS", "ONE_WEEK", "TWO_WEEKS", "ONE_MONTH", "TWO_MONTHS" ], "description": "Time range of historical visitor behavioral data to consider for generating recommendations." }, "enableCaching": { "type": "boolean", "default": false, "deprecated": true, "readOnly": true }, "excludePurchases": { "type": "boolean", "default": false, "description": "Whether items that were previously purchased by the visitor should be excluded from recommendations." }, "minInventory": { "type": "integer", "format": "int32", "minimum": 0, "description": "Minimum number of pieces needed in stock for an item to be considered for recommendaton." }, "partialDesignAllowed": { "type": "boolean", "default": false, "description": "Whether design be shown when the number of recommendations are less than item slots in the design." }, "superSlotCount": { "type": "integer", "format": "int32", "readOnly": true }, "type": { "type": "string", "enum": [ "VIEWED_BOUGHT", "BOUGHT_CF", "VIEWED_CF", "SITE_AFFINITY" ], "description": "Recommendation logic. Values:\n\n - `VIEWED_BOUGHT`: People who viewed this, bought that.\n - `BOUGHT_CF`: People who bought this, bought that.\n - `VIEWED_CF`: People who viewed this, viewed that.\n - `SITE_AFFINITY`: Considers items based on the certainty of a relationship between items. Confidence setting is\n used to determine how much data (strong or weak affinity) is required before a recommendation is presented.\n" } }, "required": [ "configuration", "daysCount", "type" ] } ] }, "CriteriaRecentConfiguration": { "allOf": [ { "$ref": "#/components/schemas/CriteriaConfiguration" } ] }, "CriteriaRecent": { "allOf": [ { "$ref": "#/components/schemas/CriteriaMin" }, { "type": "object", "properties": { "configuration": { "$ref": "#/components/schemas/CriteriaRecentConfiguration" }, "criteriaGroup": { "type": "string", "enum": [ "RECENT" ], "readOnly": true }, "minInventory": { "type": "integer", "format": "int32", "minimum": 0, "description": "Minimum number of pieces needed in stock for an item to be considered for recommendaton." }, "excludePurchases": { "type": "boolean", "default": false, "description": "Whether items that were previously purchased by the visitor should be excluded from recommendations." } } } ] }, "CriteriaSequence": { "allOf": [ { "$ref": "#/components/schemas/CriteriaMin" }, { "type": "object", "properties": { "criteriaGroup": { "type": "string", "enum": [ "SEQUENCE" ], "readOnly": true }, "backupDisabled": { "type": "boolean", "default": false, "description": "Whether backup recommendations are disabled when criteria does not generate enough recommendations." }, "backupInclusionFilteringEnabled": { "type": "boolean", "default": true, "description": "Whether inclusion rules on the criteria should be applied to backup recommendations." }, "partialDesignAllowed": { "type": "boolean", "default": false, "description": "Whether design be shown when the number of recommendations are less than item slots in the design." }, "sequence": { "type": "array", "minItems": 1, "maxItems": 5, "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64", "description": "ID of criteria in sequence." }, "slotCount": { "type": "integer", "format": "int64", "maximum": 100, "minimum": 1, "description": "Number of recommendations this criteria will return." } }, "required": [ "id" ] }, "description": "Criteria sequence represented by an array of criteria object IDs." } }, "required": [ "sequence" ] } ] }, "CriteriaMultiKeyConfiguration": { "type": "object", "properties": { "inclusionRules": { "type": "array", "items": { "$ref": "#/components/schemas/InclusionMatcher" }, "maxItems": 1000, "description": "Filtering rules to narrow the items to be displayed as recommendations. Inclusion rules are conjunctive and all rules\nmust be met to include an item in a recommendation. [More info](https://marketing.adobe.com/resources/help/en_US/target/recs/t_create_new_algorithm.html).\n" }, "inclusionRulesKey": { "type": "string", "enum": [ "CURRENT", "LAST_VIEWED", "LAST_PURCHASED", "MOST_VIEWED", "^(profile\\.|user\\.).+" ], "description": "Used for dynamic inclusion rules. Depending on the value either entity attribute matching or profile attribute matching is configured.\n[More info](https://docs.adobe.com/content/help/en/target/using/recommendations/criteria/use-dynamic-and-static-inclusion-rules.html#dynamic-filtering)].\n" }, "priceRange": { "$ref": "#/components/schemas/CriteriaPriceRange" }, "datasource": { "type": "string", "default": "mboxes", "description": "Behavioral data source can either be `mboxes` or a valid Analytics report report suite.\n" } } }, "CriteriaUserHistoryConfiguration": { "allOf": [ { "$ref": "#/components/schemas/CriteriaMultiKeyConfiguration" }, { "type": "object", "properties": { "inclusionRulesKey": { "type": "string", "enum": [ "CURRENT", "LAST_VIEWED", "LAST_PURCHASED", "MOST_VIEWED", "^(profile\\.|user\\.).+" ], "description": "Used for dynamic inclusion rules, i.e rules which use delivery time item to apply filtering.\n" }, "datasource": { "type": "string", "default": "mboxes", "description": "Behavioral data source can either be `mboxes` or a valid Analytics report report suite.\n" } } } ] }, "CriteriaUserHistory": { "allOf": [ { "$ref": "#/components/schemas/CriteriaMin" }, { "type": "object", "properties": { "criteriaGroup": { "type": "string", "enum": [ "USERHISTORY" ], "readOnly": true }, "backupDisabled": { "type": "boolean", "default": false, "description": "Whether backup recommendations are disabled when criteria does not generate enough recommendations." }, "backupInclusionFilteringEnabled": { "type": "boolean", "default": true, "description": "Whether inclusion rules on the criteria should be applied to backup recommendations." }, "configuration": { "$ref": "#/components/schemas/CriteriaUserHistoryConfiguration" }, "daysCount": { "type": "string", "enum": [ "ONE_DAY", "TWO_DAYS", "ONE_WEEK", "TWO_WEEKS", "ONE_MONTH", "TWO_MONTHS" ], "description": "Time range of historical visitor behavioral data to consider for generating recommendations." }, "excludePurchases": { "type": "boolean", "default": false, "description": "Whether items that were previously purchased by the visitor should be excluded from recommendations." }, "minInventory": { "type": "integer", "format": "int32", "minimum": 0, "description": "Minimum number of pieces needed in stock for an item to be considered for recommendaton." }, "partialDesignAllowed": { "type": "boolean", "default": false, "description": "Whether design be shown when the number of recommendations are less than item slots in the design." }, "excludeViews": { "type": "boolean", "default": false, "description": "Whether items that were previously viewed by the visitor should be excluded from recommendations." } }, "required": [ "daysCount" ] } ] }, "Criteria": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/CriteriaCart" }, { "$ref": "#/components/schemas/CriteriaCategory" }, { "$ref": "#/components/schemas/CriteriaCustom" }, { "$ref": "#/components/schemas/CriteriaItem" }, { "$ref": "#/components/schemas/CriteriaPopularity" }, { "$ref": "#/components/schemas/CriteriaProfileAttribute" }, { "$ref": "#/components/schemas/CriteriaRecent" }, { "$ref": "#/components/schemas/CriteriaSequence" }, { "$ref": "#/components/schemas/CriteriaUserHistory" } ], "discriminator": { "propertyName": "criteriaGroup", "mapping": { "CART": "#/components/schemas/CriteriaCart", "CATEGORY": "#/components/schemas/CriteriaCategory", "CUSTOM": "#/components/schemas/CriteriaCustom", "ITEM": "#/components/schemas/CriteriaItem", "POPULARITY": "#/components/schemas/CriteriaPopularity", "PROFILEATTRIBUTE": "#/components/schemas/CriteriaProfileAttribute", "RECENT": "#/components/schemas/CriteriaRecent", "SEQUENCE": "#/components/schemas/CriteriaSequence", "USERHISTORY": "#/components/schemas/CriteriaUserHistory" } } }, "Design": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 250, "description": "Unique name of the design." }, "id": { "type": "integer", "format": "int64", "readOnly": true }, "script": { "type": "string", "maxLength": 65000, "description": "Velocity template containing at least one entity object. Velocity Engine 1.7 is supported." }, "type": { "type": "string", "enum": [ "HTML", "JSON", "OTHER" ], "description": "The content type of the design script.", "default": "OTHER" }, "lastModifiersName": { "type": "string", "readOnly": true }, "lastModifiersEmail": { "type": "string", "readOnly": true }, "lastModified": { "type": "string", "readOnly": true, "format": "date-time", "description": "The time in UTC when the design was last modified." } }, "required": [ "name", "script" ] }, "DesignValidationResult": { "type": "object", "properties": { "entityCount": { "type": "integer", "format": "int32", "description": "Number of items used in the design script." }, "errors": { "type": "array", "items": { "$ref": "#/components/schemas/ErrorMessage" } }, "valid": { "type": "boolean" } } }, "Entity": { "type": "object", "properties": { "attributes": { "type": "object", "properties": { "createdAt": { "type": "string", "format": "date" }, "inventory": { "type": "integer", "format": "int64" }, "lastUpdatedAt": { "type": "string", "format": "date" }, "margin": { "type": "number", "format": "double" }, "message": { "type": "string" }, "pageUrl": { "type": "string" }, "thumbnailUrl": { "type": "string" }, "value": { "type": "number", "format": "double" } }, "additionalProperties": { "type": "string" }, "description": "Entity attributes. Besides some pre-defined attributes, about 100 custom attributes can be added. [More info](https://docs.adobe.com/content/help/en/target/using/recommendations/entities/entity-attributes.html)." }, "categories": { "type": "array", "items": { "type": "string", "maxLength": 250 }, "maxItems": 1000, "minItems": 1, "uniqueItems": true, "description": "Set of entity categories for the entity." }, "environment": { "type": "integer", "format": "int64", "description": "ID of an environment." }, "id": { "type": "string", "maxLength": 1000 }, "name": { "type": "string", "maxLength": 250 } }, "required": [ "id", "name", "categories" ] }, "EntityBatch": { "type": "object", "properties": { "entities": { "type": "array", "items": { "$ref": "#/components/schemas/Entity" }, "minItems": 1 } }, "required": [ "entities" ], "description": "Batch of entities." }, "EntityRejectMessage": { "type": "object", "properties": { "cause": { "$ref": "#/components/schemas/ErrorMessage" }, "occurrences": { "type": "integer", "format": "int32", "description": "Number of occurrences of the error message." } } }, "EntityBatchUpdateResult": { "type": "object", "properties": { "inserted/updated": { "type": "integer", "format": "int32" }, "rejected": { "type": "integer", "format": "int32" }, "rejectCauses": { "type": "array", "items": { "$ref": "#/components/schemas/EntityRejectMessage" }, "description": "Error messages that caused the rejection of entities. Details can be found in `cause.text`." } }, "description": "Status of the operation (create or update) on the provided entities." }, "EntityBatchDeleteResult": { "type": "object", "properties": { "operation": { "type": "string", "enum": [ "Delete by client requested.", "deleted by ids" ], "description": "Indicates how entities were deleted." } } }, "SearchMeta": { "type": "object", "properties": { "environmentId": { "type": "integer", "format": "int64", "description": "ID of an environment" }, "limit": { "type": "integer", "format": "int32", "default": 10, "maximum": 500, "description": "Number of results to return" }, "displayFields": { "type": "array", "items": { "type": "string" }, "default": [ "id" ], "description": "Set of fields to return ('id' is always included)" }, "start": { "type": "integer", "format": "int32", "default": 1, "description": "Result number at which to start output" } }, "required": [ "environmentId" ] }, "SearchQuerySimple": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "simple" ] }, "queryFields": { "type": "array", "items": { "type": "string" }, "default": [ "id" ], "description": "Fields to return in the response" } }, "required": [ "type" ] }, "SearchQuerySimpleNumeric": { "allOf": [ { "$ref": "#/components/schemas/SearchQuerySimple" }, { "type": "object", "properties": { "operator": { "type": "string", "enum": [ "lt", "le", "eq", "ge", "gt", "ne", "present", "absent" ], "default": "eq", "description": "The kind of match to perform:\n* lt: less-than (requires matchValue)\n* le: less-than or equal (requires matchValue)\n* eq: equal (requires matchValue)\n* ge: greater than or equal (requires matchValue)\n* gt: greater than (requires matchValue)\n* ne: not equal (requires matchValue)\n* present: attribute exists with any value\n* absent: attribute does not exist\n" } } } ] }, "SearchQuerySimpleDouble": { "allOf": [ { "$ref": "#/components/schemas/SearchQuerySimpleNumeric" }, { "type": "object", "properties": { "matchValue": { "type": "number", "format": "double", "description": "Numeric value to match" } } } ], "title": "simple double" }, "SearchQuerySimpleLong": { "allOf": [ { "$ref": "#/components/schemas/SearchQuerySimpleNumeric" }, { "type": "object", "properties": { "matchValue": { "type": "integer", "format": "int64", "description": "Numeric value to match" } } } ], "title": "simple integer" }, "SearchQuerySimpleString": { "allOf": [ { "$ref": "#/components/schemas/SearchQuerySimple" }, { "type": "object", "properties": { "operator": { "type": "string", "enum": [ "lt", "le", "eq", "ge", "gt", "ne", "present", "absent", "contains", "notcontains", "startswith", "endswith" ], "default": "eq", "description": "The kind of match to perform:\n* lt: less-than (requires matchValue)\n* le: less-than or equal (requires matchValue)\n* eq: equal (requires matchValue)\n* ge: greater than or equal (requires matchValue)\n* gt: greater than (requires matchValue)\n* ne: not equal (requires matchValue)\n* present: attribute exists with any value\n* absent: attribute does not exist\n* contains: contains matchValue (case-insensitive) (requires matchValue)\n* notcontains: does not contain matchValue (case-insensitive) (requires matchValue)\n* startswith: starts with matchValue (case-insensitive) (requires matchValue)\n* endswith: ends with matchValue (case-insensitive) (requires matchValue)\n" }, "matchValue": { "type": "string", "description": "String to match" } } } ], "title": "simple string" }, "SearchQueryCompound": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "compound" ] }, "joinOperator": { "type": "string", "enum": [ "AND", "OR" ], "default": "AND" }, "filters": { "type": "array", "description": "Array of query objects" } }, "required": [ "type", "filters" ], "title": "compound search" }, "SearchQuery": { "oneOf": [ { "$ref": "#/components/schemas/SearchQuerySimpleDouble" }, { "$ref": "#/components/schemas/SearchQuerySimpleLong" }, { "$ref": "#/components/schemas/SearchQuerySimpleString" }, { "$ref": "#/components/schemas/SearchQueryCompound" } ] }, "Search": { "type": "object", "properties": { "meta": { "$ref": "#/components/schemas/SearchMeta" }, "query": { "$ref": "#/components/schemas/SearchQuery" } }, "required": [ "meta", "query" ] }, "SearchResultHit": { "type": "object", "properties": { "category": { "type": "array", "items": { "type": "string" }, "description": "Array of category values if requested in query meta displayFields" } }, "additionalProperties": { "description": "Other fields and their values requested from query meta displayFields" } }, "SearchResult": { "type": "object", "properties": { "timeMs": { "type": "integer", "format": "int64", "description": "Milliseconds to process search" }, "hits": { "type": "array", "items": { "$ref": "#/components/schemas/SearchResultHit" } }, "start": { "type": "integer", "format": "int32", "description": "Index of first result (copied from Meta)" } }, "required": [ "timeMs", "hits", "start" ] }, "PromotionSchedule": { "type": "object", "properties": { "end": { "type": "string", "format": "date-time" }, "start": { "type": "string", "format": "date-time" } }, "required": [ "end", "start" ], "description": "Time duration for which promotion should be applied." }, "PromotionOrder": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "ORIGINAL", "RANDOM" ], "default": "ORIGINAL" } } }, "PromotionConfiguration": { "type": "object", "properties": { "collectionId": { "type": "integer", "format": "int64" } }, "description": "Applicable only when rules are empty and type is not `INTERNAL`. It contains the relevant collection for promotion items." }, "Promotion": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64", "readOnly": true }, "name": { "type": "string", "maxLength": 250, "description": "Unique name of the promotion." }, "type": { "type": "string", "enum": [ "EXTERNAL" ], "description": "Type of promotion. Currently only external promotions can be created, in which promoted items do not originate from any of the criteria specified in the current recommendation activity." }, "key": { "type": "string", "enum": [ "CURRENT", "LAST_PURCHASED", "LAST_VIEWED", "MOST_VIEWED", "PROFILE_ATTRIBUTE" ], "description": "Promotion key. Values:\n\n- `CURRENT`: The currently viewed item.\n- `LAST_VIEWED`: The last viewed item.\n- `LAST_PURCHASED`: The last purchased item.\n- `MOST_VIEWED`: The most viewed item. The recommendations are determined by items that have been most viewed. The\n score is determined by recency/frequency: 10 points for first item view, 5 points for every subsequent view, all\n points are halved after the session ends.\n- `PROFILE_ATTRIBUTE`: Profile attribute.\n" }, "attribute": { "type": "string", "pattern": "^(profile\\.|user\\.).+", "description": "Applicable when key is `PROFILE_ATTRIBUTE`. This is the profile attribute." }, "schedule": { "$ref": "#/components/schemas/PromotionSchedule" }, "order": { "$ref": "#/components/schemas/PromotionOrder" }, "configuration": { "$ref": "#/components/schemas/PromotionConfiguration" }, "rules": { "type": "array", "items": { "$ref": "#/components/schemas/InclusionMatcher" } } }, "required": [ "name", "type" ] }, "Exclusion": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64", "readOnly": true }, "name": { "type": "string", "maxLength": 250 }, "description": { "type": "string", "maxLength": 1000 }, "lastModifiersName": { "type": "string", "readOnly": true }, "lastModifiersEmail": { "type": "string", "readOnly": true }, "lastModified": { "type": "string", "readOnly": true, "format": "date-time", "description": "The time in UTC when the exclusion was last modified." }, "rule": { "type": "object", "items": { "$ref": "#/components/schemas/BasicMatcher" }, "description": "A rule containing attribute : operation pair.\n\nThe attribute is any valid entity attribute. It is a required field and it should not be more than 100 characters.\n\nThe operation is a pair of operator and operand values. The operator can be one of:\n - Numeric operators: `greaterOrEquals`, `lesserOrEquals`\n - String operators: `startsWith`, `endsWith`, `contains`, `doesNotContain`\n - Alphanumeric operators: `equals`, `notEquals`, `valueIsPresent`, `valueIsNotPresent`\n\nThe other part of operation, operand values, is an array of values. Operand values are not required when operator is\neither `valueIsPresent` or `valueIsNotPresent`. Numeric operators accept integer or floating point operand values.\n" } }, "required": [ "name" ] } }, "parameters": { "id": { "name": "id", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" } }, "limit": { "name": "limit", "in": "query", "description": "Number of resources to request. If not specified, the response will include all available resources.", "required": false, "schema": { "$ref": "#/components/schemas/limit" } }, "name": { "name": "name", "in": "query", "description": "String to filter resources by name. If specified, all resources with a name containing the string are selected, otherwise the response will include all resources. Case-insensitive.", "required": false, "schema": { "type": "string" } }, "offset": { "name": "offset", "in": "query", "description": "Number of resources to skip from start in the server list. If not specified, the response list will start from first available resource.", "required": false, "schema": { "$ref": "#/components/schemas/offset" } }, "orderby": { "name": "orderby", "in": "query", "description": "Name of the field by which the response list should be sorted. It can be prefixed with a `+` to indicate ascending order or `-` to indicate descending order by that field. If the field name is not prefixed, ascending order is assumed.", "schema": { "type": "string", "enum": [ "id", "name", "lastModified" ] } }, "includeScript": { "name": "includeScript", "in": "query", "description": "Whether to include the design content.", "required": false, "schema": { "type": "boolean" } }, "entityId": { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "maxLength": 1000 } }, "environmentId": { "name": "environmentId", "in": "query", "required": false, "schema": { "type": "integer", "format": "int64" } } }, "securitySchemes": { "BearerToken": { "type": "http", "description": "This API requires a bearer token for authentication and an API Key for authorization. To obtain them, you must create an integration in the Adobe I/O Console. Refer *[How to set up Adobe IO Authentication - Step by Step](https://helpx.adobe.com/marketing-cloud-core/kb/adobe-io-authentication-step-by-step.html)* for information on creating the integration and obtaining a bearer token.", "scheme": "bearer", "bearerFormat": "JWT" }, "ApiKey": { "type": "apiKey", "description": "This API requires an API key for authorization and bearer token for authentication. The API Key is obtained when creating an integration in the Adobe I/O Console. Refer *[How to set up Adobe IO Authentication - Step by Step](https://helpx.adobe.com/marketing-cloud-core/kb/adobe-io-authentication-step-by-step.html)* for information on creating the integration.", "in": "header", "name": "X-Api-Key" } }, "examples": { "CollectionsResponse": { "summary": "List of collections in response", "description": "A response body example of a list containing 2 collections.", "value": { "offset": 0, "limit": 2147483647, "total": 2, "list": [ { "id": 1, "name": "Men's Trail Running Shoes", "description": "Shoes marked for trail running in men's clothing category.", "lastModified": "2018-08-07T16:34:01.000Z", "lastModifiersName": "Buzz Lightyear", "lastModifiersEmail": "buzz@spacemail.com" }, { "id": 2, "name": "Climbing Harnesses", "description": "Harness type unisex accessories in climbing section.", "lastModified": "2018-08-07T16:35:01.000Z", "lastModifiersName": "Alex Honnold", "lastModifiersEmail": "honnold@climbinggold.com" } ] } }, "CollectionRequest": { "summary": "Collection in request", "description": "A request body example of a collection object to be created/updated.", "value": { "name": "Backpacking Tents", "description": "Lightweight tents suitable for backpacking.", "rules": [ { "bestUse": { "equals": [ "backpacking" ] } }, { "weight": { "less than": [ "10" ] } }, { "capacity": { "less than": [ "4" ] } } ] } }, "CollectionResponse": { "summary": "Collection in response", "description": "A response body example of a collection object.", "value": { "id": 1, "name": "Backpacking Tents", "description": "Lightweight tents suitable for backpacking.", "lastModified": "2018-08-07T16:34:01.000Z", "lastModifiersName": "Buzz Lightyear", "lastModifierEmail": "buzz@spacemail.com", "rules": [ { "bestUse": { "equals": [ "backpacking" ] } }, { "weight": { "less than": [ "10" ] } }, { "capacity": { "less than": [ "4" ] } } ] } }, "CriteriaListResponse": { "summary": "List of criteria in response", "description": "A response body example of a list containing 3 criteria.", "value": { "offset": 2, "limit": 2147483647, "total": 3, "list": [ { "id": 3, "name": "Recently Viewed Backpacks", "criteriaTitle": "Recently Viewed Backpacks", "criteriaGroup": "RECENT", "minInventory": 1, "configuration": { "rankingRules": [] }, "description": "Lightweight backpacks suitable for multiday excursions.", "lastModified": "2023-08-15T14:29:01.000Z", "lastModifiersName": "John Muir", "lastModifiersEmail": "jmuir@nps.gov" }, { "id": 4, "name": "People who viewed this also bought", "criteriaGroup": "ITEM", "type": "VIEWED_BOUGHT", "key": "LAST_PURCHASED", "aggregation": "NONE", "daysCount": "ONE_MONTH", "partialDesignAllowed": false, "backupDisabled": false, "excludePurchases": true, "enableCaching": false, "backupInclusionFilteringEnabled": true, "configuration": { "pastBehaviorOrdinal": 0 }, "description": "Items to recommend based upon similar purchases.", "lastModified": "2022-05-13T19:39:01.000Z", "lastModifiersName": "Dee Dee", "lastModifiersEmail": "ddee@dexterslabratory.inc" }, { "id": 5, "name": "Most Viewed Shirts", "criteriaGroup": "POPULARITY", "type": "VIEWED", "aggregation": "NONE", "daysCount": "TWO_WEEKS", "minInventory": 1, "partialDesignAllowed": false, "backupDisabled": false, "excludePurchases": true, "enableCaching": false, "backupInclusionFilteringEnabled": true, "configuration": { "inclusionRules": [ { "attribute": "value", "operation": "dynamicallyRanges", "lowRange": "0", "highRange": "30" } ], "pastBehaviorOrdinal": 0 }, "description": "Items to recommend based upon popularity.", "lastModified": "2023-08-15T14:29:01.000Z", "lastModifiersName": "Danny Phantom", "lastModifiersEmail": "dphantom@ghostzone.com" } ] } }, "CriteriaMinResponse": { "summary": "Criteria in response", "description": "A response body example of a criteria with minimal information.", "value": { "id": 34, "name": "Recently Viewed Biking Accessories", "criteriaTitle": "Recently Viewed Biking Accessories", "criteriaGroup": "RECENT" } }, "CriteriaCartListResponse": { "summary": "List of cart criteria in response", "description": "A response body example of a list containing 3 cart criteria.", "value": { "offset": 2, "limit": 2147483647, "total": 3, "list": [ { "id": 3, "name": "Users who purchased this also purchased that within each session.", "criteriaGroup": "CART", "daysCount": "TWO_WEEKS", "partialDesignAllowed": true, "backupDisabled": false, "excludePurchases": true, "backupInclusionFilteringEnabled": true, "modelActionSettings": { "actionOnKeyItems": "PURCHASE", "actionOnRecommendedItems": "PURCHASE", "basisForCoOccurrence": "SESSION" } }, { "id": 4, "name": "Users who viewed this also viewed that across user sessions.", "criteriaGroup": "CART", "daysCount": "TWO_WEEKS", "partialDesignAllowed": true, "backupDisabled": false, "excludePurchases": true, "backupInclusionFilteringEnabled": true, "modelActionSettings": { "actionOnKeyItems": "VIEW", "actionOnRecommendedItems": "VIEW", "basisForCoOccurrence": "USER" } }, { "id": 5, "name": "Users who viewed this also bought that across user sessions in the same category.", "criteriaGroup": "CART", "daysCount": "TWO_WEEKS", "partialDesignAllowed": true, "backupDisabled": false, "excludePurchases": true, "backupInclusionFilteringEnabled": true, "modelActionSettings": { "actionOnKeyItems": "VIEW", "actionOnRecommendedItems": "PURCHASE", "basisForCoOccurrence": "USER" }, "configuration": { "inclusionRulesKey": "LAST_PURCHASED", "inclusionRules": [ { "attribute": "category", "operation": "contains", "source": { "name": "category", "type": "ENTITY", "excludeAllWhenEmpty": true } } ] } } ] } }, "CriteriaCartRequest": { "summary": "Cart criteria in request", "description": "A request body example of a cart based criteria to be created/updated.", "value": { "name": "Users who viewed this also bought that across user sessions in the same category.", "criteriaGroup": "CART", "daysCount": "TWO_WEEKS", "partialDesignAllowed": true, "backupDisabled": false, "excludePurchases": true, "backupInclusionFilteringEnabled": true, "modelActionSettings": { "actionOnKeyItems": "VIEW", "actionOnRecommendedItems": "PURCHASE", "basisForCoOccurrence": "USER" }, "configuration": { "inclusionRulesKey": "LAST_PURCHASED", "inclusionRules": [ { "attribute": "category", "operation": "equals", "source": { "name": "category", "type": "ENTITY", "excludeAllWhenEmpty": true } } ] } } }, "CriteriaCartResponse": { "summary": "Cart criteria in response", "description": "A response body example of a cart based criteria.", "value": { "id": 3, "name": "Users who viewed this also bought that across user sessions in the same category.", "criteriaGroup": "CART", "daysCount": "TWO_WEEKS", "partialDesignAllowed": true, "backupDisabled": false, "excludePurchases": true, "backupInclusionFilteringEnabled": true, "modelActionSettings": { "actionOnKeyItems": "VIEW", "actionOnRecommendedItems": "PURCHASE", "basisForCoOccurrence": "USER" }, "configuration": { "inclusionRulesKey": "LAST_PURCHASED", "inclusionRules": [ { "attribute": "category", "operation": "equals", "source": { "name": "category", "type": "ENTITY", "excludeAllWhenEmpty": true } } ] } } }, "CriteriaCategoryListResponse": { "summary": "List of category criteria in response", "description": "A response body example of a list containing 3 category criteria.", "value": { "offset": 2, "limit": 2147483647, "total": 3, "list": [ { "id": 3, "name": "Most Popular Content from Visitor's Favorite Category", "criteriaGroup": "CATEGORY", "type": "VIEWED", "key": "FAVORITE", "aggregation": "NONE", "daysCount": "TWO_WEEKS", "partialDesignAllowed": false, "backupDisabled": false, "excludePurchases": true, "enableCaching": false, "backupInclusionFilteringEnabled": true, "configuration": { "pastBehaviorOrdinal": 0 } }, { "id": 4, "name": "Top Selling Products from this Category", "criteriaGroup": "CATEGORY", "type": "BOUGHT", "key": "CURRENT", "aggregation": "NONE", "daysCount": "ONE_MONTH", "partialDesignAllowed": false, "backupDisabled": false, "excludePurchases": true, "enableCaching": false, "backupInclusionFilteringEnabled": true, "configuration": { "pastBehaviorOrdinal": 0 } }, { "id": 5, "name": "Most Viewed Products from this Category", "criteriaGroup": "CATEGORY", "type": "VIEWED", "key": "CURRENT", "aggregation": "NONE", "daysCount": "TWO_WEEKS", "minInventory": 1, "partialDesignAllowed": false, "backupDisabled": false, "excludePurchases": true, "enableCaching": false, "backupInclusionFilteringEnabled": true, "configuration": { "inclusionRules": [ { "attribute": "brand", "operation": "contains", "source": { "name": "colorDepth", "type": "MBOX" } } ], "pastBehaviorOrdinal": -1 } } ] } }, "CriteriaCategoryRequest": { "summary": "Category criteria in request", "description": "A request body example of a category based criteria to be created/updated.", "value": { "name": "Most Popular Content from Visitor's Favorite Category", "criteriaGroup": "CATEGORY", "type": "VIEWED", "key": "FAVORITE", "aggregation": "NONE", "daysCount": "TWO_WEEKS", "partialDesignAllowed": false, "backupDisabled": false, "excludePurchases": true, "backupInclusionFilteringEnabled": true, "configuration": { "pastBehaviorOrdinal": 0 } } }, "CriteriaCategoryResponse": { "summary": "Category criteria in response", "description": "A response body example of a category based criteria.", "value": { "id": 3, "name": "Most Popular Content from Visitor's Favorite Category", "criteriaGroup": "CATEGORY", "type": "VIEWED", "key": "FAVORITE", "aggregation": "NONE", "daysCount": "TWO_WEEKS", "partialDesignAllowed": false, "backupDisabled": false, "excludePurchases": true, "enableCaching": false, "backupInclusionFilteringEnabled": true, "configuration": { "pastBehaviorOrdinal": 0 } } }, "CriteriaCustomListResponse": { "summary": "List of custom criteria in response", "description": "A response body example of a list containing 3 custom criteria.", "value": { "offset": 42, "limit": 45, "total": 3, "list": [ { "id": 43, "name": "Snowboarding recommendations", "criteriaTitle": "Snowboarding recs", "criteriaGroup": "CUSTOM", "key": "CURRENT", "partialDesignAllowed": true, "backupDisabled": false, "excludePurchases": true, "configuration": { "feed": { "environmentId": -1, "scheduleType": "daily", "scheduleTime": "00:00", "connection": { "type": "url", "attributes": { "URL": "https://www.adobe-weretail.com/data/32fxss/snow-recs.csv" } }, "uploadHistory": [ { "status": "SUCCESS", "message": "800/50", "date": "2018-08-08T20:17:44.000-04:00" }, { "status": "SUCCESS", "message": "800/50", "date": "2018-08-07T20:26:13.000-04:00" } ] } } }, { "id": 44, "name": "Member Trips", "criteriaTitle": "Adventure Trips", "criteriaGroup": "CUSTOM", "key": "CURRENT_CATEGORY", "partialDesignAllowed": true, "backupDisabled": false, "excludePurchases": false, "backupInclusionFilteringEnabled": true, "configuration": { "feed": { "environmentId": -1, "scheduleType": "weekly", "scheduleTime": "00:00", "connection": { "type": "url", "attributes": { "URL": "https://www.adobe-weretail.com/data/38sfon/memtrps-recs.csv" } }, "uploadHistory": [ { "status": "SUCCESS", "message": "800/50", "date": "2018-08-08T12:33:21.000-04:00" }, { "status": "SUCCESS", "message": "800/50", "date": "2018-08-01T12:36:45.000-04:00" }, { "status": "FILE_NOT_FOUND", "message": "File does not exists", "date": "2018-07-23T12:31:22.000-04:00" } ] } } }, { "id": 45, "name": "Classes Events", "criteriaTitle": "Classes & Events", "criteriaGroup": "CUSTOM", "key": "PROFILE_ATTRIBUTE", "partialDesignAllowed": true, "backupDisabled": false, "excludePurchases": true, "backupInclusionFilteringEnabled": true, "configuration": { "attribute": "profile.city", "feed": { "environmentId": 2304, "scheduleType": "daily", "scheduleTime": "00:00", "connection": { "type": "ftp", "attributes": { "SERVER": "ftp://ftp.adobe-weretail.com", "DIRECTORY": "/events/e4s", "FILENAME": "classesevents.csv", "USERNAME": "johnmuir", "PASSWORD": "apZMtr+dm2jk5K7INSz5Fg==" } }, "uploadHistory": [ { "status": "SUCCESS", "message": "800/50", "date": "2018-04-21T15:10:44.000-04:00" }, { "status": "UNKNOWN_ERROR", "message": "Connect to 54.22.123.21 timed out", "date": "2018-04-20T15:12:31.000-04:00" } ] } } } ] } }, "CriteriaCustomRequest": { "summary": "Custom criteria in request", "description": "A request body example of a custom criteria to be created/updated.", "value": { "name": "Classes Events", "criteriaTitle": "Classes & Events", "key": "PROFILE_ATTRIBUTE", "partialDesignAllowed": true, "backupDisabled": false, "excludePurchases": true, "backupInclusionFilteringEnabled": true, "configuration": { "attribute": "profile.city", "feed": { "environmentId": 2304, "scheduleType": "daily", "scheduleTime": "00:00", "connection": { "type": "ftp", "attributes": { "SERVER": "ftp://ftp.adobe-weretail.com", "DIRECTORY": "/events/e4s", "FILENAME": "classesevents.csv", "USERNAME": "johnmuir", "PASSWORD": "apZMtr+dm2jk5K7INSz5Fg==" } } } } } }, "CriteriaCustomResponse": { "summary": "Custom criteria in response", "description": "A response body example of a custom criteria.", "value": { "id": 45, "name": "Classes Events", "criteriaTitle": "Classes & Events", "criteriaGroup": "CUSTOM", "key": "PROFILE_ATTRIBUTE", "partialDesignAllowed": true, "backupDisabled": false, "excludePurchases": true, "backupInclusionFilteringEnabled": true, "configuration": { "attribute": "profile.city", "feed": { "environmentId": 2304, "scheduleType": "daily", "scheduleTime": "00:00", "connection": { "type": "ftp", "attributes": { "SERVER": "ftp://ftp.adobe-weretail.com", "DIRECTORY": "/events/e4s", "FILENAME": "classesevents.csv", "USERNAME": "johnmuir", "PASSWORD": "apZMtr+dm2jk5K7INSz5Fg==" } }, "uploadHistory": [ { "status": "SUCCESS", "message": "800/50", "date": "2018-04-21T15:10:44.000-04:00" }, { "status": "UNKNOWN_ERROR", "message": "Connect to 54.22.123.21 timed out", "date": "2018-04-20T15:12:31.000-04:00" } ] } } } }, "CriteriaItemListResponse": { "summary": "List of item criteria in response", "description": "A response body example of a list containing 3 item based criteria.", "value": { "offset": 0, "limit": 3, "total": 3, "list": [ { "id": 1, "name": "Items after buying road bike", "criteriaGroup": "ITEM", "type": "BOUGHT_CF", "key": "CURRENT", "aggregation": "NONE", "daysCount": "TWO_WEEKS", "minInventory": 1, "partialDesignAllowed": false, "backupDisabled": false, "excludePurchases": false, "enableCaching": false, "backupInclusionFilteringEnabled": true, "configuration": { "inclusionRules": [ { "attribute": "category", "operation": "contains", "source": { "name": "category", "type": "ENTITY", "excludeAllWhenEmpty": true } }, { "attribute": "category", "operation": "contains", "values": [ "bike-road" ] } ], "pastBehaviorOrdinal": -1 } }, { "id": 2, "name": "Similar items", "criteriaGroup": "ITEM", "type": "BOUGHT_CF", "key": "CURRENT", "aggregation": "NONE", "daysCount": "TWO_WEEKS", "minInventory": 1, "partialDesignAllowed": false, "backupDisabled": true, "excludePurchases": false, "enableCaching": true, "backupInclusionFilteringEnabled": true, "configuration": { "inclusionRules": [ { "attribute": "brand", "operation": "contains", "source": { "name": "brand", "defaultValue": "rei-coop", "type": "ENTITY" } } ], "pastBehaviorOrdinal": -1 } }, { "id": 3, "name": "Viewed items by users who last purchased current item", "criteriaGroup": "ITEM", "type": "VIEWED_BOUGHT", "key": "CURRENT", "aggregation": "NONE", "daysCount": "TWO_WEEKS", "minInventory": 1, "partialDesignAllowed": true, "backupDisabled": true, "excludePurchases": false, "enableCaching": false, "backupInclusionFilteringEnabled": false, "configuration": { "pastBehaviorOrdinal": 0 } } ] } }, "CriteriaItemRequest": { "summary": "Item criteria in request", "description": "A request body example of an item based criteria to be created/updated.", "value": { "name": "Items after buying road bike", "criteriaGroup": "ITEM", "type": "BOUGHT_CF", "key": "CURRENT", "aggregation": "NONE", "daysCount": "TWO_WEEKS", "minInventory": 1, "partialDesignAllowed": false, "backupDisabled": false, "excludePurchases": false, "backupInclusionFilteringEnabled": true, "configuration": { "inclusionRules": [ { "attribute": "category", "operation": "contains", "source": { "name": "category", "type": "ENTITY", "excludeAllWhenEmpty": true } }, { "attribute": "category", "operation": "contains", "values": [ "bike-road" ] } ], "pastBehaviorOrdinal": -1 } } }, "CriteriaItemResponse": { "summary": "Item criteria in response", "description": "A response body example of an item based criteria.", "value": { "id": 2, "name": "Similar items", "criteriaGroup": "ITEM", "type": "BOUGHT_CF", "key": "CURRENT", "aggregation": "NONE", "daysCount": "TWO_WEEKS", "minInventory": 1, "partialDesignAllowed": false, "backupDisabled": true, "excludePurchases": false, "enableCaching": true, "backupInclusionFilteringEnabled": true, "configuration": { "inclusionRules": [ { "attribute": "brand", "operation": "contains", "source": { "name": "brand", "defaultValue": "rei-coop", "type": "ENTITY" } } ], "pastBehaviorOrdinal": -1 } } }, "CriteriaPopularityListResponse": { "summary": "List of popularity criteria in response", "description": "A response body example of a list containing 3 popularity based criteria.", "value": { "offset": 0, "limit": 2147483647, "total": 2, "list": [ { "id": 3422, "name": "Garage Top Viewed", "criteriaGroup": "POPULARITY", "type": "VIEWED", "aggregation": "NONE", "daysCount": "TWO_DAYS", "minInventory": 2, "partialDesignAllowed": true, "backupDisabled": false, "excludePurchases": true, "backupInclusionFilteringEnabled": true, "configuration": { "datasource": "mboxes" } }, { "id": 9321, "name": "Top sold by region", "criteriaGroup": "POPULARITY", "type": "SELLERS", "aggregation": "ALL_OR_NOTHING", "daysCount": "ONE_MONTH", "configuration": { "datasource": "mboxes", "grouping": { "type": "SEQUENTIAL", "attributes": [ "user.city", "user.county", "user.state" ] } } } ] } }, "CriteriaPopularityRequest": { "summary": "Popularity criteria in request", "description": "A request body example of an popularity based criteria to be created/updated.", "value": { "name": "Garage Top Viewed", "type": "VIEWED", "key": "customProfileAttribute", "aggregation": "NONE", "daysCount": "TWO_DAYS", "minInventory": 2, "partialDesignAllowed": true, "backupDisabled": false, "excludePurchases": true, "backupInclusionFilteringEnabled": true, "configuration": { "datasource": "mboxes", "attribute": "user.name", "groupByEntityAttribute": "brand" } } }, "CriteriaPopularityResponse": { "summary": "Popularity criteria in response", "description": "A response body example of a popularity based criteria.", "value": { "id": 9321, "name": "Top sold by region", "criteriaGroup": "POPULARITY", "type": "VIEWED", "key": "customProfileAttribute", "aggregation": "ALL_OR_NOTHING", "daysCount": "ONE_MONTH", "configuration": { "datasource": "mboxes", "attribute": "user.name", "groupByEntityAttribute": "brand", "grouping": { "type": "SEQUENTIAL", "attributes": [ "user.city", "user.county", "user.state" ] } } } }, "CriteriaProfileAttributeListResponse": { "summary": "List of profile attribute criteria in response", "description": "A response body example of a list containing 3 profile attribute based criteria.", "value": { "offset": 0, "limit": 2147483647, "total": 2, "list": [ { "id": 1, "name": "city-bike-recs", "criteriaTitle": "Bike recommendations per city", "criteriaGroup": "PROFILEATTRIBUTE", "type": "VIEWED_CF", "aggregation": "NONE", "daysCount": "ONE_MONTH", "minInventory": 5, "partialDesignAllowed": true, "backupDisabled": false, "excludePurchases": true, "configuration": { "attribute": "profile.city", "inclusionRules": [ { "attribute": "city", "operation": "dynamicallyMatches" }, { "attribute": "category", "operation": "contains", "values": [ "bike" ] } ], "datasource": "mboxes" } }, { "id": 2, "name": "gender-recs", "criteriaTitle": "Generic recommendations based on gender", "criteriaGroup": "PROFILEATTRIBUTE", "type": "VIEWED_CF", "aggregation": "ALL_OR_NOTHING", "daysCount": "ONE_MONTH", "configuration": { "attribute": "profile.gender", "datasource": "mboxes" } } ] } }, "CriteriaProfileAttributeRequest": { "summary": "Profile attribute criteria in request", "description": "A request body example of an profile attribute based criteria to be created/updated.", "value": { "name": "city-bike-recs", "criteriaTitle": "Bike recommendations per city", "type": "VIEWED_CF", "aggregation": "NONE", "daysCount": "ONE_MONTH", "minInventory": 5, "partialDesignAllowed": true, "backupDisabled": false, "excludePurchases": true, "configuration": { "attribute": "profile.city", "inclusionRules": [ { "attribute": "city", "operation": "dynamicallyMatches" }, { "attribute": "category", "operation": "contains", "values": [ "bike" ] } ], "datasource": "mboxes" } } }, "CriteriaProfileAttributeResponse": { "summary": "Profile attribute criteria in response", "description": "A response body example of a profile attribute based criteria.", "value": { "id": 1, "name": "city-bike-recs", "criteriaTitle": "Bike recommendations per city", "criteriaGroup": "PROFILEATTRIBUTE", "type": "VIEWED_CF", "aggregation": "NONE", "daysCount": "ONE_MONTH", "minInventory": 5, "partialDesignAllowed": true, "backupDisabled": false, "excludePurchases": true, "configuration": { "attribute": "profile.city", "inclusionRules": [ { "attribute": "city", "operation": "dynamicallyMatches" }, { "attribute": "category", "operation": "contains", "values": [ "bike" ] } ], "datasource": "mboxes" } } }, "CriteriaRecentListResponse": { "summary": "List of recent criteria in response", "description": "A response body example of a list containing 2 recent view based criteria.", "value": { "offset": 0, "limit": 2147483647, "total": 2, "list": [ { "id": 1, "name": "Recently Viewed Products", "criteriaTitle": "Just Seen Items", "criteriaGroup": "RECENT", "minInventory": 1, "configuration": { "rankingRules": [] } }, { "id": 2, "name": "Recently Viewed in Same Brand", "criteriaGroup": "RECENT", "minInventory": 1, "configuration": { "inclusionRules": [ { "attribute": "brand", "operation": "dynamicallyMatches", "source": { "name": "brand", "type": "ENTITY", "excludeAllWhenEmpty": true } }, { "attribute": "value", "operation": "dynamicallyRanges", "lowRange": "1", "highRange": "99" } ], "rankingRules": [] } } ] } }, "CriteriaRecentRequest": { "summary": "Recent criteria in request", "description": "A request body example of a recent view based criteria to be created/updated.", "value": { "name": "Recently Viewed Products", "criteriaTitle": "Just Seen Items", "excludePurchases": true, "criteriaGroup": "RECENT", "minInventory": 3, "configuration": { "rankingRules": [] } } }, "CriteriaRecentResponse": { "summary": "Recent criteria in response", "description": "A response body example of a recent view based criteria.", "value": { "id": 2, "name": "Recently Viewed in Same Brand", "criteriaGroup": "RECENT", "excludePurchases": true, "minInventory": 1, "configuration": { "inclusionRules": [ { "attribute": "brand", "operation": "dynamicallyMatches", "source": { "name": "brand", "type": "ENTITY", "excludeAllWhenEmpty": true } }, { "attribute": "value", "operation": "dynamicallyRanges", "lowRange": "1", "highRange": "99" } ], "rankingRules": [] } } }, "CriteriaSequenceListResponse": { "summary": "List of sequence criteria in response", "description": "A response body example of a list containing 2 sequence criteria.", "value": { "offset": 0, "limit": 2147483647, "total": 3, "list": [ { "id": 56, "name": "Top Dashboard Items", "criteriaTitle": "Top Dashboard Items", "criteriaGroup": "SEQUENCE", "backupDisabled": true, "sequence": [ { "id": 332, "slotCount": 4 }, { "id": 333 } ] }, { "id": 67, "name": "Freight Recs", "criteriaTitle": "Freight Recommendations", "criteriaGroup": "SEQUENCE", "backupDisabled": true, "sequence": [ { "id": 345 }, { "id": 346 }, { "id": 348 }, { "id": 349 }, { "id": 350 } ] }, { "id": 71, "name": "Events Across", "criteriaTitle": "Garage Events", "criteriaGroup": "SEQUENCE", "backupDisabled": false, "partialDesignAllowed": true, "sequence": [ { "id": 401 }, { "id": 402 }, { "id": 406 } ] } ] } }, "CriteriaSequenceRequest": { "summary": "Sequence criteria in request", "description": "A request body example of a sequence criteria to be created/updated.", "value": { "name": "Top Dashboard Items", "criteriaTitle": "Top Dashboard Items", "backupDisabled": true, "sequence": [ { "id": 332, "slotCount": 4 }, { "id": 333 } ] } }, "CriteriaSequenceResponse": { "summary": "Sequence criteria in response", "description": "A response body example of a sequence criteria.", "value": { "id": 56, "name": "Top Dashboard Items", "criteriaTitle": "Top Dashboard Items", "criteriaGroup": "SEQUENCE", "backupDisabled": true, "sequence": [ { "id": 332, "slotCount": 4 }, { "id": 333 } ] } }, "CriteriaUserHistoryListResponse": { "summary": "List of user history criteria in response", "description": "A response body example of a list containing 3 user history criteria.", "value": { "offset": 2, "limit": 2147483647, "total": 3, "list": [ { "id": 3, "name": "Recommend for you.", "criteriaTitle": "Items Recommended for you.", "criteriaGroup": "USERHISTORY", "daysCount": "TWO_WEEKS", "partialDesignAllowed": true, "backupDisabled": false, "excludePurchases": true, "backupInclusionFilteringEnabled": true, "excludeViews": false }, { "id": 4, "name": "Recommend for you with minimum inventory.", "criteriaGroup": "USERHISTORY", "daysCount": "TWO_WEEKS", "minInventory": 5, "partialDesignAllowed": true, "backupDisabled": false, "excludePurchases": true, "backupInclusionFilteringEnabled": true, "excludeViews": true }, { "id": 5, "name": "Recommend for you with Inclusion Rules.", "criteriaGroup": "USERHISTORY", "daysCount": "TWO_WEEKS", "partialDesignAllowed": true, "backupDisabled": false, "excludePurchases": true, "backupInclusionFilteringEnabled": true, "excludeViews": true, "configuration": { "inclusionRulesKey": "LAST_PURCHASED", "inclusionRules": [ { "attribute": "category", "operation": "contains", "source": { "name": "category", "type": "ENTITY", "excludeAllWhenEmpty": true } } ] } } ] } }, "CriteriaUserHistoryRequest": { "summary": "User history criteria in request", "description": "A request body example of a user history based criteria to be created/updated.", "value": { "name": "Recommend for you.", "criteriaTitle": "Recommend for you with Inclusion Rules", "daysCount": "TWO_WEEKS", "minInventory": 5, "partialDesignAllowed": true, "backupDisabled": false, "excludePurchases": true, "backupInclusionFilteringEnabled": true, "excludeViews": true, "configuration": { "datasources": "mboxes", "inclusionRulesKey": "LAST_PURCHASED", "priceRange": { "min": 10, "max": 50 }, "inclusionRules": [ { "attribute": "category", "operation": "equals", "source": { "name": "category", "type": "ENTITY", "excludeAllWhenEmpty": true } } ] } } }, "CriteriaUserHistoryResponse": { "summary": "User history criteria in response", "description": "A response body example of a user history based criteria.", "value": { "id": 3, "name": "Recommend for you.", "criteriaTitle": "Recommend for you with Inclusion Rules", "criteriaGroup": "USERHISTORY", "daysCount": "TWO_WEEKS", "minInventory": 5, "partialDesignAllowed": true, "backupDisabled": false, "excludePurchases": true, "backupInclusionFilteringEnabled": true, "excludeViews": false, "configuration": { "priceRange": { "min": 10, "max": 50 }, "datasource": "mboxes", "inclusionRulesKey": "LAST_PURCHASED", "inclusionRules": [ { "attribute": "category", "operation": "equals", "source": { "name": "category", "type": "ENTITY", "excludeAllWhenEmpty": true } } ] } } }, "DesignsResponse": { "summary": "List of designs in response", "description": "A response body example of a list containing 2 designs.", "value": { "offset": 0, "limit": 2147483647, "total": 2, "list": [ { "id": 4, "name": "Landing Page", "script": "\\n \\n \\n \\n \\n \\n
\\n \\n \\n
$profile\\n
$token\\n
$url\\n
\\n
\\n \\n \\n
$entity2.name\\n
$entity2.message\\n
$entity2.value\\n
\\n
\\n \\n \\n
$entity3.name\\n
$entity3.message\\n
$entity3.value\\n
\\n
", "type": "HTML", "lastModifiersEmail": "jneutron@boygenius.com", "lastModifiersName": "Jimmy Neutron", "lastModified": "2023-12-25T17:34:01.000Z" }, { "id": 5, "name": "Prime Product Box", "script": "
$entity1.name
", "type": "HTML", "lastModifiersEmail": "stentacles@krustykrab.com", "lastModifiersName": "Squidward Tentacles", "lastModified": "2022-08-07T16:34:01.000Z" } ] } }, "DesignRequest": { "summary": "Design in request", "description": "A request body example of a design to be created/updated.", "value": { "name": "Landing Page", "script": "name = $entity1.name
details= $entity1.details \\n \\n \\n \\n \\n \\n
\\n \\n \\n
$profile\\n
$token\\n
$url\\n
\\n
\\n \\n \\n
$entity2.name\\n
$entity2.message\\n
$entity2.value\\n
\\n
\\n \\n \\n
$entity3.name\\n
$entity3.message\\n
$entity3.value\\n
\\n
" } }, "DesignResponse": { "summary": "Design in response", "description": "A response body example of a design object.", "value": { "id": 1, "name": "Landing Page", "script": "\\n \\n \\n \\n \\n \\n
\\n \\n \\n
$profile\\n
$token\\n
$url\\n
\\n
\\n \\n \\n
$entity2.name\\n
$entity2.message\\n
$entity2.value\\n
\\n
\\n \\n \\n
$entity3.name\\n
$entity3.message\\n
$entity3.value\\n
\\n
", "type": "HTML" } }, "DesignValidationResultResponse": { "summary": "Validation result in response", "description": "A response body example of validation result of the design object provided in request.", "value": { "entityCount": 0, "valid": false, "errors": [ { "key": "error.template.validate.entitiesRequired", "keyArguments": [], "text": "There should be at least one entity reference within the template script" } ] } }, "EntityBatchRequest": { "summary": "Entities in request", "description": "A request body example of an entity to be created/updated.", "value": { "entities": [ { "name": "Rotisserie Chicken", "id": "wes2001", "environment": 4227, "categories": [ "recreation:food" ], "attributes": { "inventory": 77, "margin": 23, "message": "crashing helicopter", "pageUrl": "www.foobar.foo.com/helicopter.html", "thumbnailUrl": "www.foobar.foo.com/helicopter.jpg", "value": 19.2 } } ] } }, "EntityBatchUpdateResult": { "summary": "Entity batch update result in response", "description": "A response body example of entity batch update result showing a successful update.", "value": { "rejected": 0, "inserted/updated": 1 } }, "EntityBatchDeleteResult": { "summary": "Entity batch delete result in response", "description": "A response body example of entity batch delete result indicating all entities were deleted.", "value": { "operation": "Delete by client requested." } }, "EntityResponse": { "summary": "Entity in response", "description": "A response body example of an entity object.", "value": { "name": "Rotisserie Chicken", "id": "item1", "environment": 4227, "categories": [ "recreation:food" ], "attributes": { "createdAt": "2019-07-05T05:48:26.244-04:00", "inventory": 77, "lastUpdatedAt": "2019-07-09T05:48:26.244-04:00", "margin": 23, "message": "crashing helicopter", "pageUrl": "www.foobar.foo.com/helicopter.html", "thumbnailUrl": "www.foobar.foo.com/helicopter.jpg", "value": 19.2 } } }, "SimpleSearchRequest": { "value": { "meta": { "environmentId": 1776, "displayFields": [ "description", "price" ] }, "query": { "type": "simple", "queryFields": [ "id", "name", "description" ], "matchValue": "home", "operator": "contains" } } }, "CompoundSearchRequest": { "value": { "meta": { "environmentId": 1066, "displayFields": [ "brand", "category" ], "start": 16 }, "query": { "type": "compound", "joinOperator": "AND", "filters": [ { "type": "simple", "queryFields": [ "category" ], "matchValue": "shoe", "operator": "contains" }, { "type": "compound", "joinOperator": "OR", "filters": [ { "type": "simple", "queryFields": [ "brand" ], "matchValue": "fancyco", "operator": "eq" }, { "type": "simple", "queryFields": [ "priceRetail" ], "matchValue": 50, "operator": "ge" } ] } ] } } }, "SearchResponse": { "value": { "timeMs": 1701, "hits": [ { "id": 602214076, "category": [ "household goods", "restroom", "paper products" ], "value": 3.14, "name": "bathroom tissue" }, { "id": 186282, "value": 2.718, "name": "hand sanitizer", "inventory": 86400 } ], "start": 1 } }, "PromotionsResponse": { "summary": "List of promotions in response", "description": "A response body example of a list containing 2 promotions.", "value": { "offset": 0, "limit": 2147483647, "total": 2, "list": [ { "id": 1, "name": "Hiking shoes summer promotion", "type": "EXTERNAL", "schedule": { "start": "2018-07-01T00:00:00Z", "end": "2018-08-31T23:59:59Z" }, "order": { "type": "ORIGINAL" }, "configuration": { "collectionId": 3432 }, "rules": [ { "attribute": "category", "operation": "endsWith", "values": [ "Hiking Shoes" ] } ] }, { "id": 2, "name": "Shoes clearance sale", "type": "EXTERNAL", "order": { "type": "ORIGINAL" }, "rules": [ { "attribute": "value", "operation": "lesserOrEquals", "values": [ "200" ] } ] } ] } }, "PromotionRequest": { "summary": "Promotion in request", "description": "A request body example of a promotion object to be created/updated.", "value": { "name": "Hiking shoes summer promotion", "type": "EXTERNAL", "schedule": { "start": "2018-07-01T00:00:00Z", "end": "2018-08-31T23:59:59Z" }, "order": { "type": "ORIGINAL" }, "configuration": { "collectionId": 3432 }, "rules": [ { "attribute": "category", "operation": "endsWith", "values": [ "Hiking Shoes" ] } ] } }, "PromotionResponse": { "summary": "Promotion in response", "description": "A response body example of a Promotion object.", "value": { "id": 1, "name": "Hiking shoes summer promotion", "type": "EXTERNAL", "schedule": { "start": "2018-07-01T00:00:00Z", "end": "2018-08-31T23:59:59Z" }, "order": { "type": "ORIGINAL" }, "configuration": { "collectionId": 3432 }, "rules": [ { "attribute": "category", "operation": "endsWith", "values": [ "Hiking Shoes" ] } ] } }, "ExclusionsResponse": { "summary": "List of exclusions in response", "description": "A response body example of a list containing 2 exclusions.", "value": { "offset": 0, "limit": 2147483647, "total": 2, "list": [ { "id": 496, "name": "Men's Trail Running Shoes", "description": "Exclude Trail Running shoes for hiking", "lastModifiersEmail": "buzz@spacemail.com", "lastModifiersName": "Buzz Lightyear", "lastModified": "2018-08-07T16:34:01.000Z", "rule": { "name": { "contains": "hiking" } } }, { "id": 497, "name": "Climbing Shoes", "description": "Exclude climbing shoes for bouldering", "lastModifiersEmail": "honnold@climbinggold.com", "lastModifiersName": "Alex Honnold", "lastModified": "2018-08-07T16:35:01.000Z", "rule": { "name": { "contains": "bouldering" } } } ] } }, "ExclusionRequest": { "summary": "Exclusion in request", "description": "A request body example of an exclusion object to be created/updated.", "value": { "id": 428, "name": "Backpacking Tents", "description": "Exclude backpacking tents with less than 10 items remaining in the inventory", "rule": { "name": { "contains": "backpacking" } } } }, "ExclusionResponse": { "summary": "Exclusion in response", "description": "A response body example of an exclusion object.", "value": { "id": 428, "name": "Backpacking Tents", "description": "Exclude backpacking tents with less than 10 items remaining in the inventory", "lastModifiersEmail": "buzz@spacemail.com", "lastModifiersName": "Buzz Lightyear", "lastModified": "2018-08-07T16:34:01.000Z", "rule": { "name": { "contains": "backpacking" } } } } }, "requestBodies": { "Collection": { "description": "Collection to be created/updated", "content": { "application/vnd.adobe.target.v1+json": { "schema": { "$ref": "#/components/schemas/Collection" }, "examples": { "CollectionRequest": { "$ref": "#/components/examples/CollectionRequest" } } } }, "required": true }, "CriteriaCart": { "description": "Cart based criteria to be created/updated", "content": { "application/vnd.adobe.target.v1+json": { "schema": { "$ref": "#/components/schemas/CriteriaCart" }, "examples": { "CriteriaCartRequest": { "$ref": "#/components/examples/CriteriaCartRequest" } } } }, "required": true }, "CriteriaCategory": { "description": "Category based criteria to be created/updated", "content": { "application/vnd.adobe.target.v1+json": { "schema": { "$ref": "#/components/schemas/CriteriaCategory" }, "examples": { "CriteriaCategoryRequest": { "$ref": "#/components/examples/CriteriaCategoryRequest" } } } }, "required": true }, "CriteriaCustom": { "description": "Custom criteria to be created/updated", "content": { "application/vnd.adobe.target.v1+json": { "schema": { "$ref": "#/components/schemas/CriteriaCustom" }, "examples": { "CriteriaCustomRequest": { "$ref": "#/components/examples/CriteriaCustomRequest" } } } }, "required": true }, "CriteriaItem": { "description": "Item based criteria to be created/updated", "content": { "application/vnd.adobe.target.v1+json": { "schema": { "$ref": "#/components/schemas/CriteriaItem" }, "examples": { "CriteriaItemRequest": { "$ref": "#/components/examples/CriteriaItemRequest" } } } }, "required": true }, "CriteriaPopularity": { "description": "Popularity based criteria to be created/updated", "content": { "application/vnd.adobe.target.v1+json": { "schema": { "$ref": "#/components/schemas/CriteriaPopularity" }, "examples": { "CriteriaPopularityRequest": { "$ref": "#/components/examples/CriteriaPopularityRequest" } } } }, "required": true }, "CriteriaProfileAttribute": { "description": "Profile attribute based criteria to be created/updated", "content": { "application/vnd.adobe.target.v1+json": { "schema": { "$ref": "#/components/schemas/CriteriaProfileAttribute" }, "examples": { "CriteriaPopularityRequest": { "$ref": "#/components/examples/CriteriaProfileAttributeRequest" } } } } }, "CriteriaRecent": { "description": "Recent view based criteria to be created/updated", "content": { "application/vnd.adobe.target.v1+json": { "schema": { "$ref": "#/components/schemas/CriteriaRecent" }, "examples": { "CriteriaRecentRequest": { "$ref": "#/components/examples/CriteriaRecentRequest" } } } } }, "CriteriaSequence": { "description": "Sequence criteria to be created/updated", "content": { "application/vnd.adobe.target.v1+json": { "schema": { "$ref": "#/components/schemas/CriteriaSequence" }, "examples": { "CriteriaRecentRequest": { "$ref": "#/components/examples/CriteriaSequenceRequest" } } } }, "required": true }, "CriteriaUserHistory": { "description": "UserHistory based criteria to be created/updated", "content": { "application/vnd.adobe.target.v1+json": { "schema": { "$ref": "#/components/schemas/CriteriaUserHistory" }, "examples": { "CriteriaUserHistoryRequest": { "$ref": "#/components/examples/CriteriaUserHistoryRequest" } } } }, "required": true }, "Design": { "description": "Design to be created/updated", "content": { "application/vnd.adobe.target.v1+json": { "schema": { "$ref": "#/components/schemas/Design" }, "examples": { "DesignRequest": { "$ref": "#/components/examples/DesignRequest" } } } }, "required": true }, "EntityBatch": { "description": "Entities to be created/updated", "content": { "application/vnd.adobe.target.v1+json": { "schema": { "$ref": "#/components/schemas/EntityBatch" }, "examples": { "EntityBatchRequest": { "$ref": "#/components/examples/EntityBatchRequest" } } } }, "required": true }, "Search": { "description": "Catalog Search", "content": { "application/vnd.adobe.target.v1+json": { "schema": { "$ref": "#/components/schemas/Search" }, "examples": { "SimpleSearchRequest": { "$ref": "#/components/examples/SimpleSearchRequest" }, "CompoundSearchRequest": { "$ref": "#/components/examples/CompoundSearchRequest" } } } }, "required": true }, "Promotion": { "description": "Promotion to be created/updated", "content": { "application/vnd.adobe.target.v1+json": { "schema": { "$ref": "#/components/schemas/Promotion" }, "examples": { "PromotionRequest": { "$ref": "#/components/examples/PromotionRequest" } } } }, "required": true }, "Exclusion": { "description": "Exclusion to be created/updated", "content": { "application/vnd.adobe.target.v1+json": { "schema": { "$ref": "#/components/schemas/Exclusion" }, "examples": { "ExclusionRequest": { "$ref": "#/components/examples/ExclusionRequest" } } } }, "required": true } } }, "x-tagGroups": [ { "name": "Core Resources", "tags": [ "Collections", "Criteria", "Designs", "Entities", "Exclusions", "Promotions" ] }, { "name": "Criteria Resources", "tags": [ "Cart Criteria", "Category Criteria", "Custom Criteria", "Item Criteria", "Popularity Criteria", "Profile Attribute Criteria", "Recent Criteria", "Sequence Criteria", "User History Criteria" ] }, { "name": "Catalog Search", "tags": [ "Searching Entities" ] } ] }