diff --git a/data-api.json b/data-api.json new file mode 100644 index 00000000..5c220114 --- /dev/null +++ b/data-api.json @@ -0,0 +1,28933 @@ +{ + "basePath": "/s/-/dw/data/v25_6", + "consumes": [ + "application/json", + "text/xml", + "application/xml" + ], + "definitions": { + "string": { + "type": "string" + }, + "ab_test": { + "description": "

The id of the A/B Test

", + "properties": { + "customer_groups": { + "description": "The list of customer group ids assigned to the A/B Test. Defaults to 'Everyone' if not specified on create", + "items": { + "type": "string" + }, + "type": "array" + }, + "description": { + "description": "The optional description of the A/B Test", + "maxLength": 4000, + "type": "string" + }, + "email_addresses": { + "description": "The optional list of email addresses to send A/B Test results", + "items": { + "type": "string" + }, + "type": "array" + }, + "enabled": { + "description": "The flag representing the enabled state of the A/B Test. Defaults to false if not specified on create", + "type": "boolean" + }, + "end_date": { + "description": "The date that the A/B Test ends. Defaults to two weeks from creation date if both start and end dates are not specified on create", + "format": "date-time", + "type": "string" + }, + "expiration_type": { + "description": "The participant expiration type of the A/B Test. Defaults to 'never' if not specified on create", + "enum": [ + "session", + "never" + ], + "type": "string" + }, + "id": { + "description": "The id of the A/B Test", + "maxLength": 40, + "minLength": 1, + "type": "string" + }, + "key_metric_id": { + "description": "The key metric that is most important to the A/B Test, among the metrics collected. Defaults to 'Revenue' if not specified from test participant activity", + "maxLength": 256, + "type": "string" + }, + "link": { + "description": "The URL to get the A/B test. This is a computed attribute and cannot be modified", + "type": "string" + }, + "paused": { + "description": "The flag representing the paused state of the A/B Test. Defaults to false if not specified on create", + "type": "boolean" + }, + "segment_count": { + "description": "Segment count of A/B test. This is a computed attribute and cannot be modified", + "format": "int32", + "type": "integer" + }, + "start_date": { + "description": "The date that the A/B Test begins. Defaults to a week from creation date if both start and end dates are not specified on create", + "format": "date-time", + "type": "string" + }, + "status": { + "description": "Status of A/B test. This is a computed attribute and cannot be modified", + "enum": [ + "ended", + "planned", + "running" + ], + "type": "string" + }, + "tags": { + "description": "The optional list of tags to group similar A/B Tests so that they can be searched easily.", + "items": { + "type": "string" + }, + "type": "array" + }, + "test_groups": { + "description": "Test Groups created for an A/B Test. This is a read only attribute for now.", + "items": { + "$ref": "#/definitions/ab_test_group" + }, + "type": "array" + }, + "test_segments": { + "description": "Test Segments created for an A/B Test. This is a read only attribute for now", + "items": { + "$ref": "#/definitions/ab_test_segment" + }, + "type": "array" + }, + "trigger": { + "$ref": "#/definitions/ab_test_trigger", + "description": "The trigger that allows the test participant to be considered for an A/B Test" + } + } + }, + "ab_test_group": { + "description": "

Document representing an A/B Test Group

", + "properties": { + "allocation": { + "description": "Test Group percentage allocation", + "format": "int32", + "type": "integer" + }, + "custom_experience": { + "description": "Flag to determine if this Test Group is a customer experience", + "type": "boolean" + }, + "description": { + "description": "Test Group description", + "type": "string" + }, + "id": { + "description": "Test group id", + "type": "string" + } + } + }, + "ab_test_search_result": { + "description": "

Request document containing a search response for A/B test

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The search hits returned as an ordered list", + "items": { + "$ref": "#/definitions/ab_test" + }, + "type": "array" + }, + "next": { + "$ref": "#/definitions/result_page", + "description": "The URL of the next result page." + }, + "previous": { + "$ref": "#/definitions/result_page", + "description": "The URL of the previous result page." + }, + "query": { + "$ref": "#/definitions/query", + "x-sub_types": { + "nested_query": "#/definitions/nested_query", + "filtered_query": "#/definitions/filtered_query", + "text_query": "#/definitions/text_query", + "match_all_query": "#/definitions/match_all_query", + "term_query": "#/definitions/term_query", + "bool_query": "#/definitions/bool_query" + } + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "sorts": { + "items": { + "$ref": "#/definitions/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "ab_test_segment": { + "description": "

Document representing an A/B Test Segment

", + "properties": { + "allocation": { + "description": "Test Group percentage allocation", + "format": "int32", + "type": "integer" + }, + "custom_experience": { + "description": "Flag to determine if this Test Group is a customer experience", + "type": "boolean" + }, + "description": { + "description": "Test Group description", + "maxLength": 4000, + "type": "string" + }, + "id": { + "description": "Test group id", + "maxLength": 40, + "minLength": 1, + "type": "string" + }, + "link": { + "description": "", + "type": "string" + }, + "promotions": { + "description": "Promotions which this segment has as experiences", + "items": { + "type": "object" + }, + "type": "array" + }, + "slot_configs": { + "description": "Slot configurations which this segment has as experiences", + "items": { + "type": "object" + }, + "type": "array" + }, + "sorting_rules": { + "description": "Sorting rules which this segment has as experiences", + "items": { + "type": "object" + }, + "type": "array" + }, + "stats": { + "$ref": "#/definitions/ab_test_segment_stats", + "description": "Statistics about the segment" + } + } + }, + "ab_test_segment_stats": { + "description": "", + "properties": { + "adds_to_baskets": { + "description": "", + "format": "int32", + "type": "integer" + }, + "average_adds_per_basket": { + "description": "", + "format": "double", + "type": "number" + }, + "average_adds_per_basket_std_error": { + "description": "", + "format": "double", + "type": "number" + }, + "average_discount_amount": { + "description": "", + "format": "double", + "type": "number" + }, + "average_discount_amount_std_error": { + "description": "", + "format": "double", + "type": "number" + }, + "average_discount_amount_with_coupon": { + "description": "", + "format": "double", + "type": "number" + }, + "average_discount_amount_with_coupon_std_error": { + "description": "", + "format": "double", + "type": "number" + }, + "average_discount_amount_without_coupon": { + "description": "The standard error for the average amount discounted for orders without using a coupon", + "format": "double", + "type": "number" + }, + "average_discount_amount_without_coupon_std_error": { + "description": "Units sold per hour", + "format": "double", + "type": "number" + }, + "average_order_value": { + "description": "", + "format": "double", + "type": "number" + }, + "average_order_value_std_error": { + "description": "", + "format": "double", + "type": "number" + }, + "average_revenue_per_visit": { + "description": "", + "format": "double", + "type": "number" + }, + "average_revenue_per_visit_std_error": { + "description": "", + "format": "double", + "type": "number" + }, + "average_units_added_per_basket": { + "description": "", + "format": "double", + "type": "number" + }, + "average_units_adder_per_basket_std_error": { + "description": "", + "format": "double", + "type": "number" + }, + "average_units_per_order_std_error": { + "description": "", + "format": "double", + "type": "number" + }, + "average_units_per_visit": { + "description": "", + "format": "double", + "type": "number" + }, + "average_units_per_visit_std_error": { + "description": "", + "format": "double", + "type": "number" + }, + "basket_rate": { + "description": "", + "format": "double", + "type": "number" + }, + "baskets": { + "description": "", + "format": "double", + "type": "number" + }, + "checkout_rate": { + "description": "", + "format": "double", + "type": "number" + }, + "checkouts": { + "description": "", + "format": "int32", + "type": "integer" + }, + "conversion_rate": { + "description": "", + "format": "double", + "type": "number" + }, + "discount_amount_with_coupon": { + "description": "", + "format": "double", + "type": "number" + }, + "discount_amount_without_coupon": { + "description": "", + "format": "double", + "type": "number" + }, + "orders": { + "description": "", + "format": "int32", + "type": "integer" + }, + "revenue": { + "description": "", + "format": "double", + "type": "number" + }, + "total_discount_amount": { + "description": "", + "format": "double", + "type": "number" + }, + "units": { + "description": "", + "format": "double", + "type": "number" + }, + "units_added_to_baskets": { + "description": "", + "format": "double", + "type": "number" + }, + "visitors": { + "description": "", + "format": "int32", + "type": "integer" + }, + "visits": { + "description": "", + "format": "int32", + "type": "integer" + } + } + }, + "ab_test_trigger": { + "description": "

Document representing an A/B Test trigger.

", + "properties": { + "categories": { + "description": "The list of categories. This is a modifiable attribute when trigger type is 'category_page_view' only", + "items": { + "type": "string" + }, + "type": "array" + }, + "is_pipeline_based": { + "description": "The flag indicating if the trigger is based on pipelines. This is a computed attribute and cannot be modified", + "type": "boolean" + }, + "pipeline_calls": { + "description": "The list of pipeline name and start node combinations (for example, Account-Show). This is a modifiable attribute when trigger type is 'pipeline_calls' only", + "items": { + "type": "string" + }, + "type": "array" + }, + "trigger_type": { + "description": "The type of the trigger. Defaults to 'immediately' if not specified on create", + "enum": [ + "immediately", + "category_page_view", + "home_page_view", + "pipeline_call" + ], + "type": "string" + } + } + }, + "ab_tests": { + "description": "

Request document containing a set of ABTests

", + "properties": { + "count": { + "format": "int32", + "type": "integer" + }, + "data": { + "description": "", + "items": { + "$ref": "#/definitions/ab_test" + }, + "type": "array" + }, + "expand": { + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "type": "string" + }, + "previous": { + "type": "string" + }, + "select": { + "type": "string" + }, + "start": { + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "format": "int32", + "type": "integer" + } + } + }, + "access_key_details": { + "description": "

Access key information

", + "properties": { + "access_key": { + "description": "The newly created access key (only available upon access key creation, missing otherwise).", + "type": "string" + }, + "enabled": { + "description": "True when the access key is enabled.", + "type": "boolean" + }, + "expiration_date": { + "description": "The date when the access key expires.", + "format": "date-time", + "type": "string" + } + } + }, + "access_key_update_request": { + "description": "

Request body to enable / disable an access key.

", + "properties": { + "enabled": { + "description": "True when the access key should be enabled.", + "type": "boolean" + } + } + }, + "account_transaction": { + "description": "

Document representing an account transaction

", + "properties": { + "amount": { + "$ref": "#/definitions/money", + "description": "The amount of the gift certificate" + }, + "order_no": { + "description": "The order number of the gift certificate", + "type": "string" + }, + "timestamp": { + "description": "The timestamp of the transaction of the gift certificate", + "format": "date-time", + "type": "string" + }, + "type_code": { + "description": "The type code of the gift certificate", + "enum": [ + "create", + "redeem", + "delete", + "enable", + "disable" + ], + "type": "string" + } + } + }, + "alert_descriptor": { + "description": "

Document describing a single alert descriptor.

", + "properties": { + "application_context_path": { + "description": "The application context path.", + "minLength": 1, + "type": "string" + }, + "application_id": { + "description": "The application ID.", + "minLength": 1, + "type": "string" + }, + "context_object_type": { + "description": "The context object type.", + "type": "string" + }, + "default_priority": { + "description": "The default priority.", + "enum": [ + "not_allowed", + "hidden", + "informational", + "warning", + "action_required" + ], + "minLength": 1, + "type": "string" + }, + "link": { + "description": "URL for this resource.", + "minLength": 1, + "type": "string" + }, + "message_id": { + "description": "The message ID.", + "minLength": 1, + "type": "string" + } + } + }, + "alert_descriptor_settings": { + "description": "

Document describing settings for a single alert descriptor.

", + "properties": { + "application_context_path": { + "description": "The application context path.", + "minLength": 1, + "type": "string" + }, + "application_id": { + "description": "The application ID.", + "minLength": 1, + "type": "string" + }, + "is_user_override": { + "description": "

Flag that indicates whether the settings for this descriptor have been changed by the user.

In a PATCH request, this flag must be set to true to override the default settings. If this flag to false in a PATCH request, the default user settings for this descriptor are restored (and all other fields are ignored).

", + "type": "boolean" + }, + "message_id": { + "description": "The message ID.", + "minLength": 1, + "type": "string" + }, + "priority": { + "description": "The user priority.", + "enum": [ + "hidden", + "informational", + "warning", + "action_required" + ], + "type": "string" + }, + "show_in_header": { + "description": "Flag that indicates whether the alert is shown in the Business Manager header.", + "type": "boolean" + }, + "show_on_banner": { + "description": "Flag that indicates whether the alert is shown on the Business Manager banner (on every page).", + "type": "boolean" + }, + "show_on_homepage": { + "description": "Flag that indicates whether the alert is shown on the Business Manager homepage.", + "type": "boolean" + } + }, + "required": [ + "application_context_path", + "application_id", + "is_user_override", + "message_id", + "priority", + "show_in_header", + "show_on_homepage" + ] + }, + "alert_descriptors": { + "description": "

Document containing a collection of alert descriptors.

", + "properties": { + "data": { + "description": "Collection of alert descriptors", + "items": { + "$ref": "#/definitions/alert_descriptor" + }, + "type": "array" + } + } + }, + "alert_descriptors_revalidation_request": { + "description": "

Contains parameters for a alert descriptor revalidation request.

", + "properties": { + "context_object_id": { + "description": "ID of the object in which context messages should be revalidated.", + "type": "string" + } + } + }, + "alert_settings": { + "description": "

Document containing the alert settings of a user.

", + "properties": { + "settings": { + "description": "Alert settings.", + "items": { + "$ref": "#/definitions/alert_descriptor_settings" + }, + "type": "array" + } + } + }, + "application_permissions": { + "description": "

Document representing the available applications for retrieving permissions.

", + "properties": { + "applications": { + "description": "The available applications (e.g. 'bm' for Business Manager).", + "items": { + "type": "string" + }, + "type": "array" + }, + "bm": { + "$ref": "#/definitions/bmpermissions", + "description": "The permissions of application 'bm'." + }, + "csc": { + "$ref": "#/definitions/cscpermissions", + "description": "The permissions of application 'csc'." + } + } + }, + "bmpermissions": { + "properties": { + "functional": { + "$ref": "#/definitions/functional_permissions" + }, + "functional_link": { + "type": "string" + }, + "locale": { + "$ref": "#/definitions/locale_permissions" + }, + "locale_link": { + "type": "string" + }, + "module": { + "$ref": "#/definitions/module_permissions" + }, + "module_link": { + "type": "string" + }, + "types": { + "items": { + "type": "string" + }, + "type": "array" + }, + "webdav": { + "$ref": "#/definitions/webdav_permissions" + }, + "webdav_link": { + "type": "string" + } + } + }, + "bool_filter": { + "description": "

Document representing a boolean filter.\n \n A boolean filter allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter\n is configured with a boolean operator (AND, OR, NOT) and a list of filters the operator relates to. If multiple\n filters are given to a boolean NOT operator, this is interpreted as a NOT upon a boolean OR of the given filters.\n \n Example: (id=\"myId\" AND coupon_id=\"couponOne\")\n

 \n  query: {\n     filtered_query: {\n         query: { match_all_query: {} },\n         filter: {\n             bool_filter: {\n                 operator: \"and\",\n                 filters: [\n                     { term_filter: { field: \"id\", operator: \"is\", values: [\"myId\"] } },\n                     { term_filter: { field: \"coupon_id\", operator: \"is\", values: [\"couponOne\"] } }\n                 ]\n             }\n         }\n     }\n  }\n   
\n Example: (id=\"holidaySale\" OR redemption_count BETWEEN(1, 20)\n
 \n     query: {\n         filtered_query: {\n             query: { match_all_query: {} },\n             filter: {\n                 bool_filter: {\n                 operator: \"or\",\n                 filters: [\n                     { term_filter: { field: \"id\", operator: \"is\", values: [\"holidaySale\"] } },\n                     { range_filter: { field: \"redemption_count\", from: 1, to: 20 } }\n                 ]\n             }\n         }\n     }\n  }\n   
\n Example: NOT(enabled=false OR coupon_id=\"special\")\n
 \n     query: {\n         filtered_query: {\n             query: { match_all_query: {} },\n             filter: {\n                 bool_filter: {\n                 operator: \"not\",\n                 filters: [\n                     { term_filter: { field: \"enabled\", operator: \"is\", values: [false] } },\n                     { term_filter: { field: \"coupon_id\", operator: \"is\", values: [\"special\"] } }\n                 ]\n             }\n         }\n     }\n  }\n   

", + "properties": { + "filters": { + "description": "A list of filters, which are logically combined by an operator.", + "items": { + "$ref": "#/definitions/filter" + }, + "x-sub_types": { + "range_filter": "#/definitions/range_filter", + "bool_filter": "#/definitions/bool_filter", + "query_filter": "#/definitions/query_filter", + "term_filter": "#/definitions/term_filter", + "range2_filter": "#/definitions/range2_filter" + }, + "type": "array" + }, + "operator": { + "description": "The logical operator the filters are combined with.", + "enum": [ + "and", + "or", + "not" + ], + "type": "string" + } + }, + "required": [ + "operator" + ] + }, + "bool_query": { + "description": "

A boolean query allows construction of full logical expression trees consisting of other queries (usually term and text\nqueries). A boolean query basically has 3 sets of clauses that 'must', 'should' and / or 'must not' match. If 'must',\n'must_not', or 'should' appear in the same boolean query, they are combined logically using the AND operator.\nThe difference between must and should operators is that the must operator requires all subqueries to match whereas the should operator only requires one match\n \n Example: (id = 'foo' AND description LIKE 'bar')\n

 \n   query: {\n       bool_query: {\n           must: [\n               { term_query: { fields: [\"id\"], operator: \"is\", values: [\"foo\"] } },\n               { text_query: { fields: [\"description\"], search_phrase: \"bar\" } }\n           ]\n       }\n   }\n 
\n\n Example: (id = 'foo' OR description LIKE 'bar')\n
 \n   query: {\n       bool_query: {\n           should: [\n               { term_query: { fields: [\"id\"], operator: \"is\", values: [\"foo\"] } },\n               { text_query: { fields: [\"description\"], search_phrase: \"bar\" } }\n           ]\n       }\n   }\n 
\n\n Example: (NOT (id = 'foo' AND description LIKE 'bar'))\n
 \n   query: {\n       bool_query: {\n           must_not: [\n               { term_query: { fields: [\"id\"], operator: \"is\", values: [\"foo\"] } },\n               { text_query: { fields: [\"description\"], search_phrase: \"bar\" } }\n           ]\n       }\n   }\n 
\n\n Example: ((coupon_id LIKE \"limit\" AND description LIKE \"limit per customer\") AND NOT (enabled=false))\n
 \n   query: {\n       bool_query: {\n           must: [\n               { text_query: { fields: [ \"coupon_id\" ], search_phrase: \"limit\" } },\n               { text_query: { fields: [ \"description\" ], search_phrase: \"limit per customer\" } }\n           ],\n           must_not: [\n               { term_query: { fields: [ \"enabled\" ], operator: \"is\", values: [false] } }\n           ]\n       }\n   }\n 

", + "properties": { + "must": { + "description": "List of queries that must match.", + "items": { + "$ref": "#/definitions/query" + }, + "x-sub_types": { + "nested_query": "#/definitions/nested_query", + "filtered_query": "#/definitions/filtered_query", + "text_query": "#/definitions/text_query", + "match_all_query": "#/definitions/match_all_query", + "term_query": "#/definitions/term_query", + "bool_query": "#/definitions/bool_query" + }, + "type": "array" + }, + "must_not": { + "description": "List of queries that must not match.", + "items": { + "$ref": "#/definitions/query" + }, + "x-sub_types": { + "nested_query": "#/definitions/nested_query", + "filtered_query": "#/definitions/filtered_query", + "text_query": "#/definitions/text_query", + "match_all_query": "#/definitions/match_all_query", + "term_query": "#/definitions/term_query", + "bool_query": "#/definitions/bool_query" + }, + "type": "array" + }, + "should": { + "description": "List of queries that should match (i.e., at least one query must match).", + "items": { + "$ref": "#/definitions/query" + }, + "x-sub_types": { + "nested_query": "#/definitions/nested_query", + "filtered_query": "#/definitions/filtered_query", + "text_query": "#/definitions/text_query", + "match_all_query": "#/definitions/match_all_query", + "term_query": "#/definitions/term_query", + "bool_query": "#/definitions/bool_query" + }, + "type": "array" + } + } + }, + "campaign": { + "description": "

Document representing a campaign.

", + "properties": { + "campaign_id": { + "description": "The ID of the campaign.", + "x-label": { + "default": "ID" + }, + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "coupons": { + "description": "The array of assigned coupon IDs, not sorted", + "items": { + "type": "string" + }, + "type": "array" + }, + "creation_date": { + "description": "Returns the value of attribute 'creationDate'.", + "format": "date-time", + "x-label": { + "default": "Creation Date" + }, + "readOnly": true, + "type": "string" + }, + "customer_groups": { + "description": "The array of assigned customer groups, not sorted", + "items": { + "type": "string" + }, + "type": "array" + }, + "description": { + "description": "The description of the campaign.", + "format": "text", + "x-label": { + "default": "Description" + }, + "maxLength": 4000, + "type": "string" + }, + "enabled": { + "description": "The enabled flag for campaign.", + "type": "boolean" + }, + "end_date": { + "description": "The date that the Scenario ends", + "format": "date-time", + "x-label": { + "default": "End Date" + }, + "type": "string" + }, + "last_modified": { + "description": "Returns the value of attribute 'lastModified'.", + "format": "date-time", + "x-label": { + "default": "Last Modified" + }, + "readOnly": true, + "type": "string" + }, + "link": { + "description": "link for convenience", + "type": "string" + }, + "source_code_groups": { + "description": "The array of assigned source code groups, not sorted", + "items": { + "type": "string" + }, + "type": "array" + }, + "start_date": { + "description": "The date that the Scenario begins", + "format": "date-time", + "x-label": { + "default": "Start Date" + }, + "type": "string" + } + } + }, + "campaign_search_result": { + "description": "

Document representing a campaign search result.

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. Can be empty.", + "items": { + "$ref": "#/definitions/campaign" + }, + "type": "array" + }, + "next": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the next result page." + }, + "previous": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the previous result page." + }, + "query": { + "$ref": "#/definitions/query", + "description": "The query passed into the search", + "x-sub_types": { + "nested_query": "#/definitions/nested_query", + "filtered_query": "#/definitions/filtered_query", + "text_query": "#/definitions/text_query", + "match_all_query": "#/definitions/match_all_query", + "term_query": "#/definitions/term_query", + "bool_query": "#/definitions/bool_query" + } + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/definitions/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "campaigns": { + "description": "

Document representing an unfiltered list of campaigns.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "$ref": "#/definitions/campaign" + }, + "type": "array" + }, + "expand": { + "description": "The list of expands set for the search request. Expands are optional.", + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "cartridge_path_add_request": { + "description": "

Request body for post operation

", + "properties": { + "name": { + "description": "Name of the cartridge.", + "type": "string" + }, + "position": { + "description": "Position of the cartridge.", + "enum": [ + "first", + "last", + "before", + "after" + ], + "type": "string" + }, + "target": { + "description": "When position is 'before' or 'after', need to specify the target cartridge", + "type": "string" + } + }, + "required": [ + "name", + "position" + ] + }, + "cartridge_path_api_response": { + "description": "

Response of cartridge path related operation

", + "properties": { + "cartridges": { + "description": "Updated cartridge path", + "type": "string" + }, + "site_id": { + "description": "Site id", + "type": "string" + } + } + }, + "cartridge_path_create_request": { + "description": "

Request Body for put operation

", + "properties": { + "cartridges": { + "description": "New cartridge path", + "type": "string" + } + }, + "required": [ + "cartridges" + ] + }, + "catalog": { + "description": "

Document representing a catalog

", + "properties": { + "assigned_product_count": { + "description": "The count of products assigned to the catalog. It is read only.", + "format": "int32", + "type": "integer" + }, + "assigned_sites": { + "description": "The sites assigned to the catalog. It is read only.", + "items": { + "$ref": "#/definitions/site" + }, + "type": "array" + }, + "category_count": { + "description": "The category count of catalog. It is read only.", + "format": "int32", + "type": "integer" + }, + "creation_date": { + "description": "Returns the value of attribute 'creationDate'.", + "format": "date-time", + "x-label": { + "default": "Creation Date" + }, + "readOnly": true, + "type": "string" + }, + "description": { + "additionalProperties": { + "type": "string" + }, + "description": "The description of catalog", + "format": "localized", + "x-label": { + "default": "Description" + }, + "type": "object" + }, + "id": { + "description": "The catalog Id", + "x-label": { + "default": "ID" + }, + "type": "string" + }, + "last_modified": { + "description": "Returns the value of attribute 'lastModified'.", + "format": "date-time", + "x-label": { + "default": "Last Modified" + }, + "readOnly": true, + "type": "string" + }, + "link": { + "description": "URL that is used to get this instance. It is read only.", + "type": "string" + }, + "name": { + "additionalProperties": { + "type": "string" + }, + "description": "The catalog name", + "format": "localized", + "x-label": { + "default": "Name" + }, + "type": "object" + }, + "online": { + "description": "The online status of catalog", + "type": "boolean" + }, + "owned_product_count": { + "description": "The count of products owned by the catalog. It is read only.", + "format": "int32", + "type": "integer" + }, + "recommendation_count": { + "description": "The recommendation count of the catalog. It is read only.", + "format": "int32", + "type": "integer" + }, + "root_category": { + "description": "The root category of the catalog. It is read only", + "type": "string" + } + } + }, + "catalog_category_id": { + "description": "

Document representing a catalog category id.

", + "properties": { + "catalog_id": { + "description": "The id of the catalog that owns the category.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "category_id": { + "description": "The id of the category.", + "maxLength": 256, + "minLength": 1, + "type": "string" + } + } + }, + "catalog_search_result": { + "description": "

Document representing a catalog search result.

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. Can be empty.", + "items": { + "$ref": "#/definitions/catalog" + }, + "type": "array" + }, + "next": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the next result page." + }, + "previous": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the previous result page." + }, + "query": { + "$ref": "#/definitions/query", + "description": "The query passed into the search", + "x-sub_types": { + "nested_query": "#/definitions/nested_query", + "filtered_query": "#/definitions/filtered_query", + "text_query": "#/definitions/text_query", + "match_all_query": "#/definitions/match_all_query", + "term_query": "#/definitions/term_query", + "bool_query": "#/definitions/bool_query" + } + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/definitions/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "catalogs": { + "description": "

Document representing an unfiltered list of catalogs.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "description": "The collection of catalogs.", + "items": { + "$ref": "#/definitions/catalog" + }, + "type": "array" + }, + "expand": { + "description": "The list of expands set for the search request. Expands are optional.", + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "categories": { + "description": "

Document representing an unfiltered list of categories.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "$ref": "#/definitions/category" + }, + "type": "array" + }, + "expand": { + "description": "The list of expands set for the search request. Expands are optional.", + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "category": { + "description": "

Document representing a category.

", + "properties": { + "c_alternativeUrl": { + "$ref": "#/definitions/markup_text", + "description": "Renders an alternative URL in main navigation. Uses Commerce Cloud content url notation. For example: $url('Account-Show')$ or normal URL http://xchange.demandware.com", + "x-label": { + "default": "Alternative URL" + } + }, + "c_catBannerID": { + "description": "Used to define the content asset used to populate a grid page banner for a category. This value is applied to all sub-category navigation (cascading) if no specific catBannerID has been defined for a sub-category.", + "x-label": { + "default": "Category Banner ID" + }, + "type": "string" + }, + "c_customCSSFile": { + "$ref": "#/definitions/media_file", + "description": "Use this attribute to apply custom styles for this category.", + "x-label": { + "default": "Custom CSS File" + } + }, + "c_enableCompare": { + "description": "Used to define if/when the Compare feature is to be visualized in the storefront based on navigation. If enableCompare = FALSE, no Compare checkboxes will be displayed in the grid view. If enableCompare = TRUE, the category (and its children) will support the Compare feature.", + "x-label": { + "default": "Enable Compare" + }, + "type": "boolean" + }, + "c_headerMenuBanner": { + "$ref": "#/definitions/markup_text", + "x-label": { + "default": "Header Menu Banner" + } + }, + "c_headerMenuOrientation": { + "description": "Which way to orient the menu and optional header menu HTML. Vertical will list all in one line. Horizontal will list in columns.", + "enum": [ + "Horizontal", + "Vertical" + ], + "x-enum-labels": [ + { + "default": "Horizontal" + }, + { + "default": "Vertical" + } + ], + "x-label": { + "default": "Header Menu Orientation" + }, + "type": "string" + }, + "c_showInMenu": { + "description": "Used to indicate that a category (such as Mens -> Footwear -> Boots) will display in the roll-over navigation. A sub-category only shows if also the parent category is marked as showInMenu. Up to three category levels are shown in roll-over navigation.", + "x-label": { + "default": "Show in Menu Navigation" + }, + "type": "boolean" + }, + "c_sizeChartID": { + "description": "Used to define the content asset ID of the Size Chart that is appropriate for products whose PRIMARY category is the associated category (and its children). Whenever a product detail page (or quick view) is rendered, the Size Chart link is populated based on the value of this attribute for the products primary categorization. If not defined, NO size chart link is displayed.", + "x-label": { + "default": "Size Chart" + }, + "type": "string" + }, + "c_slotBannerHtml": { + "additionalProperties": { + "$ref": "#/definitions/markup_text" + }, + "format": "localized", + "x-label": { + "default": "Slot Banner HTML" + }, + "type": "object" + }, + "c_slotBannerImage": { + "$ref": "#/definitions/media_file", + "description": "Image used on either the top or bottom slot on the category landing pages.", + "x-label": { + "default": "Category Landing Slot Image" + } + }, + "catalog_id": { + "description": "The id of the catalog that contains it.", + "x-label": { + "default": "ID" + }, + "type": "string" + }, + "categories": { + "description": "The array of sub categories for the category.", + "items": { + "$ref": "#/definitions/category" + }, + "type": "array" + }, + "creation_date": { + "description": "Returns the value of attribute 'creationDate'.", + "format": "date-time", + "x-label": { + "default": "Creation Date" + }, + "readOnly": true, + "type": "string" + }, + "description": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized description of the category.", + "format": "localized", + "x-label": { + "default": "Description" + }, + "type": "object" + }, + "id": { + "description": "The id of the category.", + "x-label": { + "default": "ID" + }, + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "image": { + "description": "The name of the category image. The URL to the image is computed.", + "x-label": { + "default": "Standard Image" + }, + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "last_modified": { + "description": "Returns the value of attribute 'lastModified'.", + "format": "date-time", + "x-label": { + "default": "Last Modified" + }, + "readOnly": true, + "type": "string" + }, + "link": { + "description": "The URL to get the category. This is a computed attribute and cannot be modified.", + "type": "string" + }, + "name": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized name of the category.", + "format": "localized", + "x-label": { + "default": "Name" + }, + "type": "object" + }, + "online": { + "description": "The online status of the category determines if it is visible in the storefront. Defaults to false if not specified on create.", + "x-label": { + "default": "Online" + }, + "type": "boolean" + }, + "page_description": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized page description of the category.", + "format": "localized", + "x-label": { + "default": "Page Description" + }, + "type": "object" + }, + "page_keywords": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized page keywords for the category.", + "format": "localized", + "x-label": { + "default": "Page Keywords" + }, + "type": "object" + }, + "page_title": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized page title of the category.", + "format": "localized", + "x-label": { + "default": "Page Title" + }, + "type": "object" + }, + "parent_category_id": { + "description": "The id of the parent category. Defaults to root if not specified on create.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "paths": { + "items": { + "$ref": "#/definitions/path_record" + }, + "type": "array" + }, + "position": { + "description": "The position of the category determines the display order in the storefront.", + "format": "double", + "type": "number" + }, + "sorting_rules": { + "items": { + "$ref": "#/definitions/sorting_rule" + }, + "type": "array" + }, + "thumbnail": { + "description": "The name of the category thumbnail. The URL to the thumbnail is computed.", + "x-label": { + "default": "Thumbnail Image" + }, + "maxLength": 256, + "minLength": 1, + "type": "string" + } + } + }, + "category_link": { + "description": "

Document representing a category link

", + "properties": { + "last_modified": { + "description": "The date the link was last modified", + "format": "date-time", + "type": "string" + }, + "link": { + "description": "URL that is used to get this instance", + "type": "string" + }, + "position": { + "description": "The position in the source catalog / category for this link relative to the other links in the same category.", + "format": "double", + "minimum": 0.0, + "type": "number" + }, + "source_catalog_id": { + "description": "The source catalog for the link", + "type": "string" + }, + "source_catalog_name": { + "additionalProperties": { + "type": "string" + }, + "description": "The name of the source catalog", + "format": "localized", + "type": "object" + }, + "source_category_id": { + "description": "The source category for the link", + "type": "string" + }, + "source_category_name": { + "additionalProperties": { + "type": "string" + }, + "description": "The name of the source category", + "format": "localized", + "type": "object" + }, + "target_catalog_id": { + "description": "The target category for the link", + "type": "string" + }, + "target_catalog_name": { + "additionalProperties": { + "type": "string" + }, + "description": "The name of the target catalog", + "format": "localized", + "type": "object" + }, + "target_category_id": { + "description": "The target category for the link", + "type": "string" + }, + "target_category_name": { + "additionalProperties": { + "type": "string" + }, + "description": "The name of the target category", + "format": "localized", + "type": "object" + }, + "type": { + "description": "The link type", + "enum": [ + "other", + "accessories", + "cross_selling", + "up_selling", + "spare_parts" + ], + "type": "string" + } + } + }, + "category_links": { + "description": "

Document representing an unfiltered list of category links.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "$ref": "#/definitions/category_link" + }, + "type": "array" + }, + "expand": { + "description": "The list of expands set for the search request. Expands are optional.", + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "category_product_assignment": { + "description": "

Document representing a category product assignment.

", + "properties": { + "catalog_id": { + "description": "The id of the catalog.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "category_id": { + "description": "The id of the category.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "creation_date": { + "format": "date-time", + "type": "string" + }, + "last_modified": { + "format": "date-time", + "type": "string" + }, + "link": { + "description": "The URL used to get the product category assignment.", + "type": "string" + }, + "owning_catalog_name": { + "additionalProperties": { + "type": "string" + }, + "description": "The name of the catalog that owns the product.", + "format": "localized", + "type": "object" + }, + "position": { + "description": "The position of product category assignment.", + "format": "double", + "type": "number" + }, + "product": { + "$ref": "#/definitions/product", + "description": "The product that is assigned to the category." + }, + "product_id": { + "description": "The id of the Product.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "product_name": { + "additionalProperties": { + "type": "string" + }, + "description": "The name of the product.", + "format": "localized", + "type": "object" + } + } + }, + "category_product_assignment_search_request": { + "description": "

Document representing product_search_request

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "maximum": 200, + "minimum": 1, + "type": "integer" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "The list of expansions that can be applied:\n ", + "items": { + "type": "string" + }, + "type": "array" + }, + "query": { + "$ref": "#/definitions/query", + "description": "The query passed into the search", + "x-sub_types": { + "nested_query": "#/definitions/nested_query", + "filtered_query": "#/definitions/filtered_query", + "text_query": "#/definitions/text_query", + "match_all_query": "#/definitions/match_all_query", + "term_query": "#/definitions/term_query", + "bool_query": "#/definitions/bool_query" + } + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/definitions/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "query" + ] + }, + "category_product_assignment_search_result": { + "description": "

Document representing a product search result.

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. This array can be empty.", + "items": { + "$ref": "#/definitions/category_product_assignment" + }, + "type": "array" + }, + "next": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the next result page." + }, + "previous": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the previous result page." + }, + "query": { + "$ref": "#/definitions/query", + "description": "The query passed into the search", + "x-sub_types": { + "nested_query": "#/definitions/nested_query", + "filtered_query": "#/definitions/filtered_query", + "text_query": "#/definitions/text_query", + "match_all_query": "#/definitions/match_all_query", + "term_query": "#/definitions/term_query", + "bool_query": "#/definitions/bool_query" + } + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/definitions/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "category_search_result": { + "description": "

Document representing a catalog search result.

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. Can be empty.", + "items": { + "$ref": "#/definitions/category" + }, + "type": "array" + }, + "next": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the next result page." + }, + "previous": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the previous result page." + }, + "query": { + "$ref": "#/definitions/query", + "description": "The query passed into the search", + "x-sub_types": { + "nested_query": "#/definitions/nested_query", + "filtered_query": "#/definitions/filtered_query", + "text_query": "#/definitions/text_query", + "match_all_query": "#/definitions/match_all_query", + "term_query": "#/definitions/term_query", + "bool_query": "#/definitions/bool_query" + } + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/definitions/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "code_version": { + "description": "

Document representing a code version

", + "properties": { + "activation_time": { + "description": "The code version activation time.", + "format": "date-time", + "type": "string" + }, + "active": { + "description": "Use this method to determine, if this code version is currently active.", + "type": "boolean" + }, + "cartridges": { + "description": "A list containing the names of all cartridges participating in this code version.", + "items": { + "type": "string" + }, + "type": "array" + }, + "compatibility_mode": { + "description": "The code version compatibility mode.", + "type": "string" + }, + "id": { + "description": "The code version id.", + "type": "string" + }, + "last_modification_time": { + "description": "The last time, when the code version was changed.", + "format": "date-time", + "type": "string" + }, + "rollback": { + "description": "Use this method to determine, if this code version is the current rollback version.", + "type": "boolean" + }, + "total_size": { + "description": "Returns the total size of the file system content of this code version in bytes.", + "format": "int64", + "type": "integer" + }, + "web_dav_url": { + "description": "Returns the HTTPS based WebDAV URL that can be used to access the code version resources.", + "type": "string" + } + } + }, + "code_version_result": { + "description": "

Result document containing an array of code versions.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "description": "The array of code versions", + "items": { + "$ref": "#/definitions/code_version" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "content_asset": { + "description": "

Document representing a content asset.

", + "properties": { + "c_Year": { + "x-label": { + "default": "Year" + }, + "type": "string" + }, + "c_body": { + "additionalProperties": { + "$ref": "#/definitions/markup_text" + }, + "format": "localized", + "x-label": { + "default": "Body" + }, + "type": "object" + }, + "c_customCSSFile": { + "$ref": "#/definitions/media_file", + "description": "Use this attribute to apply custom styles for this content asset.", + "x-label": { + "default": "Custom CSS File" + } + }, + "classification_folder_id": { + "description": "The ID of the classification folder. It is only part of the response, if the assignment from this content asset to the folder is marked as 'default'. The property is read-only. To set the classification folder just create/update an assignment between this content asset and a folder and mark it as 'default'. See details in /libraries/{library_id}/folder_assignments/{content_id}/{folder_id} resource.", + "type": "string" + }, + "classification_folder_link": { + "description": "The link to the classification folder. It is only part of the response, if the assignment from this content asset to the folder is marked as 'default'. The property is read-only. To set the classification folder just create/update an assignment between this content asset and a folder and mark it as 'default'. See details in /libraries/{library_id}/folder_assignments/{content_id}/{folder_id} resource.", + "type": "string" + }, + "creation_date": { + "description": "Returns the value of attribute 'creationDate'.", + "format": "date-time", + "x-label": { + "default": "Creation Date" + }, + "readOnly": true, + "type": "string" + }, + "description": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized content asset description.", + "format": "localized", + "x-label": { + "default": "Description" + }, + "type": "object" + }, + "id": { + "description": "The id of the content asset.", + "x-label": { + "default": "ID" + }, + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "last_modified": { + "description": "Returns the value of attribute 'lastModified'.", + "format": "date-time", + "x-label": { + "default": "Last Modified" + }, + "readOnly": true, + "type": "string" + }, + "link": { + "description": "The link to the content asset resource.", + "type": "string" + }, + "name": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized content asset name.", + "format": "localized", + "x-label": { + "default": "Name" + }, + "type": "object" + }, + "online": { + "additionalProperties": { + "type": "boolean" + }, + "description": "Is the asset online?", + "format": "site-specific", + "x-label": { + "default": "Online" + }, + "type": "object" + }, + "page_description": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized content asset page description.", + "format": "localized", + "x-label": { + "default": "Page Description" + }, + "type": "object" + }, + "page_keywords": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized content asset page keywords.", + "format": "localized", + "x-label": { + "default": "Page Keywords" + }, + "type": "object" + }, + "page_title": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized content asset page title.", + "format": "localized", + "x-label": { + "default": "Page Title" + }, + "type": "object" + }, + "page_url": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized content asset page url.", + "format": "localized", + "x-label": { + "default": "Page URL" + }, + "type": "object" + }, + "searchable": { + "additionalProperties": { + "type": "boolean" + }, + "description": "Is the asset searchable?", + "format": "site-specific", + "type": "object" + }, + "site_map_change_frequency": { + "additionalProperties": { + "enum": [ + "always", + "daily", + "hourly", + "monthly", + "never", + "weekly", + "yearly" + ], + "x-enum-labels": [ + { + "default": "always" + }, + { + "default": "daily" + }, + { + "default": "hourly" + }, + { + "default": "monthly" + }, + { + "default": "never" + }, + { + "default": "weekly" + }, + { + "default": "yearly" + } + ], + "type": "string" + }, + "description": "The content assets change frequency needed for the sitemap creation (always, hourly, daily, weekly, monthly, yearly, never).", + "format": "site-specific", + "x-label": { + "default": "Change Frequency" + }, + "type": "object" + }, + "site_map_included": { + "additionalProperties": { + "enum": [ + 0, + 1 + ], + "x-enum-labels": [ + { + "default": "NO" + }, + { + "default": "YES" + } + ], + "format": "int32", + "maximum": 1, + "minimum": 0, + "type": "integer" + }, + "description": "The status if the content asset is included into the sitemap (either 0 or 1).", + "format": "site-specific", + "x-label": { + "default": "Included" + }, + "type": "object" + }, + "site_map_priority": { + "additionalProperties": { + "format": "double", + "maximum": 1.0, + "type": "number" + }, + "description": "The content assets priority needed for the sitemap creation (0.0 for no priority defined).", + "format": "site-specific", + "x-label": { + "default": "Priority" + }, + "type": "object" + }, + "template": { + "description": "The rendering template.", + "x-label": { + "default": "Rendering Template" + }, + "type": "string" + } + } + }, + "content_asset_result": { + "description": "

Result document containing an array of content assets.

", + "properties": { + "count": { + "description": "The number of search results in the current page.", + "format": "int32", + "type": "integer" + }, + "data": { + "description": "The returned objects.", + "items": { + "type": "object" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. This array can be empty.", + "items": { + "$ref": "#/definitions/content_asset" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search result to include in the document.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of search results.", + "format": "int32", + "type": "integer" + } + } + }, + "content_folder": { + "description": "

Document representing a content folder.

", + "properties": { + "c_customCSSFile": { + "$ref": "#/definitions/media_file", + "description": "Use this attribute to apply custom styles for this category.", + "x-label": { + "default": "Custom CSS File" + } + }, + "creation_date": { + "description": "Returns the value of attribute 'creationDate'.", + "format": "date-time", + "x-label": { + "default": "Creation Date" + }, + "readOnly": true, + "type": "string" + }, + "description": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized content folder description.", + "format": "localized", + "x-label": { + "default": "Description" + }, + "type": "object" + }, + "id": { + "description": "The id of the content folder.", + "x-label": { + "default": "ID" + }, + "maxLength": 256, + "type": "string" + }, + "last_modified": { + "description": "Returns the value of attribute 'lastModified'.", + "format": "date-time", + "x-label": { + "default": "Last Modified" + }, + "readOnly": true, + "type": "string" + }, + "link": { + "description": "The link to the content folder resource.", + "type": "string" + }, + "name": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized content folder name.", + "format": "localized", + "x-label": { + "default": "Name" + }, + "type": "object" + }, + "online": { + "description": "A flag indicating whether the folder in online (default is false).", + "x-label": { + "default": "Online" + }, + "type": "boolean" + }, + "page_description": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized content folder page description.", + "format": "localized", + "x-label": { + "default": "Page Description" + }, + "type": "object" + }, + "page_keywords": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized content folder page keywords.", + "format": "localized", + "x-label": { + "default": "Page Keywords" + }, + "type": "object" + }, + "page_title": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized content folder page title.", + "format": "localized", + "x-label": { + "default": "Page Title" + }, + "type": "object" + }, + "page_url": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized content folder page URL.", + "format": "localized", + "x-label": { + "default": "Page URL" + }, + "type": "object" + }, + "parent_folder_id": { + "description": "The id of the parent content folder.", + "type": "string" + }, + "parent_link": { + "description": "The URL to the parent content folder.", + "type": "string" + }, + "sub_folders_link": { + "description": "The URL to list the content sub-folders.", + "type": "string" + }, + "template": { + "description": "The rendering template.", + "x-label": { + "default": "Rendering Template" + }, + "type": "string" + } + } + }, + "content_folder_assignment": { + "description": "

Document representing a content folder assignment.

", + "properties": { + "content_id": { + "description": "The content id.", + "maxLength": 256, + "type": "string" + }, + "content_link": { + "description": "The content link.", + "type": "string" + }, + "default": { + "description": "A flag indicating whether the assignment is the default one.", + "type": "boolean" + }, + "folder_id": { + "description": "The folder id.", + "maxLength": 256, + "type": "string" + }, + "folder_link": { + "description": "The folder link.", + "type": "string" + }, + "position": { + "description": "The position of the content asset in the folder.", + "format": "double", + "minimum": 0.0, + "type": "number" + } + } + }, + "content_folder_result": { + "description": "

Result document containing an array of content folders.

", + "properties": { + "count": { + "description": "The number of search results in the current page.", + "format": "int32", + "type": "integer" + }, + "data": { + "description": "The returned objects.", + "items": { + "type": "object" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. This array can be empty.", + "items": { + "$ref": "#/definitions/content_folder" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search result to include in the document.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of search results.", + "format": "int32", + "type": "integer" + } + } + }, + "content_sub_folder_result": { + "description": "

Result document containing an array of content subfolders.

", + "properties": { + "count": { + "description": "The number of search results in the current page.", + "format": "int32", + "type": "integer" + }, + "data": { + "description": "The returned objects.", + "items": { + "type": "object" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. This array can be empty.", + "items": { + "$ref": "#/definitions/content_folder" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search result to include in the document.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of search results.", + "format": "int32", + "type": "integer" + } + } + }, + "coupon": { + "description": "

Document representing a coupon.

", + "properties": { + "case_insensitive": { + "description": "True if a coupon is case insensitive; false otherwise. This attribute on the coupon can not be\n modified after the coupon has been created. If an attempt was made to modify this the system would return\n CouponUpdateForbiddenException", + "type": "boolean" + }, + "coupon_id": { + "description": "The id of the coupon.", + "x-label": { + "default": "ID" + }, + "maxLength": 256, + "minLength": 1, + "readOnly": true, + "type": "string" + }, + "creation_date": { + "description": "Returns the value of attribute 'creationDate'.", + "format": "date-time", + "x-label": { + "default": "Creation Date" + }, + "readOnly": true, + "type": "string" + }, + "description": { + "description": "The description of the coupon.", + "maxLength": 4000, + "type": "string" + }, + "enabled": { + "description": "A flag indicating whether the coupon is enabled.", + "x-label": { + "default": "Enabled" + }, + "type": "boolean" + }, + "exported_code_count": { + "description": "The number of coupon codes attached to the coupon that have been issued (request search only).", + "format": "int32", + "type": "integer" + }, + "last_modified": { + "description": "Returns the value of attribute 'lastModified'.", + "format": "date-time", + "x-label": { + "default": "Last Modified" + }, + "readOnly": true, + "type": "string" + }, + "link": { + "description": "A link to the coupon.", + "type": "string" + }, + "multiple_codes_per_basket": { + "description": "True if a coupon with multiple codes can have different codes used on the same basket or order. If the coupon\n type does not support this configuration, this will return false.", + "type": "boolean" + }, + "redemption_count": { + "description": "The number of times the coupon has been redeemed (request search only).", + "format": "int32", + "type": "integer" + }, + "redemption_limits": { + "$ref": "#/definitions/redemption_limits", + "description": "The redemption limit per coupon code." + }, + "single_code": { + "description": "Single coupon code, only valid for Single Code type", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "system_codes_config": { + "$ref": "#/definitions/coupon_system_code_config", + "description": "The configuration of system coupon codes, including pre-fix and number of codes" + }, + "total_codes_count": { + "description": "The total number of coupon codes associated with this coupon", + "format": "int32", + "type": "integer" + }, + "type": { + "description": "The type of the coupon code.", + "enum": [ + "single_code", + "multiple_codes", + "system_codes" + ], + "x-enum-labels": [ + { + "default": "Coupon with multiple fixed codes" + }, + { + "default": "Coupon with single fixed code" + }, + { + "default": "Coupon with system generated codes" + } + ], + "x-label": { + "default": "Type" + }, + "readOnly": true, + "type": "string" + } + } + }, + "coupon_code": { + "description": "

A coupon code with accompanying stats for redemptions and issued.

", + "properties": { + "code": { + "description": "The code used to redeem the coupon", + "type": "string" + }, + "issued": { + "description": "Flag indicating if the coupon code has been issued", + "type": "boolean" + }, + "redemption_count": { + "description": "The count of the number of redemptions associated with the code", + "format": "int32", + "type": "integer" + } + } + }, + "coupon_codes": { + "description": "

Document representing a set of coupon codes.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "description": "The collection of coupon codes", + "items": { + "$ref": "#/definitions/coupon_code" + }, + "type": "array" + }, + "expand": { + "description": "The list of expands set for the search request. Expands are optional.", + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "coupon_multi_codes_request": { + "description": "

A request object to add and remove coupon codes from a document

", + "properties": { + "codes": { + "description": "The list of coupon codes to add or delete", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "codes" + ] + }, + "coupon_redemption": { + "description": "

A redemption record returned from the coupon redemption resources

", + "properties": { + "code": { + "description": "The coupon code that was redeemed", + "type": "string" + }, + "coupon_id": { + "description": "The coupon id that was redeemed", + "type": "string" + }, + "creation_date": { + "format": "date-time", + "type": "string" + }, + "customer_email": { + "description": "The customer email that was used to redeem it", + "type": "string" + }, + "last_modified": { + "format": "date-time", + "type": "string" + }, + "order_no": { + "description": "The order number where the redemption occurred", + "type": "string" + }, + "view_order_url": { + "description": "A URL able to access the order", + "type": "string" + } + } + }, + "coupon_redemption_search_result": { + "description": "

The result of the coupon redemption search

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The hits from the search", + "items": { + "$ref": "#/definitions/coupon_redemption" + }, + "type": "array" + }, + "next": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the next result page." + }, + "previous": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the previous result page." + }, + "query": { + "$ref": "#/definitions/query", + "description": "The query passed into the search", + "x-sub_types": { + "nested_query": "#/definitions/nested_query", + "filtered_query": "#/definitions/filtered_query", + "text_query": "#/definitions/text_query", + "match_all_query": "#/definitions/match_all_query", + "term_query": "#/definitions/term_query", + "bool_query": "#/definitions/bool_query" + } + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/definitions/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "coupon_search_result": { + "description": "

Document representing a coupon search result.

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. Can be empty.", + "items": { + "$ref": "#/definitions/coupon" + }, + "type": "array" + }, + "next": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the next result page." + }, + "previous": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the previous result page." + }, + "query": { + "$ref": "#/definitions/query", + "description": "The query passed into the search", + "x-sub_types": { + "nested_query": "#/definitions/nested_query", + "filtered_query": "#/definitions/filtered_query", + "text_query": "#/definitions/text_query", + "match_all_query": "#/definitions/match_all_query", + "term_query": "#/definitions/term_query", + "bool_query": "#/definitions/bool_query" + } + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/definitions/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "coupon_system_code_config": { + "properties": { + "code_prefix": { + "description": "The code prefix for system-generated coupon codes.", + "x-label": { + "default": "Code Prefix" + }, + "type": "string" + }, + "number_of_codes": { + "description": "The number of system coupon codes that can be issued.", + "format": "int32", + "type": "integer" + } + } + }, + "coupons": { + "description": "

Document representing an unfiltered list of coupons.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "$ref": "#/definitions/coupon" + }, + "type": "array" + }, + "expand": { + "description": "The list of expands set for the search request. Expands are optional.", + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "credentials": { + "description": "

Document representing the credentials of a customer.

", + "properties": { + "enabled": { + "description": "A flag indicating whether the customer is enabled and can log.", + "type": "boolean" + }, + "locked": { + "description": "A flag indicating whether the customer account is locked.", + "type": "boolean" + }, + "login": { + "description": "The login of the customer.", + "maxLength": 256, + "type": "string" + }, + "password_question": { + "description": "The password question.", + "maxLength": 256, + "type": "string" + } + }, + "required": [ + "login" + ] + }, + "cscpermissions": { + "properties": { + "module": { + "$ref": "#/definitions/module_permissions" + }, + "module_link": { + "type": "string" + }, + "types": { + "items": { + "type": "string" + }, + "type": "array" + } + } + }, + "custom_log_settings": { + "description": "

Document representing custom logging settings.

", + "properties": { + "debug_permitted": { + "description": "False if the current instance is production.", + "type": "boolean" + }, + "debug_to_file": { + "description": "Indicates if custom debug logs are written to file.", + "type": "boolean" + }, + "email_to": { + "description": "Email addresses for fatal log messages with a maximum length of 1000 characters.", + "maxLength": 1000, + "type": "string" + }, + "error_to_file": { + "description": "Indicates if custom error logs are written to file.", + "type": "boolean" + }, + "fatal_to_file": { + "description": "Indicates if custom fatal logs are written to file.", + "type": "boolean" + }, + "info_to_file": { + "description": "Indicates if custom info logs are written to file.", + "type": "boolean" + }, + "log_categories": { + "description": "Defined custom log categories.", + "items": { + "$ref": "#/definitions/log_category" + }, + "type": "array" + }, + "root_level": { + "description": "Custom root category log level.", + "type": "string" + }, + "warn_to_file": { + "description": "Indicates if custom warn logs are written to file.", + "type": "boolean" + } + } + }, + "custom_object": { + "description": "

Document representing a custom object that contains all defined custom attributes for its object type.

", + "properties": { + "key_property": { + "description": "The name of the key property for the custom object. This is ignored in input documents.", + "type": "string" + }, + "key_value_integer": { + "description": "The id of the custom object when the type of the key is Integer. This is ignored in input documents.", + "format": "int32", + "type": "integer" + }, + "key_value_string": { + "description": "The id of the custom object when the type of the key is String. This is ignored in input documents.", + "type": "string" + }, + "object_type": { + "description": "The id of the object type. This is ignored in input documents.", + "type": "string" + } + } + }, + "custom_object_search_result": { + "description": "

Document representing a custom object search result.

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. May be empty.", + "items": { + "$ref": "#/definitions/custom_object" + }, + "type": "array" + }, + "next": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the next result page." + }, + "previous": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the previous result page." + }, + "query": { + "$ref": "#/definitions/query", + "description": "The query passed into the search", + "x-sub_types": { + "nested_query": "#/definitions/nested_query", + "filtered_query": "#/definitions/filtered_query", + "text_query": "#/definitions/text_query", + "match_all_query": "#/definitions/match_all_query", + "term_query": "#/definitions/term_query", + "bool_query": "#/definitions/bool_query" + } + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/definitions/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "customer": { + "description": "

Document representing a customer.

", + "properties": { + "birthday": { + "description": "The customer's birthday.", + "format": "date", + "x-label": { + "default": "Birthday" + }, + "type": "string" + }, + "c_familyStatus": { + "x-label": { + "default": "Family Status" + }, + "type": "string" + }, + "company_name": { + "description": "The customer's company name.", + "x-label": { + "default": "Company" + }, + "maxLength": 256, + "type": "string" + }, + "creation_date": { + "description": "Returns the value of attribute 'creationDate'.", + "format": "date-time", + "x-label": { + "default": "Creation Date" + }, + "readOnly": true, + "type": "string" + }, + "credentials": { + "$ref": "#/definitions/credentials", + "description": "The customer's credentials." + }, + "customer_id": { + "description": "The customer's id. Both registered and guest customers have a\n customer id.", + "maxLength": 28, + "type": "string" + }, + "customer_no": { + "description": "The customer's number.", + "x-label": { + "default": "Customer No." + }, + "maxLength": 100, + "type": "string" + }, + "email": { + "description": "The customer's email address.", + "format": "email", + "x-label": { + "default": "Email" + }, + "maxLength": 256, + "type": "string" + }, + "fax": { + "description": "The fax number to use for the customer.\n The length is restricted to 32 characters.", + "x-label": { + "default": "Fax Number" + }, + "maxLength": 32, + "type": "string" + }, + "first_name": { + "description": "The customer's first name.", + "x-label": { + "default": "First Name" + }, + "maxLength": 256, + "type": "string" + }, + "gender": { + "description": "The customer's gender.", + "enum": [ + 1, + 2 + ], + "x-enum-labels": [ + { + "default": "Male" + }, + { + "default": "Female" + } + ], + "format": "int32", + "x-label": { + "default": "Gender" + }, + "type": "integer" + }, + "global_party_id": { + "description": "The Global Party ID is set by Customer 360 and identifies a person across multiple systems.", + "type": "string" + }, + "job_title": { + "description": "The customer's job title.", + "x-label": { + "default": "Job Title" + }, + "maxLength": 256, + "type": "string" + }, + "last_login_time": { + "description": "The last login time of the customer.", + "format": "date-time", + "x-label": { + "default": "Last Login Time" + }, + "readOnly": true, + "type": "string" + }, + "last_modified": { + "description": "Returns the value of attribute 'lastModified'.", + "format": "date-time", + "x-label": { + "default": "Last Modified" + }, + "readOnly": true, + "type": "string" + }, + "last_name": { + "description": "The customer's last name.", + "x-label": { + "default": "Last Name" + }, + "maxLength": 256, + "type": "string" + }, + "last_visit_time": { + "description": "The last visit time of the customer.", + "format": "date-time", + "x-label": { + "default": "Last Visit Time" + }, + "readOnly": true, + "type": "string" + }, + "phone_business": { + "description": "The customer's business phone number.", + "x-label": { + "default": "Business Phone" + }, + "maxLength": 32, + "type": "string" + }, + "phone_home": { + "description": "The customer's home phone number.", + "x-label": { + "default": "Home Phone" + }, + "maxLength": 32, + "type": "string" + }, + "phone_mobile": { + "description": "The customer's mobile phone number.", + "x-label": { + "default": "Mobile Phone" + }, + "maxLength": 32, + "type": "string" + }, + "preferred_locale": { + "description": "The customer's preferred locale, formatted with a hyphen. (For example: en-US)\n If the request uses an underscore, as with the Java locale format, the stored value is converted to a hyphen.\n (For example: en_US is stored as en-US)", + "x-label": { + "default": "Preferred Locale" + }, + "readOnly": true, + "type": "string" + }, + "previous_login_time": { + "description": "The time when the customer logged in previously.", + "format": "date-time", + "type": "string" + }, + "previous_visit_time": { + "description": "The time when the customer previously visited the store.", + "format": "date-time", + "type": "string" + }, + "primary_address": { + "$ref": "#/definitions/customer_address", + "description": "The customers primary or default address." + }, + "salutation": { + "description": "The customer's salutation.", + "x-label": { + "default": "Salutation" + }, + "maxLength": 256, + "type": "string" + }, + "second_name": { + "description": "The customer's second name.", + "x-label": { + "default": "Second Name" + }, + "maxLength": 256, + "type": "string" + }, + "suffix": { + "description": "The customer's suffix (for example, \"Jr.\" or \"Sr.\").", + "x-label": { + "default": "Name Suffix" + }, + "maxLength": 256, + "type": "string" + }, + "title": { + "description": "The customer's title (for example, \"Mrs\" or \"Mr\").", + "x-label": { + "default": "Title" + }, + "maxLength": 256, + "type": "string" + } + } + }, + "customer_address": { + "description": "

Document representing a customer address.

", + "properties": { + "address1": { + "description": "The customer's first address.", + "x-label": { + "default": "Address 1" + }, + "maxLength": 256, + "type": "string" + }, + "address2": { + "description": "The customer's second address value.", + "x-label": { + "default": "Address 2" + }, + "maxLength": 256, + "type": "string" + }, + "address_id": { + "description": "The customer address id.", + "x-label": { + "default": "Address ID" + }, + "maxLength": 256, + "type": "string" + }, + "city": { + "description": "The customer's city.", + "x-label": { + "default": "City" + }, + "maxLength": 256, + "type": "string" + }, + "company_name": { + "description": "The customer's company name.", + "x-label": { + "default": "Company" + }, + "maxLength": 256, + "type": "string" + }, + "country_code": { + "description": "The customer's two-character country code per ISO 3166-1 alpha-2.", + "enum": [ + "CN", + "FR", + "GB", + "IT", + "JP", + "US" + ], + "x-enum-labels": [ + { + "default": "China" + }, + { + "default": "France" + }, + { + "default": "United Kingdom" + }, + { + "default": "Italy" + }, + { + "default": "Japan" + }, + { + "default": "United States" + } + ], + "x-label": { + "default": "Country" + }, + "maxLength": 2, + "type": "string" + }, + "creation_date": { + "description": "Returns the value of attribute 'creationDate'.", + "format": "date-time", + "x-label": { + "default": "Creation Date" + }, + "readOnly": true, + "type": "string" + }, + "etag": { + "type": "string" + }, + "first_name": { + "description": "The customer's first name.", + "x-label": { + "default": "First Name" + }, + "maxLength": 256, + "type": "string" + }, + "full_name": { + "description": "The concatenation of the customer's first, middle, and last names and its suffix.", + "type": "string" + }, + "job_title": { + "description": "The customer's job title.", + "x-label": { + "default": "Job Title" + }, + "maxLength": 256, + "type": "string" + }, + "last_modified": { + "description": "Returns the value of attribute 'lastModified'.", + "format": "date-time", + "x-label": { + "default": "Last Modified" + }, + "readOnly": true, + "type": "string" + }, + "last_name": { + "description": "The customer's last name.", + "x-label": { + "default": "Last Name" + }, + "maxLength": 256, + "type": "string" + }, + "phone": { + "description": "The customer's phone number.", + "x-label": { + "default": "Contact Phone" + }, + "maxLength": 32, + "type": "string" + }, + "post_box": { + "description": "The customer's post box.", + "x-label": { + "default": "Post Box" + }, + "maxLength": 256, + "type": "string" + }, + "postal_code": { + "description": "The customer's postal code.", + "x-label": { + "default": "Postal Code" + }, + "maxLength": 256, + "type": "string" + }, + "salutation": { + "description": "The customer's salutation.", + "x-label": { + "default": "Salutation" + }, + "maxLength": 256, + "type": "string" + }, + "second_name": { + "description": "The customer's second name.", + "x-label": { + "default": "Second Name" + }, + "maxLength": 256, + "type": "string" + }, + "state_code": { + "description": "The customer's state.", + "x-label": { + "default": "State" + }, + "maxLength": 256, + "type": "string" + }, + "suffix": { + "description": "The customer's suffix.", + "x-label": { + "default": "Suffix" + }, + "maxLength": 256, + "type": "string" + }, + "suite": { + "description": "The customer's suite.", + "x-label": { + "default": "Suite No." + }, + "maxLength": 32, + "type": "string" + }, + "title": { + "description": "The customer's title.", + "x-label": { + "default": "Title" + }, + "maxLength": 256, + "type": "string" + } + }, + "required": [ + "address_id", + "country_code", + "last_name" + ] + }, + "customer_address_result": { + "description": "

Result document containing an array of customer addresses.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "description": "The array of customer address documents.", + "items": { + "$ref": "#/definitions/customer_address" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "customer_group": { + "description": "

Document representing a customer group

", + "properties": { + "creation_date": { + "description": "Returns the value of attribute 'creationDate'.", + "format": "date-time", + "x-label": { + "default": "Creation Date" + }, + "readOnly": true, + "type": "string" + }, + "description": { + "description": "The description for the customer group. This property is read-only for system groups.", + "x-label": { + "default": "Description" + }, + "type": "string" + }, + "id": { + "description": "The user specific identifier for the customer group, which must be unique across the organization. Property\n is read-only.", + "x-label": { + "default": "ID" + }, + "maxLength": 256, + "minLength": 1, + "readOnly": true, + "type": "string" + }, + "in_deletion": { + "description": "The deletion status of this customer group.", + "type": "boolean" + }, + "last_modified": { + "description": "Returns the value of attribute 'lastModified'.", + "format": "date-time", + "x-label": { + "default": "Last Modified" + }, + "readOnly": true, + "type": "string" + }, + "link": { + "description": "URL that is used to get this instance. This property is computed and cannot be modified.", + "type": "string" + }, + "member_count": { + "description": "The number of members in this customer group.", + "format": "int32", + "type": "integer" + }, + "rule": { + "$ref": "#/definitions/rule", + "description": "The rule of this customer group. Only available for dynamic customer groups." + }, + "type": { + "description": "The type of the customer group. This property is read-only.", + "enum": [ + "system", + "dynamic", + "static" + ], + "type": "string" + } + } + }, + "customer_group_member": { + "description": "

Document representing a customer group member

", + "properties": { + "active": { + "description": "A flag indicating whether the customer is enabled and can log in.", + "type": "boolean" + }, + "c_familyStatus": { + "x-label": { + "default": "Family Status" + }, + "type": "string" + }, + "creation_date": { + "description": "Returns the value of attribute 'creationDate'.", + "format": "date-time", + "x-label": { + "default": "Creation Date" + }, + "readOnly": true, + "type": "string" + }, + "customer_link": { + "description": "The link to the customer resource.", + "maxLength": 256, + "type": "string" + }, + "customer_no": { + "description": "The customers number (id).", + "x-label": { + "default": "Customer No." + }, + "maxLength": 100, + "type": "string" + }, + "email": { + "description": "The customer's email address.", + "format": "email", + "x-label": { + "default": "Email" + }, + "maxLength": 256, + "type": "string" + }, + "first_name": { + "description": "The customer's first name.", + "x-label": { + "default": "First Name" + }, + "maxLength": 256, + "type": "string" + }, + "last_modified": { + "description": "Returns the value of attribute 'lastModified'.", + "format": "date-time", + "x-label": { + "default": "Last Modified" + }, + "readOnly": true, + "type": "string" + }, + "last_name": { + "description": "The customer's last name.", + "x-label": { + "default": "Last Name" + }, + "maxLength": 256, + "type": "string" + }, + "link": { + "description": "The link to the customer group member resource.", + "maxLength": 256, + "type": "string" + }, + "login": { + "description": "The login of the customer.", + "maxLength": 256, + "type": "string" + } + } + }, + "customer_group_member_search_result": { + "description": "

Document representing a customer group member search result.

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. Can be empty.", + "items": { + "$ref": "#/definitions/customer_group_member" + }, + "type": "array" + }, + "next": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the next result page." + }, + "previous": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the previous result page." + }, + "query": { + "$ref": "#/definitions/query", + "description": "The query passed into the search", + "x-sub_types": { + "nested_query": "#/definitions/nested_query", + "filtered_query": "#/definitions/filtered_query", + "text_query": "#/definitions/text_query", + "match_all_query": "#/definitions/match_all_query", + "term_query": "#/definitions/term_query", + "bool_query": "#/definitions/bool_query" + } + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/definitions/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "customer_group_members": { + "description": "

Document representing an unfiltered list of customer groups.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "$ref": "#/definitions/customer_group_member" + }, + "type": "array" + }, + "expand": { + "description": "The list of expands set for the search request. Expands are optional.", + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "customer_group_search_result": { + "description": "

Document representing a customer group search result.

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. Can be empty.", + "items": { + "$ref": "#/definitions/customer_group" + }, + "type": "array" + }, + "next": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the next result page." + }, + "previous": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the previous result page." + }, + "query": { + "$ref": "#/definitions/query", + "description": "The query passed into the search", + "x-sub_types": { + "nested_query": "#/definitions/nested_query", + "filtered_query": "#/definitions/filtered_query", + "text_query": "#/definitions/text_query", + "match_all_query": "#/definitions/match_all_query", + "term_query": "#/definitions/term_query", + "bool_query": "#/definitions/bool_query" + } + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/definitions/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "customer_groups": { + "description": "

Document representing an unfiltered list of customer groups.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "$ref": "#/definitions/customer_group" + }, + "type": "array" + }, + "expand": { + "description": "The list of expands set for the search request. Expands are optional.", + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "customer_list": { + "description": "

Document representing a customer list.

", + "properties": { + "id": { + "description": "The id of the customer list.", + "minLength": 1, + "type": "string" + }, + "preferences": { + "$ref": "#/definitions/customer_list_preferences", + "description": "The preferences of the customer list." + } + }, + "required": [ + "id" + ] + }, + "customer_list_link": { + "description": "

Document representing a link to a customer list.

", + "properties": { + "customer_list_id": { + "description": "The customerlist id.", + "type": "string" + }, + "link": { + "description": "The target of the link.", + "type": "string" + }, + "title": { + "additionalProperties": { + "type": "string" + }, + "description": "The link title.", + "format": "localized", + "type": "object" + } + } + }, + "customer_list_preferences": { + "description": "

Document representing customer list preferences:\n

", + "properties": { + "customer_no_sequence_enabled": { + "description": "Used to determine if the customer number sequence is separated by customer list.", + "type": "boolean" + }, + "data_retention_age": { + "description": "The number days to retain customer data (null or 0 <= x <= 99999).", + "format": "int32", + "type": "integer" + }, + "force_password_contains_alpha": { + "description": "Used to determine if the password must contain an alphabetic character.", + "type": "boolean" + }, + "force_password_contains_numeric": { + "description": "Used to determine if the password must contain a numeric character.", + "type": "boolean" + }, + "force_password_mixed_case": { + "description": "Used to determine if the password must be mixed case.", + "type": "boolean" + }, + "lockout_effective_period": { + "description": "The customer lockout period in minutes (one of 1, 30, 60, 120, 1440, 14400).", + "format": "int32", + "type": "integer" + }, + "lockout_enabled": { + "description": "Used to determine if customers can be locked out.", + "type": "boolean" + }, + "login_attempt_reset_time": { + "description": "The period after which the customer login attempt count resets in minutes (one of 0, 5, 30, 60, 120, 1440).\n\n 1440)", + "format": "int32", + "type": "integer" + }, + "max_failed_logins": { + "description": "The maximum number of failed logins before a customer lockout can occur (1 <= x <= 200).", + "format": "int32", + "type": "integer" + }, + "max_password_age": { + "description": "The maximum age of the customer password in days (one of 7, 10, 14, 30, 60, 90, 365000).", + "format": "int32", + "type": "integer" + }, + "max_password_reset_token_age": { + "description": "The maximum age of the customer password reset token in minutes (one of 30, 60, 120, 360, 720, 1440).", + "format": "int32", + "type": "integer" + }, + "min_password_length": { + "description": "The minimum number of characters required for a customer password (one of 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,\n 13, 14, 15, 20).\n\n 12, 13, 14, 15, 20)", + "format": "int32", + "type": "integer" + }, + "min_password_special_chars": { + "description": "The minimum number of special characters required within a customer password (one of 0, 1, 2, 3, 4, 5).", + "format": "int32", + "type": "integer" + } + }, + "required": [ + "customer_no_sequence_enabled", + "data_retention_age", + "force_password_contains_alpha", + "force_password_contains_numeric", + "force_password_mixed_case", + "lockout_effective_period", + "lockout_enabled", + "login_attempt_reset_time", + "max_failed_logins", + "max_password_age", + "max_password_reset_token_age", + "min_password_length", + "min_password_special_chars" + ] + }, + "customer_search_hit": { + "description": "

Document representing a customer search hit.

", + "properties": { + "data": { + "$ref": "#/definitions/customer", + "description": "The search hit data" + }, + "relevance": { + "description": "The hit's relevance score.", + "format": "double", + "type": "number" + } + } + }, + "customer_search_result": { + "description": "

Document representing a customer search result.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "The list of expands set. Can be empty.", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. Can be empty.", + "items": { + "$ref": "#/definitions/customer_search_hit" + }, + "type": "array" + }, + "next": { + "$ref": "#/definitions/result_page", + "description": "The URL of the next result page." + }, + "previous": { + "$ref": "#/definitions/result_page", + "description": "The URL of the previous result page." + }, + "query": { + "$ref": "#/definitions/query", + "description": "The requested query string.", + "x-sub_types": { + "nested_query": "#/definitions/nested_query", + "filtered_query": "#/definitions/filtered_query", + "text_query": "#/definitions/text_query", + "match_all_query": "#/definitions/match_all_query", + "term_query": "#/definitions/term_query", + "bool_query": "#/definitions/bool_query" + } + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "sorts": { + "items": { + "$ref": "#/definitions/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "ecdn_log_fetch_request": { + "description": "

Input-Document for requesting a Log-Fetch process.

", + "properties": { + "end_time": { + "description": "Optional end time for log file entries, in Unix time stamp format. Must not be more than 1 hour after the start time. If not passed, a one hour time frame is assumed for the log file.", + "format": "date-time", + "type": "string" + }, + "start_time": { + "description": "Start time for log file entries, in Unix time stamp format. Must not be more than 7 days in the past", + "format": "date-time", + "type": "string" + }, + "zone_id": { + "description": "zone id is optional but if it is provided then zone_name is not considered", + "type": "string" + }, + "zone_name": { + "description": "The internationalized domain name representation (from RFC 3490) of the zone name", + "type": "string" + } + }, + "required": [ + "start_time", + "zone_name" + ] + }, + "ecdn_log_fetch_response": { + "description": "

Response object, providing the status of the current log fetch request.

", + "properties": { + "id": { + "description": "ID of the log fetch request", + "type": "string" + }, + "link": { + "description": "HTTPS Download link to the fetched log file, which has a lifetime of 30 minutes. This link will only appear, if the current status of the log fetching is 'finished'.", + "type": "string" + }, + "message": { + "description": "message for the log fetch request", + "type": "string" + }, + "status": { + "description": "Current status of the log fetch request", + "enum": [ + "pending", + "running", + "finished" + ], + "type": "string" + } + } + }, + "empty_body": {}, + "filter": { + "description": "

Document representing a filter.\n \n A filter contains a set of objects that define criteria used to select records. A filter\n can contain one of the following:\n

" + }, + "filtered_query": { + "description": "

A filtered query allows to filter the result of a (possibly complex) query using a (possibly complex) filter.\n \n Example: \n

 \n    query : {\n        filtered_query: {\n            query: {\n                text_query: { fields: [\"coupon_id\"], search_phrase: \"disabled\" }\n            },\n            filter: {\n                term_filter: {\n                    field: \"enabled\", operator: \"is\", values: [ false ]\n                }\n            }\n        }\n    }\n  

", + "properties": { + "filter": { + "$ref": "#/definitions/filter", + "description": "The (possibly complex) filter object.", + "x-sub_types": { + "range_filter": "#/definitions/range_filter", + "bool_filter": "#/definitions/bool_filter", + "query_filter": "#/definitions/query_filter", + "term_filter": "#/definitions/term_filter", + "range2_filter": "#/definitions/range2_filter" + } + }, + "query": { + "$ref": "#/definitions/query", + "description": "The query object.", + "x-sub_types": { + "nested_query": "#/definitions/nested_query", + "filtered_query": "#/definitions/filtered_query", + "text_query": "#/definitions/text_query", + "match_all_query": "#/definitions/match_all_query", + "term_query": "#/definitions/term_query", + "bool_query": "#/definitions/bool_query" + } + } + }, + "required": [ + "filter", + "query" + ] + }, + "functional_permission": { + "description": "

Document representing a functional permission.

", + "properties": { + "description": { + "additionalProperties": { + "type": "string" + }, + "description": "The description of the functional permission.", + "format": "localized", + "type": "object" + }, + "display_name": { + "additionalProperties": { + "type": "string" + }, + "description": "The display name of the functional permission.", + "format": "localized", + "type": "object" + }, + "name": { + "description": "The name of the functional permission.", + "type": "string" + }, + "type": { + "description": "The permission type.", + "type": "string" + }, + "values": { + "description": "The list of possible values for the functional permission, e.g. ACCESS or READONLY.", + "items": { + "type": "string" + }, + "type": "array" + } + } + }, + "functional_permissions": { + "description": "

Document representing the available functional permissions.

", + "properties": { + "organization": { + "description": "The collection of available organization functional permissions.", + "items": { + "$ref": "#/definitions/functional_permission" + }, + "type": "array" + }, + "scopes": { + "description": "The available functional permission scopes (e.g. organization, site).", + "items": { + "type": "string" + }, + "type": "array" + }, + "site": { + "description": "The list of available site functional permissions.", + "items": { + "$ref": "#/definitions/functional_permission" + }, + "type": "array" + } + } + }, + "gift_certificate": { + "description": "

Document representing a gift certificate

", + "properties": { + "amount": { + "$ref": "#/definitions/money", + "description": "The gift certificate amount.\n The user cannot change the gift certificate amount after the creation of the gift certificate." + }, + "balance": { + "$ref": "#/definitions/money", + "description": "The gift certificate balance.\n This is a computed attribute and cannot be modified." + }, + "creation_date": { + "description": "Returns the value of attribute 'creationDate'.", + "format": "date-time", + "x-label": { + "default": "Creation Date" + }, + "readOnly": true, + "type": "string" + }, + "description": { + "description": "The description of the gift certificate.", + "x-label": { + "default": "Description" + }, + "maxLength": 4000, + "type": "string" + }, + "enabled": { + "description": "The enabled flag of the gift certificate.", + "x-label": { + "default": "Enabled" + }, + "type": "boolean" + }, + "last_modified": { + "description": "Returns the value of attribute 'lastModified'.", + "format": "date-time", + "x-label": { + "default": "Last Modified" + }, + "readOnly": true, + "type": "string" + }, + "link": { + "description": "The URL to get the gift certificate.\n This is a computed attribute and cannot be modified.", + "type": "string" + }, + "masked_gift_certificate_code": { + "description": "The masked gift certificate code with all but the\n last 4 characters replaced with a '*' character.\n This is a computed attribute and cannot be modified.", + "type": "string" + }, + "merchant_id": { + "description": "The merchant ID of the gift certificate.\n This is a unique attribute.\n This is a computed attribute and cannot be modified.\n This is used to get, update and the delete gift certificates.", + "x-label": { + "default": "Merchant ID" + }, + "type": "string" + }, + "message": { + "description": "The message to the recipient of the gift certificate.", + "x-label": { + "default": "Message" + }, + "maxLength": 4000, + "type": "string" + }, + "order_no": { + "description": "The order number of the gift certificate.", + "x-label": { + "default": "Order Number" + }, + "type": "string" + }, + "recipient_email": { + "description": "The email address of the recipient of the gift certificate.", + "x-label": { + "default": "Recipient Email" + }, + "type": "string" + }, + "recipient_name": { + "description": "The recipient of the gift certificate.", + "x-label": { + "default": "Recipient Name" + }, + "maxLength": 256, + "type": "string" + }, + "sender_name": { + "description": "The sender of the gift certificate.", + "x-label": { + "default": "Sender Name" + }, + "maxLength": 256, + "type": "string" + }, + "status": { + "description": "The status of the gift certificate.\n While creating a gift certificate, user can set the status\n to either \"pending\" or \"issued\" only.", + "enum": [ + "issued", + "partially_redeemed", + "pending", + "redeemed" + ], + "x-label": { + "default": "Status" + }, + "type": "string" + }, + "transactions": { + "description": "The transactions of the gift certificate. This attribute is only available as part of the response.", + "items": { + "$ref": "#/definitions/account_transaction" + }, + "type": "array" + } + } + }, + "gift_certificate_search_result": { + "description": "

Document representing a gift certificate search result.

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. Can be empty.", + "items": { + "$ref": "#/definitions/gift_certificate" + }, + "type": "array" + }, + "next": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the next result page." + }, + "previous": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the previous result page." + }, + "query": { + "$ref": "#/definitions/query", + "description": "The query passed into the search", + "x-sub_types": { + "nested_query": "#/definitions/nested_query", + "filtered_query": "#/definitions/filtered_query", + "text_query": "#/definitions/text_query", + "match_all_query": "#/definitions/match_all_query", + "term_query": "#/definitions/term_query", + "bool_query": "#/definitions/bool_query" + } + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/definitions/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "gift_certificates": { + "description": "

Document representing an unfiltered list of gift certificates.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "$ref": "#/definitions/gift_certificate" + }, + "type": "array" + }, + "expand": { + "description": "The list of expands set for the search request. Expands are optional.", + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "image_group": { + "description": "

Document representing an image group containing a list of images for a particular view type and an optional variation value.

", + "properties": { + "images": { + "description": "The images of the image group.", + "items": { + "$ref": "#/definitions/media_file" + }, + "type": "array" + }, + "variation_attributes": { + "description": "Returns a list of variation attributes applying to this image group.", + "items": { + "$ref": "#/definitions/variation_attribute" + }, + "type": "array" + }, + "view_type": { + "description": "The image view type.", + "type": "string" + } + } + }, + "inventory_list": { + "description": "

Document representing a inventorylist

", + "properties": { + "assigned_sites": { + "description": "The list of sites this inventory list is assigned to. The assigned sites is a computed attribute, and cannot be\n directly modified.", + "items": { + "type": "string" + }, + "type": "array" + }, + "creation_date": { + "description": "Returns the value of attribute 'creationDate'.", + "format": "date-time", + "x-label": { + "default": "Creation Date" + }, + "readOnly": true, + "type": "string" + }, + "default_in_stock": { + "description": "True if the default for the inventory list is to be in stock. THe default value is false if not specified.", + "type": "boolean" + }, + "description": { + "description": "The user supplied description of this instance.", + "x-label": { + "default": "Description" + }, + "type": "string" + }, + "id": { + "description": "The id for the inventory list, which is required and must be unique.", + "x-label": { + "default": "ID" + }, + "type": "string" + }, + "last_modified": { + "description": "Returns the value of attribute 'lastModified'.", + "format": "date-time", + "x-label": { + "default": "Last Modified" + }, + "readOnly": true, + "type": "string" + }, + "link": { + "description": "URL that is used to get this instance. The URL is a computed attribute, and cannot be modified.", + "type": "string" + }, + "on_order_inventory_enabled": { + "description": "True if the on order flag is enabled. The default value is false if not specified.", + "type": "boolean" + }, + "use_bundle_inventory_only": { + "description": "True if the inventory list is used in bundle inventory only. The default value is false if not specified.", + "type": "boolean" + } + } + }, + "inventory_list_search_result": { + "description": "

Document representing a inventorylist search result.

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. Can be empty.", + "items": { + "$ref": "#/definitions/inventory_list" + }, + "type": "array" + }, + "next": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the next result page." + }, + "previous": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the previous result page." + }, + "query": { + "$ref": "#/definitions/query", + "description": "The query passed into the search", + "x-sub_types": { + "nested_query": "#/definitions/nested_query", + "filtered_query": "#/definitions/filtered_query", + "text_query": "#/definitions/text_query", + "match_all_query": "#/definitions/match_all_query", + "term_query": "#/definitions/term_query", + "bool_query": "#/definitions/bool_query" + } + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/definitions/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "inventory_lists": { + "description": "

Document representing an unfiltered list of inventory lists.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "$ref": "#/definitions/inventory_list" + }, + "type": "array" + }, + "expand": { + "description": "The list of expands set for the search request. Expands are optional.", + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "job_execution": { + "description": "", + "properties": { + "client_id": { + "description": "When the execution was started by a client, this represents the client's id.", + "type": "string" + }, + "continue_information": { + "$ref": "#/definitions/job_execution_continue_information", + "description": "The continuation information of this execution if available." + }, + "creation_date": { + "format": "date-time", + "type": "string" + }, + "duration": { + "description": "Time in milliseconds, the execution was or is running.", + "format": "int64", + "type": "integer" + }, + "effective_duration": { + "description": "Time in milliseconds, the job has done work. Paused times are evicted.", + "format": "int64", + "type": "integer" + }, + "end_time": { + "description": "Timestamp, when execution was finished.", + "format": "date-time", + "type": "string" + }, + "executed_server_id": { + "description": "The ID of the server that executed the job.", + "type": "string" + }, + "execution_scopes": { + "description": "Sorted set of all execution scopes, used by individual steps.", + "items": { + "type": "string" + }, + "type": "array" + }, + "execution_status": { + "description": "The current execution status.", + "enum": [ + "pending", + "running", + "pausing", + "paused", + "resuming", + "resumed", + "restarting", + "restarted", + "retrying", + "retried", + "aborting", + "aborted", + "finished", + "unknown" + ], + "type": "string" + }, + "exit_status": { + "$ref": "#/definitions/status", + "description": "The exit status of the execution, if the execution is in execution status 'finished', 'paused' or 'aborted' and\n is not executed currently anymore." + }, + "id": { + "description": "ID of the execution object.", + "type": "string" + }, + "is_log_file_existing": { + "description": "True if the log file exists, otherwise false.", + "type": "boolean" + }, + "is_restart": { + "description": "True if this execution represents a job restart.", + "type": "boolean" + }, + "job_description": { + "description": "Description of the job, this execution belongs to.", + "type": "string" + }, + "job_id": { + "description": "ID of the job, this execution belongs to.", + "type": "string" + }, + "last_modified": { + "format": "date-time", + "type": "string" + }, + "log_file_path": { + "description": "Full WebDAV path of the log file, containing execution log.", + "type": "string" + }, + "modification_time": { + "description": "Timestamp of the last modification time for the execution.", + "format": "date-time", + "type": "string" + }, + "parameters": { + "description": "List of all job execution parameters.", + "items": { + "$ref": "#/definitions/job_execution_parameter" + }, + "type": "array" + }, + "retry_information": { + "$ref": "#/definitions/job_execution_retry_information", + "description": "The retry information of this execution if available." + }, + "start_time": { + "description": "Timestamp, when execution was started.", + "format": "date-time", + "type": "string" + }, + "status": { + "description": "The current status. If the execution is currently executed the execution status is returned. If the execution is\n not executed currently anymore the exit status code of the execution.", + "type": "string" + }, + "status_metadata": { + "$ref": "#/definitions/status_metadata", + "description": "The metadata of the status." + }, + "step_executions": { + "description": "List of all steps, called for job execution.", + "items": { + "$ref": "#/definitions/job_step_execution" + }, + "type": "array" + }, + "user_login": { + "description": "When the execution was started by a registered user, this represents the user's login.", + "type": "string" + } + } + }, + "job_execution_continue_information": { + "description": "

Information for a job execution continuation.

", + "properties": { + "continue_status": { + "description": "Returns the status, this job execution will get on continuation if continuation is pending.", + "enum": [ + "pending", + "running", + "pausing", + "paused", + "resuming", + "resumed", + "restarting", + "restarted", + "retrying", + "retried", + "aborting", + "aborted", + "aborting_for_restart", + "aborted_for_restart", + "finished", + "unknown" + ], + "type": "string" + }, + "is_pending": { + "description": "Returns true if the continuation of this job execution is pending and will be started soon,\n false otherwise.", + "type": "boolean" + } + } + }, + "job_execution_parameter": { + "description": "

Specification of a parameter for a job execution.
\n
\n Request example to execute the job in all storefront sites:\n

 \n POST /dw/data/v19_10/jobs/CustomerImportJob/executions\n Host: example.com\n Authorization: Bearer af7f5c90-ffc1-4ea4-9613-f5b375b7dc19\n Content-Type: application/json; charset=UTF-8\n {\n    \"parameters\": [\n       {\n           \"name\": \"SiteScope\",\n           \"value\": \"{\\\"all_storefront_sites\\\":true}\"\n       }\n    ]\n }\n  

\n Request example to execute the job in specified sites only:\n
 \n POST /dw/data/v19_10/jobs/CustomerImportJob/executions\n Host: example.com\n Authorization: Bearer af7f5c90-ffc1-4ea4-9613-f5b375b7dc19\n Content-Type: application/json; charset=UTF-8\n {\n    \"parameters\": [\n       {\n           \"name\": \"SiteScope\",\n           \"value\": \"{\\\"named_sites\\\":[\\\"SiteGenesis\\\", \\\"SiteGenesisGlobal\\\"]}\"\n       }\n    ]\n }\n  

", + "properties": { + "name": { + "description": "The name of the parameter.", + "maxLength": 256, + "minLength": 1, + "pattern": "\\S|(\\S(.*)\\S)", + "type": "string" + }, + "value": { + "description": "The value of the parameter.", + "maxLength": 1000, + "pattern": "\\S|(\\S(.*)\\S)", + "type": "string" + } + }, + "required": [ + "name", + "value" + ] + }, + "job_execution_retry_information": { + "description": "

Retry information for a previous failed job execution.

", + "properties": { + "current_retry_attempt": { + "description": "The current attempt to retry the previous failed job execution.", + "format": "int32", + "type": "integer" + }, + "max_retries": { + "description": "The maximum number of retries.", + "format": "int32", + "type": "integer" + } + } + }, + "job_execution_search_result": { + "description": "

Document representing a job execution search result.

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. May be empty.", + "items": { + "$ref": "#/definitions/job_execution" + }, + "type": "array" + }, + "next": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the next result page." + }, + "previous": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the previous result page." + }, + "query": { + "$ref": "#/definitions/query", + "description": "The query passed into the search", + "x-sub_types": { + "nested_query": "#/definitions/nested_query", + "filtered_query": "#/definitions/filtered_query", + "text_query": "#/definitions/text_query", + "match_all_query": "#/definitions/match_all_query", + "term_query": "#/definitions/term_query", + "bool_query": "#/definitions/bool_query" + } + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/definitions/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "job_step_execution": { + "description": "", + "properties": { + "chunk_size": { + "description": "The chunk size for a chunk oriented step execution, otherwise null.", + "format": "int32", + "type": "integer" + }, + "duration": { + "description": "Time in milliseconds, the execution was or is running.", + "format": "int64", + "type": "integer" + }, + "end_time": { + "description": "Timestamp, when execution was finished.", + "format": "date-time", + "type": "string" + }, + "execution_scope": { + "description": "The ID of the scope this step is or was executed for.", + "type": "string" + }, + "execution_status": { + "description": "Current execution status of the step.\n ", + "enum": [ + "pending", + "running", + "pausing", + "paused", + "resuming", + "resumed", + "restarting", + "restarted", + "retrying", + "retried", + "aborting", + "aborted", + "finished", + "unknown" + ], + "type": "string" + }, + "exit_status": { + "$ref": "#/definitions/status", + "description": "The exit status of the step execution, if the step execution is in execution status 'finished', 'paused' or\n 'aborted' and is not executed currently anymore." + }, + "id": { + "description": "ID of the execution object.", + "type": "string" + }, + "include_steps_from_job_id": { + "description": "ID of the job the step of this step execution was included from, if the step was included from another job.", + "type": "string" + }, + "is_chunk_oriented": { + "description": "True if this execution represents a chunk oriented step execution.", + "type": "boolean" + }, + "item_filter_count": { + "description": "The current number of items that have been filtered for a chunk oriented step execution, otherwise null.", + "format": "int32", + "type": "integer" + }, + "item_write_count": { + "description": "The current number of items that have been written for a chunk oriented step execution, otherwise null.", + "format": "int32", + "type": "integer" + }, + "modification_time": { + "description": "Timestamp of the last modification time for the execution.", + "format": "date-time", + "type": "string" + }, + "start_time": { + "description": "Timestamp, when execution was started.", + "format": "date-time", + "type": "string" + }, + "status": { + "description": "The current status. If the step execution is currently executed (execution status is one of 'pending', 'running',\n 'pausing') the execution status is returned. If the step execution is not executed currently anymore (execution\n status is one one 'finished', 'paused' or 'aborted') the exit status code of the step execution is returned.", + "type": "string" + }, + "status_metadata": { + "$ref": "#/definitions/status_metadata", + "description": "The metadata of the status." + }, + "step_description": { + "description": "Description of the step, this execution belongs to.ID of the step", + "type": "string" + }, + "step_id": { + "description": "ID of the step, this execution belongs to.ID of the step", + "type": "string" + }, + "step_type_id": { + "description": "ID of the step's type at the time it is or was executed.", + "type": "string" + }, + "step_type_info": { + "description": "Additional information regarding the step's type at the time it is or was executed (e.g. name of a script module\n and function).", + "type": "string" + }, + "total_item_count": { + "description": "The total number of items that will be processed for a chunk oriented step execution (null if unknown), otherwise\n null.", + "format": "int64", + "type": "integer" + } + } + }, + "locale": { + "description": "

Document that describes a single locale.

", + "properties": { + "active": { + "description": "Flag that is true if the locale is currently active in the system.", + "type": "boolean" + }, + "country": { + "description": "The uppercase ISO 3166 2-letter country/region code for this Locale.\n If no country has been specified for this Locale, this value is an empty string.", + "type": "string" + }, + "default": { + "description": "Flag that is true if the locale is the default one to use if an explicit locale is not specified.", + "type": "boolean" + }, + "display_country": { + "description": "The display name of this Locale's country, in this Locale's language,\n not in the session locale's language.\n If no country has been specified for this Locale, this value is an empty string.", + "type": "string" + }, + "display_language": { + "description": "The display name of this Locale's language, in this Locale's language,\n not in the session locale's language.\n If no country has been specified for this Locale, this value is an empty string.", + "type": "string" + }, + "display_name": { + "description": "The display name of this Locale, in this Locale's language,\n not in the session locale's language.\n If no display name has been specified for this Locale, this value is an empty string.", + "type": "string" + }, + "id": { + "description": "Returns the String representation of the localeID.\n \n

Combines the language and the country key, concatenated with \"-\". \n For example: \"en-US\". This attribute is the primary key of the class.

", + "type": "string" + }, + "iso3_country": { + "description": "The uppercase ISO 3166 3-letter country/region code for this Locale.\n If no country has been specified for this Locale, this value is an empty string.", + "type": "string" + }, + "iso3_language": { + "description": "The 3-letter ISO 639 language code for this Locale.\n If no language has been specified for this Locale, this value is an empty string.", + "type": "string" + }, + "language": { + "description": "The lowercase ISO 639 language code for this Locale.\n If no language has been specified for this Locale, this value is an empty string.", + "type": "string" + }, + "name": { + "description": "The display name of the Locale. Uses the current\n request locale to localize the value.", + "type": "string" + } + } + }, + "locale_permission": { + "description": "

Document representing a locale permission.

", + "properties": { + "display_name": { + "additionalProperties": { + "type": "string" + }, + "description": "The display name of the locale.", + "format": "localized", + "type": "object" + }, + "locale_id": { + "description": "The id of the locale.", + "type": "string" + }, + "type": { + "description": "The permission type.", + "type": "string" + }, + "values": { + "description": "The list of possible values for the locale permission, e.g. ACCESS or READONLY.", + "items": { + "type": "string" + }, + "type": "array" + } + } + }, + "locale_permissions": { + "description": "

Document representing the available locale permissions.

", + "properties": { + "scopes": { + "description": "The available Locale permission scopes (e.g. unscoped).", + "items": { + "type": "string" + }, + "type": "array" + }, + "unscoped": { + "description": "The collection of available unscoped Locale permissions.", + "items": { + "$ref": "#/definitions/locale_permission" + }, + "type": "array" + } + } + }, + "locale_result": { + "description": "

Contains the result of getting the system locales.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "hits": { + "description": "The locales found by the request", + "items": { + "$ref": "#/definitions/locale" + }, + "type": "array" + }, + "id": { + "description": "The input locale (none specifies get all locales)", + "type": "string" + }, + "include_all": { + "description": "True to get the all the hits for all the locales, not just the active allowed ones", + "type": "boolean" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The string describing the set of fields to return in the result.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "log_category": { + "description": "

Document representing log category settings.

", + "properties": { + "enabled": { + "description": "Returns true if the log category is enabled.", + "type": "boolean" + }, + "level": { + "description": "Level of the log category.", + "type": "string" + }, + "name": { + "description": "Log category name.", + "type": "string" + } + } + }, + "markup_text": { + "properties": { + "markup": { + "description": "The rendered HTML (read only)", + "type": "string" + }, + "source": { + "description": "The raw markup text\n (only this needs to be provided in update request)", + "type": "string" + } + } + }, + "master": { + "description": "

Document representing a variation master.

", + "properties": { + "link": { + "description": "The URL addressing the master product.", + "type": "string" + }, + "master_id": { + "description": "The id (SKU) of the master product.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "orderable": { + "description": "A flag indicating whether at least one of the variants is orderable.", + "type": "boolean" + }, + "price": { + "description": "The minimum sales price of the related variants.", + "format": "double", + "type": "number" + }, + "price_max": { + "description": "The maximum sales of related variants.", + "format": "double", + "type": "number" + }, + "price_per_unit": { + "description": "The minimum sales price per unit of the related variants.", + "format": "double", + "type": "number" + }, + "price_per_unit_max": { + "description": "The maximum sales price per unit of the related variants.", + "format": "double", + "type": "number" + }, + "prices": { + "additionalProperties": { + "format": "double", + "type": "number" + }, + "type": "object" + } + }, + "required": [ + "master_id" + ] + }, + "match_all_query": { + "description": "

A match all query simply matches all documents (namespace and document type). This query comes in\n handy if you just want to filter a search result or really do not have any constraints.\n\n Example: \n

 \n    query: {\n        match_all_query: {}\n    }\n  

" + }, + "media_file": { + "properties": { + "abs_url": { + "description": "The absolute URL with request protocol (read only)", + "type": "string" + }, + "alt": { + "additionalProperties": { + "type": "string" + }, + "description": "The alternative image text", + "format": "localized", + "type": "object" + }, + "dis_base_url": { + "description": "The DIS base URL only for product images", + "type": "string" + }, + "path": { + "description": "The raw media file path\n (only this needs to be provided in update request)", + "type": "string" + }, + "title": { + "additionalProperties": { + "type": "string" + }, + "description": "The image title", + "format": "localized", + "type": "object" + } + } + }, + "menu_action": { + "description": "

Document representing a menu action.

", + "properties": { + "description": { + "additionalProperties": { + "type": "string" + }, + "description": "The description of the menu action.", + "format": "localized", + "type": "object" + }, + "display_name": { + "additionalProperties": { + "type": "string" + }, + "description": "The display name of the menu action.", + "format": "localized", + "type": "object" + }, + "module_type": { + "description": "The module type of the menu action (BM or CC).", + "type": "string" + }, + "name": { + "description": "The name of the menu action.", + "type": "string" + }, + "system": { + "description": "{\n action.", + "type": "boolean" + }, + "type": { + "description": "The permission type.", + "type": "string" + }, + "values": { + "description": "The list of possible values for the menu action, e.g. ACCESS or READONLY.", + "items": { + "type": "string" + }, + "type": "array" + } + } + }, + "menu_item": { + "description": "

Document representing a menu item.

", + "properties": { + "display_name": { + "additionalProperties": { + "type": "string" + }, + "description": "The display name of the menu item.", + "format": "localized", + "type": "object" + }, + "menu_actions": { + "description": "The collection of available menu actions.", + "items": { + "$ref": "#/definitions/menu_action" + }, + "type": "array" + }, + "module_type": { + "description": "The module type of the menu item (BM or CC).", + "type": "string" + }, + "name": { + "description": "The name of the menu item.", + "type": "string" + }, + "type": { + "description": "The permission type.", + "type": "string" + } + } + }, + "metric_response": { + "description": "

Metrics in Prometheus Exposition Format wrapped as Json array of strings.

", + "properties": { + "limit": { + "description": "Page size of result page", + "format": "int32", + "type": "integer" + }, + "metrics": { + "description": "Metrics in Prometheus Exposition Format.

A single metric is represented by a single line. They have a name, labels (dimensions), a value and a time-stamp.

Example:

OCAPI request: GET /v21.10/products/{Id}/prices

total time metric: products_Id_prices{method=\\\"GET\\\",version=\\\"v21.10\\\",path1=\\\"products\\\",path2=\\\"prices\\\",status=\\\"2xx\\\"} 112.718755 1620735785000

The individual elements of a metric line are the metric name, metric dimensions (denoted by label / value pairs in curly braces), the actual metric value (in milliseconds or in operations / second for metrics ending in _m1rate) and a time-stamp in milliseconds since 01/01/1970 UTC.

name

The metric name will have both path segments and parameters separated by '`_`'. Path segments in the metric name are in lower-case whereas path parameters are formatted in camel-case.

method

the HTTP method of the OCAPI request, one of GET, PUT, POST, DELETE

version

the version of the OCAPI request, e.g. v20.8

path1 .. pathN

The path segments (not including the path-parameters) of the OCAPI request, from the example above, the path segments will be mapped to labels as: path1=\\\"products\\\", path2=\\\"prices\\\"

breakdown

Sub-timings of the request, in particular:

status

quantile

serviceId (only for metrics where breakdown = thirdParty)

the id of the third party service that was invoked during the request. If multiple services were invoked, timings for each individual service are available

", + "items": { + "type": "string" + }, + "type": "array" + }, + "offset": { + "description": "Offset of result page", + "format": "int32", + "type": "integer" + }, + "total": { + "description": "Total number of metrics", + "format": "int32", + "type": "integer" + } + } + }, + "module_permissions": { + "description": "

Document representing the available module permissions in shape of menu items and menu actions.

", + "properties": { + "organization": { + "description": "The collection of available organization menu items.", + "items": { + "$ref": "#/definitions/menu_item" + }, + "type": "array" + }, + "scopes": { + "description": "The available menu item scopes (e.g. organization, site).", + "items": { + "type": "string" + }, + "type": "array" + }, + "site": { + "description": "The list of available site menu items.", + "items": { + "$ref": "#/definitions/menu_item" + }, + "type": "array" + } + } + }, + "money": { + "properties": { + "currency_mnemonic": { + "description": "The mnemonic for the money.", + "type": "string" + }, + "value": { + "description": "The value for the money.", + "format": "double", + "type": "number" + } + } + }, + "nested_query": { + "description": "

A nested query queries nested documents that are part of a larger document. The classical example is a\n product master with variants (in one big document) where you want to constrain a search to masters that have\n variants that match multiple constraints (like color = blue AND size = M).\n This query is not compatible with some search types. \n Example: finds all the documents that has firstname = \"John\" and lastname = \"Doe\"\n

 \n  {\n   \"query\": {\n     \"bool_query\": {\n       \"must\": [\n         {\n           \"nested_query\": {\n             \"path\": \"order.shipping_addresses\",\n             \"query\": {\n               \"bool_query\": {\n                 \"must\": [\n                   {\n                     \"bool_query\": {\n                       \"must\": [\n                         {\n                           \"term_query\": {\n                             \"fields\": [ \"order.shipping_addresses.first_name\" ],\n                             \"operator\": \"is\",\n                             \"values\": [ \"John\" ]\n                           }\n                         }\n                       ]\n                     }\n                   },\n                   {\n                     \"bool_query\": {\n                       \"must\": [\n                         {\n                           \"term_query\": {\n                             \"fields\": [ \"order.shipping_addresses.last_name\" ],\n                             \"operator\": \"is\",\n                             \"values\": [ \"Doe\" ]\n                           }\n                         }\n                       ]\n                     }\n                   }\n                 ]\n               }\n             },\n             \"score_mode\": \"avg\"\n           }\n         }\n       ]\n     }\n   }\n }\n  

", + "properties": { + "path": { + "description": "", + "type": "string" + }, + "query": { + "$ref": "#/definitions/query", + "description": "", + "x-sub_types": { + "nested_query": "#/definitions/nested_query", + "filtered_query": "#/definitions/filtered_query", + "text_query": "#/definitions/text_query", + "match_all_query": "#/definitions/match_all_query", + "term_query": "#/definitions/term_query", + "bool_query": "#/definitions/bool_query" + } + }, + "score_mode": { + "description": "", + "enum": [ + "avg", + "total", + "max", + "none" + ], + "type": "string" + } + }, + "required": [ + "path", + "query" + ] + }, + "object_attribute_definition": { + "description": "

Document representing a attribute definition

", + "properties": { + "creation_date": { + "format": "date-time", + "type": "string" + }, + "default_value": { + "$ref": "#/definitions/object_attribute_value_definition", + "description": "The default value of this attribute. It can be updated, but not created." + }, + "description": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized description of the attribute.", + "format": "localized", + "type": "object" + }, + "display_name": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized name presented to the user in forms.", + "format": "localized", + "type": "object" + }, + "effective_id": { + "description": "The effective ID, which is c_id if the attribute is custom, and just the id otherwise. It is read only.", + "type": "string" + }, + "externally_defined": { + "description": "Flag indicating if this attribute is externally defined.", + "type": "boolean" + }, + "externally_managed": { + "description": "Flag indicating if this attribute is externally managed.", + "type": "boolean" + }, + "field_height": { + "description": "The height of the field for this attribute in the editor.", + "format": "int32", + "type": "integer" + }, + "field_length": { + "description": "The length of the field for this attribute in the editor.", + "format": "int32", + "type": "integer" + }, + "id": { + "description": "The user supplied ID of the attribute.", + "type": "string" + }, + "key": { + "description": "Flag indicating if this is a key attribute.", + "type": "boolean" + }, + "last_modified": { + "format": "date-time", + "type": "string" + }, + "link": { + "description": "The URL that is used to get this instance. Value is computed and read-only.", + "type": "string" + }, + "localizable": { + "description": "Flag indicating if this attribute can be localized.", + "type": "boolean" + }, + "mandatory": { + "description": "Flag indicating if a value is mandatory for the attribute.", + "type": "boolean" + }, + "max_value": { + "description": "The maximum possible value for this attribute.", + "format": "double", + "type": "number" + }, + "min_length": { + "description": "The minimum length of the field for this attribute.", + "format": "int32", + "type": "integer" + }, + "min_value": { + "description": "The minimum possible value for this attribute.", + "format": "double", + "type": "number" + }, + "multi_value_type": { + "description": "

True if the attribute can have multiple values.

\n

Attributes of the following types are multi-value capable:

\n \n

Additionally, attributes of the following types can be multi-value\n enabled:

\n ", + "type": "boolean" + }, + "order_required": { + "description": "Flag indicating if this attribute is required for order of the attribute model's product. The set of these can be used\n in order line items.", + "type": "boolean" + }, + "queryable": { + "description": "Returns true if the attribute definition is explicitly marked queryable. If no explicit queryable is found\n and the attribute value type belongs to a queryable type, true is returned too. In all other cases false is returned.\n Value is computed and read-only.", + "type": "boolean" + }, + "read_only": { + "description": "Flag indicating if this attribute is read-only. It is read only.", + "type": "boolean" + }, + "regular_expression": { + "description": "A regular expression that defines the legal values for this attribute.", + "type": "string" + }, + "requires_encoding": { + "description": "Flag indicating if this attribute can be encoded using the encoding=\"off\" flag in ISML templates. It is read only.", + "type": "boolean" + }, + "scale": { + "description": "The minimum number of fraction digits for a value of this attribute.", + "format": "int32", + "type": "integer" + }, + "searchable": { + "description": "Flag indicating if this attribute is searchable.", + "type": "boolean" + }, + "set_value_type": { + "description": "Flag indicating if this attribute is of type 'Set of'. It is read only.", + "type": "boolean" + }, + "site_specific": { + "description": "Flag indicating if this attribute is site-specific.", + "type": "boolean" + }, + "system": { + "description": "Flag indicating if this attribute is a system attribute.", + "type": "boolean" + }, + "unit": { + "additionalProperties": { + "type": "string" + }, + "description": "The unit of measure for this attribute.", + "format": "localized", + "type": "object" + }, + "value_definitions": { + "description": "A set of values that are possible for this attribute. It is read only.", + "items": { + "$ref": "#/definitions/object_attribute_value_definition" + }, + "type": "array" + }, + "value_type": { + "description": "The type of this attribute.", + "enum": [ + "string", + "int", + "double", + "text", + "html", + "date", + "image", + "boolean", + "money", + "quantity", + "datetime", + "email", + "password", + "set_of_string", + "set_of_int", + "set_of_double", + "enum_of_string", + "enum_of_int", + "unknown" + ], + "type": "string" + }, + "visible": { + "description": "Flag indicating if this attribute is visible.", + "type": "boolean" + } + } + }, + "object_attribute_definition_search_result": { + "description": "

Document representing an attributedefinition search result.

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. Can be empty.", + "items": { + "$ref": "#/definitions/object_attribute_definition" + }, + "type": "array" + }, + "next": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the next result page." + }, + "previous": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the previous result page." + }, + "query": { + "$ref": "#/definitions/query", + "description": "The query passed into the search", + "x-sub_types": { + "nested_query": "#/definitions/nested_query", + "filtered_query": "#/definitions/filtered_query", + "text_query": "#/definitions/text_query", + "match_all_query": "#/definitions/match_all_query", + "term_query": "#/definitions/term_query", + "bool_query": "#/definitions/bool_query" + } + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/definitions/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "object_attribute_definitions": { + "description": "

Document representing an unfiltered list of object attribute definitions.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "$ref": "#/definitions/object_attribute_definition" + }, + "type": "array" + }, + "expand": { + "description": "The list of expands set for the search request. Expands are optional.", + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "object_attribute_group": { + "description": "

Document representing a attribute group

", + "properties": { + "attribute_definitions": { + "description": "Attributes with the group displayed when expand=definition", + "items": { + "$ref": "#/definitions/object_attribute_definition" + }, + "type": "array" + }, + "attribute_definitions_count": { + "description": "The count of the attributes within the group. This is a computed attribute and is read-only", + "format": "int32", + "type": "integer" + }, + "creation_date": { + "format": "date-time", + "type": "string" + }, + "description": { + "additionalProperties": { + "type": "string" + }, + "description": "The free-form text description of the group by locale", + "format": "localized", + "type": "object" + }, + "display_name": { + "additionalProperties": { + "type": "string" + }, + "description": "The name used to display the group by locale.", + "format": "localized", + "type": "object" + }, + "id": { + "description": "The group's user specified identifier, used to retrieve the group", + "type": "string" + }, + "internal": { + "description": "True if the group is meant only for internal use, false otherwise. This property is read-only.", + "type": "boolean" + }, + "last_modified": { + "format": "date-time", + "type": "string" + }, + "link": { + "description": "URL that is used to get this instance. This is a computed attribute and is read-only", + "type": "string" + }, + "position": { + "description": "The position of the group relative to other groups.", + "format": "double", + "minimum": 0.0, + "type": "number" + } + } + }, + "object_attribute_group_search_result": { + "description": "

Document representing a attributegroup search result.

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. Can be empty.", + "items": { + "$ref": "#/definitions/object_attribute_group" + }, + "type": "array" + }, + "next": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the next result page." + }, + "previous": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the previous result page." + }, + "query": { + "$ref": "#/definitions/query", + "description": "The query passed into the search", + "x-sub_types": { + "nested_query": "#/definitions/nested_query", + "filtered_query": "#/definitions/filtered_query", + "text_query": "#/definitions/text_query", + "match_all_query": "#/definitions/match_all_query", + "term_query": "#/definitions/term_query", + "bool_query": "#/definitions/bool_query" + } + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/definitions/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "object_attribute_groups": { + "description": "

Document representing an unfiltered list of object group definitions.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "$ref": "#/definitions/object_attribute_group" + }, + "type": "array" + }, + "expand": { + "description": "The list of expands set for the search request. Expands are optional.", + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "object_attribute_value_definition": { + "description": "

Document representing a attribute definition

", + "properties": { + "description": { + "additionalProperties": { + "type": "string" + }, + "description": "A description of the attribute value.", + "format": "localized", + "type": "object" + }, + "display_value": { + "additionalProperties": { + "type": "string" + }, + "description": "A display name that can be used to present this value in\n the user interface. For example, the value might be '1' but the display\n name might be 'Order Exported'.", + "format": "localized", + "type": "object" + }, + "id": { + "description": "The ID of the attribute value.", + "type": "string" + }, + "position": { + "description": "The position of the attribute value within the set of attribute values.", + "format": "double", + "type": "number" + }, + "value": { + "description": "The value of the attribute.", + "type": "object" + } + } + }, + "object_type_definition": { + "description": "

Document representing a object type definition

", + "properties": { + "attribute_definition_count": { + "description": "Returns the number of attribute definitions contained by the type. This is a computed attribute and cannot be changed.", + "format": "int32", + "type": "integer" + }, + "attribute_group_count": { + "description": "Returns the number of attribute groups contained by the type. This is a computed attribute and cannot be changed.", + "format": "int32", + "type": "integer" + }, + "content_object": { + "description": "True if the object type definition is marked as a content object", + "type": "boolean" + }, + "creation_date": { + "format": "date-time", + "type": "string" + }, + "description": { + "additionalProperties": { + "type": "string" + }, + "description": "The user entered description for the type (localizable)", + "format": "localized", + "type": "object" + }, + "display_name": { + "additionalProperties": { + "type": "string" + }, + "description": "The user entered display name (localizable)", + "format": "localized", + "type": "object" + }, + "last_modified": { + "format": "date-time", + "type": "string" + }, + "link": { + "description": "URL that is used to get this instance. This is a computed attribute and cannot be changed.", + "type": "string" + }, + "object_type": { + "description": "The object type identifier", + "type": "string" + }, + "queryable": { + "description": "True if the system object type is queryable, false otherwise. Default is true.", + "type": "boolean" + }, + "read_only": { + "description": "True if the system object is read-only, false otherwise. This is a computed attribute and cannot be changed.", + "type": "boolean" + } + } + }, + "object_type_definition_search_result": { + "description": "

Document representing a systemobject search result.

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. Can be empty.", + "items": { + "$ref": "#/definitions/object_type_definition" + }, + "type": "array" + }, + "next": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the next result page." + }, + "previous": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the previous result page." + }, + "query": { + "$ref": "#/definitions/query", + "description": "The query passed into the search", + "x-sub_types": { + "nested_query": "#/definitions/nested_query", + "filtered_query": "#/definitions/filtered_query", + "text_query": "#/definitions/text_query", + "match_all_query": "#/definitions/match_all_query", + "term_query": "#/definitions/term_query", + "bool_query": "#/definitions/bool_query" + } + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/definitions/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "object_type_definitions": { + "description": "

Document representing an unfiltered list of system object types.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "$ref": "#/definitions/object_type_definition" + }, + "type": "array" + }, + "expand": { + "description": "The list of expands set for the search request. Expands are optional.", + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "ocapi_configs_api_request": { + "description": "

OCAPI configuration APIs request

", + "properties": { + "resource_info": { + "$ref": "#/definitions/resource_info", + "description": "Information of resources to be added" + }, + "sites": { + "description": "Sites to be updated", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "resource_info", + "sites" + ] + }, + "ocapi_configs_api_response": { + "description": "

OCAPI configuration APIs response. It contains all available resources for a client

", + "properties": { + "global": { + "description": "Global configuration", + "items": { + "$ref": "#/definitions/site_resource_info" + }, + "type": "array" + }, + "sites": { + "description": "Site configurations", + "items": { + "$ref": "#/definitions/site_resource_info" + }, + "type": "array" + } + } + }, + "order_confirmation_status_update_request": { + "description": "

Request body to update the order confirmation status.

", + "properties": { + "status": { + "description": "The new confirmation status for an order.", + "enum": [ + "confirmed", + "not_confirmed" + ], + "type": "string" + } + }, + "required": [ + "status" + ] + }, + "order_export_status_update_request": { + "description": "

Request body to update the order export status.

", + "properties": { + "status": { + "description": "The new export status for an order.", + "enum": [ + "exported", + "not_exported", + "ready", + "failed" + ], + "type": "string" + } + }, + "required": [ + "status" + ] + }, + "order_external_status_update_request": { + "description": "

Request body to update the order external status.

", + "properties": { + "status": { + "description": "The new external status for an order.", + "maxLength": 256, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "status" + ] + }, + "order_payment_status_update_request": { + "description": "

Request body to update the order payment status.

", + "properties": { + "status": { + "description": "The new payment status for an order.", + "enum": [ + "paid", + "part_paid", + "not_paid" + ], + "type": "string" + } + }, + "required": [ + "status" + ] + }, + "order_shipping_status_update_request": { + "description": "

Request body to update the order shipping status.

", + "properties": { + "status": { + "description": "The new shipping status for an order.", + "enum": [ + "shipped", + "part_shipped", + "not_shipped" + ], + "type": "string" + } + }, + "required": [ + "status" + ] + }, + "order_status_update_request": { + "description": "

Request body to update the order status.

", + "properties": { + "status": { + "description": "The new status for an order.", + "enum": [ + "created", + "new", + "open", + "completed", + "cancelled", + "failed", + "failed_with_reopen" + ], + "type": "string" + } + }, + "required": [ + "status" + ] + }, + "order_update_request": { + "description": "

Request body to update an order.

" + }, + "organization_preferences": { + "description": "

Represents a set of preferences attached at the organization level.

", + "properties": { + "link": { + "description": "A URL that returns the full details for a custom preference", + "type": "string" + }, + "site_preferences": { + "description": "The list of site preferences, returned with expand=sites", + "items": { + "$ref": "#/definitions/site_preferences" + }, + "type": "array" + } + } + }, + "password_change_request": { + "properties": { + "current_password": { + "description": "The current user password", + "minLength": 1, + "type": "string" + }, + "password": { + "description": "The new user password", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "current_password", + "password" + ] + }, + "path_record": { + "description": "

Document representing most basic info (id and name) of a category or catalog.

", + "properties": { + "id": { + "description": "The id of the category path.", + "x-label": { + "default": "ID" + }, + "type": "string" + }, + "name": { + "additionalProperties": { + "type": "string" + }, + "description": "The name of the category path.", + "format": "localized", + "x-label": { + "default": "Name" + }, + "type": "object" + } + } + }, + "payment_instrument_update_request": { + "description": "

Request body to update an order payment instrument.

" + }, + "payment_transaction_update_request": { + "description": "

Request body to update an order payment transaction.

" + }, + "preference_value": { + "description": "

Represents a single preference value

", + "properties": { + "attribute_definition": { + "$ref": "#/definitions/object_attribute_definition", + "description": "The attribute definition for this preference" + }, + "description": { + "additionalProperties": { + "type": "string" + }, + "description": "Description of the attribute", + "format": "localized", + "type": "object" + }, + "display_name": { + "additionalProperties": { + "type": "string" + }, + "description": "Display name for the attribute", + "format": "localized", + "type": "object" + }, + "id": { + "description": "The id of the attribute", + "type": "string" + }, + "site_values": { + "additionalProperties": { + "type": "object" + }, + "description": "The value of this attribute", + "type": "object" + }, + "value_type": { + "description": "The type of this attribute.", + "enum": [ + "string", + "int", + "double", + "text", + "html", + "date", + "image", + "boolean", + "money", + "quantity", + "datetime", + "email", + "password", + "set_of_string", + "set_of_int", + "set_of_double", + "enum_of_string", + "enum_of_int", + "unknown" + ], + "type": "string" + } + } + }, + "preference_value_search_result": { + "description": "

Document representing a preference value search result.

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. Can be empty.", + "items": { + "$ref": "#/definitions/preference_value" + }, + "type": "array" + }, + "next": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the next result page." + }, + "previous": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the previous result page." + }, + "query": { + "$ref": "#/definitions/query", + "description": "The query passed into the search", + "x-sub_types": { + "nested_query": "#/definitions/nested_query", + "filtered_query": "#/definitions/filtered_query", + "text_query": "#/definitions/text_query", + "match_all_query": "#/definitions/match_all_query", + "term_query": "#/definitions/term_query", + "bool_query": "#/definitions/bool_query" + } + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/definitions/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "product": { + "description": "

Document representing a product

", + "properties": { + "assigned_categories": { + "description": "The catalog categories that the product is assigned to", + "items": { + "$ref": "#/definitions/catalog_category_id" + }, + "type": "array" + }, + "ats": { + "description": "The ATS(Available To Sell) inventory value of the product. This is a calculated value.", + "format": "double", + "type": "number" + }, + "brand": { + "description": "The brand of the product.", + "x-label": { + "default": "Brand" + }, + "type": "string" + }, + "bundled_products": { + "description": "The array of bundled products which the product includes.", + "items": { + "$ref": "#/definitions/product" + }, + "type": "array" + }, + "c_availableForInStorePickup": { + "description": "Signals if there are inventory lists for brick-and-mortar stores associated with this product.", + "x-label": { + "default": "Available for In Store Pickup" + }, + "type": "boolean" + }, + "c_batteryLife": { + "x-label": { + "default": "Battery Life" + }, + "type": "string" + }, + "c_batteryType": { + "x-label": { + "default": "Battery Type" + }, + "type": "string" + }, + "c_bootType": { + "description": "Type of Boot for search refinement.", + "items": { + "enum": [ + "0010", + "0020", + "0030", + "0040", + "0050", + "0060", + "0070" + ], + "x-enum-labels": [ + { + "default": "Winter" + }, + { + "default": "Waterproof" + }, + { + "default": "Classic" + }, + { + "default": "Ankle & Mid" + }, + { + "default": "Tall" + }, + { + "default": "6\"" + }, + { + "default": "Casual" + } + ], + "type": "string" + }, + "x-label": { + "default": "Boot Type" + }, + "type": "array" + }, + "c_bottomType": { + "description": "Bottom type for search refinement", + "items": { + "enum": [ + "0010", + "0020", + "0030", + "0040", + "0050", + "0060", + "0070", + "0080" + ], + "x-enum-labels": [ + { + "default": "Khakis" + }, + { + "default": "Denim" + }, + { + "default": "Dress" + }, + { + "default": "Casual" + }, + { + "default": "Shorts" + }, + { + "default": "Work" + }, + { + "default": "Cargo" + }, + { + "default": "Fleece" + } + ], + "type": "string" + }, + "x-label": { + "default": "Bottom Type" + }, + "type": "array" + }, + "c_color": { + "description": "Product color used for variation attribute", + "x-label": { + "default": "Color" + }, + "type": "string" + }, + "c_consoleWarranty": { + "x-label": { + "default": "Extended Warranty" + }, + "type": "string" + }, + "c_customCSSFile": { + "$ref": "#/definitions/media_file", + "description": "Use this attribute to apply custom styles for this product.", + "x-label": { + "default": "Custom CSS File" + } + }, + "c_digitalCameraFeatures": { + "items": { + "enum": [ + "0010", + "0020", + "0030", + "0040", + "0050", + "0060", + "0070", + "0080", + "0090", + "0100", + "0110", + "0120", + "0130", + "0140", + "0150", + "0160", + "0170", + "0180", + "0190", + "0200", + "0210", + "0220", + "0230", + "0240", + "0250", + "0260", + "0270", + "0280" + ], + "x-enum-labels": [ + { + "default": "Built In Flash" + }, + { + "default": "HD Video" + }, + { + "default": "GPS Geo Tagging" + }, + { + "default": "Variable Self Timer" + }, + { + "default": "Image Optimizer" + }, + { + "default": "Stop Motion Video" + }, + { + "default": "Self Cleaning" + }, + { + "default": "Pro Performance" + }, + { + "default": "51 Area Autofocus" + }, + { + "default": "Super Fast Startup" + }, + { + "default": "Easy to Learn" + }, + { + "default": "Wide Angle Optical Zoom" + }, + { + "default": "Manual Controls" + }, + { + "default": "Wired LAN" + }, + { + "default": "GPS Enabled" + }, + { + "default": "In Camera Red Eye Reduction" + }, + { + "default": "Large LCD" + }, + { + "default": "Optical Zoom" + }, + { + "default": "Anti-Shake" + }, + { + "default": "Touch Screen" + }, + { + "default": "Image Stabilization" + }, + { + "default": "Fast Shutter" + }, + { + "default": "Slim" + }, + { + "default": "35mm Full Frame Sensor" + }, + { + "default": "Wide Angle|Continuous Shooting" + }, + { + "default": "Continuous Shooting" + }, + { + "default": "ISO 1600" + }, + { + "default": "Red Eye Reduction" + } + ], + "type": "string" + }, + "x-label": { + "default": "Digital Camera Features" + }, + "type": "array" + }, + "c_digitalCameraPixels": { + "x-label": { + "default": "Digital Camera Pixels" + }, + "type": "string" + }, + "c_digitalCameraType": { + "x-label": { + "default": "Digital Camera Type" + }, + "type": "string" + }, + "c_digitalCameraWarranty": { + "x-label": { + "default": "Extended Warranty" + }, + "type": "string" + }, + "c_dimDepth": { + "x-label": { + "default": "Depth" + }, + "type": "string" + }, + "c_dimHeight": { + "x-label": { + "default": "Height" + }, + "type": "string" + }, + "c_dimWeight": { + "x-label": { + "default": "Weight" + }, + "type": "string" + }, + "c_dimWidth": { + "x-label": { + "default": "Width" + }, + "type": "string" + }, + "c_displaySize": { + "x-label": { + "default": "Display Size" + }, + "type": "string" + }, + "c_gameGenre": { + "items": { + "enum": [ + "Action", + "Educational", + "Kids", + "Racing", + "Role-Playing", + "Sports", + "Strategy" + ], + "x-enum-labels": [ + { + "default": "Action" + }, + { + "default": "Educational" + }, + { + "default": "Kids" + }, + { + "default": "Racing" + }, + { + "default": "Role-Playing" + }, + { + "default": "Sports" + }, + { + "default": "Strategy" + } + ], + "type": "string" + }, + "x-label": { + "default": "Genre" + }, + "type": "array" + }, + "c_gameRating": { + "x-label": { + "default": "Game Rating" + }, + "type": "string" + }, + "c_gameSystemType": { + "x-label": { + "default": "Gaming System" + }, + "type": "string" + }, + "c_gpsFeatures": { + "items": { + "enum": [ + "0010", + "0020", + "0030", + "0040", + "0050", + "0060", + "0070", + "0080", + "0090", + "0100", + "0110", + "0120", + "0130", + "0140", + "0150", + "0160", + "0170", + "0180", + "0190", + "0200", + "0210", + "0230" + ], + "x-enum-labels": [ + { + "default": "Preloaded" + }, + { + "default": "Voice Prompts" + }, + { + "default": "3D" + }, + { + "default": "Touch Screen" + }, + { + "default": "FM Traffic" + }, + { + "default": "MSN Direct" + }, + { + "default": "MP3 Player" + }, + { + "default": "Picture Viewer" + }, + { + "default": "Bluetooth®" + }, + { + "default": "Speech Recognition" + }, + { + "default": "XM Navtraffic" + }, + { + "default": "Waterproof" + }, + { + "default": "Motorcycle Ready" + }, + { + "default": "Lunar Tracking" + }, + { + "default": "Wrist Wear" + }, + { + "default": "Barometer" + }, + { + "default": "Compass" + }, + { + "default": "Geocaching" + }, + { + "default": "Jeppesen Enabled" + }, + { + "default": "Built-in HIS" + }, + { + "default": "Auto Logbook" + }, + { + "default": "Automotive Friendly" + } + ], + "type": "string" + }, + "x-label": { + "default": "GPS Features" + }, + "type": "array" + }, + "c_gpsType": { + "items": { + "enum": [ + "0010", + "0020", + "0030", + "0040" + ], + "x-enum-labels": [ + { + "default": "Automotive" + }, + { + "default": "Personal" + }, + { + "default": "Outdoor" + }, + { + "default": "Aviation" + } + ], + "type": "string" + }, + "x-label": { + "default": "GPS Type" + }, + "type": "array" + }, + "c_gpsWarranty": { + "x-label": { + "default": "Extended Warranty" + }, + "type": "string" + }, + "c_imageAspectRatio": { + "x-label": { + "default": "Image Aspect Ratio" + }, + "type": "string" + }, + "c_isNew": { + "x-label": { + "default": "New Arrival?" + }, + "type": "boolean" + }, + "c_isNewtest": { + "description": "This indiciates if the product is a new arrival.", + "x-label": { + "default": "New Arrival?" + }, + "type": "boolean" + }, + "c_isSale": { + "description": "This is the help text. It is used for sorting rules.", + "x-label": { + "default": "On sale?" + }, + "type": "boolean" + }, + "c_kidsAge": { + "description": "Kids Age used for search refinements", + "enum": [ + "0010", + "0020", + "0030", + "0040", + "0050", + "0060", + "0070" + ], + "x-enum-labels": [ + { + "default": "Infant (0-1 yr)" + }, + { + "default": "Toddler (1-5 yrs)" + }, + { + "default": "Youth (5-9 yrs)" + }, + { + "default": "Junior (9-12 yrs)" + }, + { + "default": "Newborn (1-6 mths)" + }, + { + "default": "Infant (9 mnths - 3 yrs)" + }, + { + "default": "Junior (4-12 yrs)" + } + ], + "x-label": { + "default": "Age" + }, + "type": "string" + }, + "c_length": { + "description": "This attribute is used for mens and womens pants lengths.", + "x-label": { + "default": "Length" + }, + "type": "string" + }, + "c_lensAperture": { + "x-label": { + "default": "Lens Aperture" + }, + "type": "string" + }, + "c_materialTest": { + "items": { + "enum": [ + "cotton", + "polyester", + "wool" + ], + "x-enum-labels": [ + { + "default": "Cotton" + }, + { + "default": "Polyester" + }, + { + "default": "Wool" + } + ], + "type": "string" + }, + "x-label": { + "default": "Material" + }, + "type": "array" + }, + "c_mediaFormat": { + "description": "Media Format", + "items": { + "enum": [ + "0010", + "0020", + "0030", + "0040", + "0050", + "0060", + "0070", + "0080", + "0090", + "0100" + ], + "x-enum-labels": [ + { + "default": "MP3" + }, + { + "default": "WMA" + }, + { + "default": "JPEG" + }, + { + "default": "WAV" + }, + { + "default": "FM Tuner" + }, + { + "default": "AAC" + }, + { + "default": "WMP" + }, + { + "default": "MPEG4" + }, + { + "default": "AVC" + }, + { + "default": "ASP" + } + ], + "type": "string" + }, + "x-label": { + "default": "Media Format" + }, + "type": "array" + }, + "c_memorySize": { + "description": "Memory Size", + "x-label": { + "default": "Memory Size" + }, + "type": "string" + }, + "c_memoryType": { + "items": { + "enum": [ + "0010", + "0020", + "0030", + "0040", + "0050", + "0060", + "0070", + "0080", + "0090" + ], + "x-enum-labels": [ + { + "default": "SD" + }, + { + "default": "Memory Stick Pro DUO" + }, + { + "default": "Compact Flash" + }, + { + "default": "MMC" + }, + { + "default": "SDHC" + }, + { + "default": "CF Card" + }, + { + "default": "External Media" + }, + { + "default": "Micro SD" + }, + { + "default": "Garmin Data Card" + } + ], + "type": "string" + }, + "x-label": { + "default": "Memory Type" + }, + "type": "array" + }, + "c_musicStorage": { + "x-label": { + "default": "Music Storage" + }, + "type": "string" + }, + "c_opticalZoom": { + "x-label": { + "default": "Optical Zoom" + }, + "type": "string" + }, + "c_outerwearType": { + "description": "Type of Outerwear for search refinement", + "enum": [ + "0010", + "0020", + "0030", + "0040", + "0050", + "0060", + "0070", + "0080" + ], + "x-enum-labels": [ + { + "default": "Waterproof" + }, + { + "default": "Jackets" + }, + { + "default": "Vest" + }, + { + "default": "Pants" + }, + { + "default": "Casual" + }, + { + "default": "Sweater" + }, + { + "default": "Outdoor" + }, + { + "default": "Fleece" + } + ], + "x-label": { + "default": "Outerwear Type" + }, + "type": "string" + }, + "c_portableAudioType": { + "items": { + "enum": [ + "0010", + "0020", + "0030" + ], + "x-enum-labels": [ + { + "default": "Audio" + }, + { + "default": "Video" + }, + { + "default": "Internet" + } + ], + "type": "string" + }, + "x-label": { + "default": "Portable Audio Type" + }, + "type": "array" + }, + "c_refinementColor": { + "enum": [ + "beige", + "black", + "blue", + "brown", + "green", + "grey", + "miscellaneous", + "navy", + "orange", + "pink", + "purple", + "red", + "white", + "yellow" + ], + "x-enum-labels": [ + { + "default": "Beige" + }, + { + "default": "Black" + }, + { + "default": "Blue" + }, + { + "default": "Brown" + }, + { + "default": "Green" + }, + { + "default": "Grey" + }, + { + "default": "Miscellaneous" + }, + { + "default": "Navy" + }, + { + "default": "Orange" + }, + { + "default": "Pink" + }, + { + "default": "Purple" + }, + { + "default": "Red" + }, + { + "default": "White" + }, + { + "default": "Yellow" + } + ], + "x-label": { + "default": "Refinement Color" + }, + "type": "string" + }, + "c_resolution": { + "x-label": { + "default": "Resolution" + }, + "type": "string" + }, + "c_sandalType": { + "description": "Type of Sandal for search refinement", + "enum": [ + "0010", + "0020", + "0030" + ], + "x-enum-labels": [ + { + "default": "Sport" + }, + { + "default": "Casual" + }, + { + "default": "Thong" + } + ], + "x-label": { + "default": "Sandal Type" + }, + "type": "string" + }, + "c_sheets": { + "description": "test attribute", + "items": { + "enum": [ + "value1", + "value2", + "value3" + ], + "x-enum-labels": [ + { + "default": "Value 1" + }, + { + "default": "Value 2" + }, + { + "default": "Value 3" + } + ], + "type": "string" + }, + "x-label": { + "default": "Sheets" + }, + "type": "array" + }, + "c_shoeType": { + "description": "Type of Shoe for search refinements", + "enum": [ + "0010", + "0020", + "0030", + "0040", + "0050", + "0060", + "0070", + "0080", + "0090", + "0100", + "0110" + ], + "x-enum-labels": [ + { + "default": "Chukka" + }, + { + "default": "Lace Up" + }, + { + "default": "Slip On" + }, + { + "default": "Clog" + }, + { + "default": "Boat" + }, + { + "default": "Oxford" + }, + { + "default": "Loafer" + }, + { + "default": "Waterproof" + }, + { + "default": "Flats" + }, + { + "default": "Ballerina" + }, + { + "default": "Heeled" + } + ], + "x-label": { + "default": "Shoe Type" + }, + "type": "string" + }, + "c_size": { + "description": "This attribute is used for all footwear, apparel and accessory sizing for men, women and kids products.", + "x-label": { + "default": "Size" + }, + "type": "string" + }, + "c_skinConcern": { + "items": { + "enum": [ + "comprehensive", + "dryTight", + "liftingLossFirm" + ], + "x-enum-labels": [ + { + "default": "Comprehensive Protection" + }, + { + "default": "Dry, Tight Skin" + }, + { + "default": "Lifting & Loss of Firmness" + } + ], + "type": "string" + }, + "x-label": { + "default": "Skin Concern" + }, + "type": "array" + }, + "c_styleNumber": { + "x-label": { + "default": "Style Number" + }, + "type": "string" + }, + "c_tabDescription": { + "$ref": "#/definitions/markup_text", + "x-label": { + "default": "Description" + } + }, + "c_tabDetails": { + "$ref": "#/definitions/markup_text", + "x-label": { + "default": "Details" + } + }, + "c_topType": { + "description": "Type of tops in clothing", + "x-label": { + "default": "Top Type" + }, + "type": "string" + }, + "c_tvSignalFormat": { + "x-label": { + "default": "TV Signal Format" + }, + "type": "string" + }, + "c_tvSize": { + "x-label": { + "default": "Size" + }, + "type": "string" + }, + "c_tvType": { + "enum": [ + "0010", + "0020", + "0030", + "0040" + ], + "x-enum-labels": [ + { + "default": "Plasma" + }, + { + "default": "LCD" + }, + { + "default": "DLP" + }, + { + "default": "Projection" + } + ], + "x-label": { + "default": "TV Type" + }, + "type": "string" + }, + "c_tvWarranty": { + "x-label": { + "default": "Extended Warranty" + }, + "type": "string" + }, + "c_videoStorage": { + "x-label": { + "default": "Video Storage" + }, + "type": "string" + }, + "c_waist": { + "description": "Attribute used for apparel waist sizing.", + "x-label": { + "default": "Waist" + }, + "type": "string" + }, + "c_width": { + "description": "This attribute is used for shoe widths for mens, womens and kids.", + "x-label": { + "default": "Width" + }, + "type": "string" + }, + "classification_category": { + "$ref": "#/definitions/catalog_category_id", + "description": "The classification category (default category) of the product" + }, + "creation_date": { + "description": "Returns the value of attribute 'creationDate'.", + "format": "date-time", + "x-label": { + "default": "Creation Date" + }, + "readOnly": true, + "type": "string" + }, + "default_variant_id": { + "description": "The ID of the product's default variant.", + "type": "string" + }, + "ean": { + "description": "The European Article Number of the product.", + "x-label": { + "default": "EAN" + }, + "type": "string" + }, + "id": { + "description": "The ID (SKU) of the product.", + "x-label": { + "default": "ID", + "en": "SKUAGE" + }, + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "image": { + "$ref": "#/definitions/media_file", + "description": "The image(s) assigned to the product.", + "x-label": { + "default": "Standard Image" + } + }, + "image_groups": { + "description": "The array of product image groups.", + "items": { + "$ref": "#/definitions/image_group" + }, + "type": "array" + }, + "in_stock": { + "description": "The flag that indicates if the product is in stock, or not. This is a calculated value.", + "type": "boolean" + }, + "last_modified": { + "description": "Returns the value of attribute 'lastModified'.", + "format": "date-time", + "x-label": { + "default": "Last Modified" + }, + "readOnly": true, + "type": "string" + }, + "link": { + "description": "A link to the product.", + "type": "string" + }, + "localized_tax_class_id": { + "additionalProperties": { + "type": "string" + }, + "format": "localized", + "x-label": { + "default": "Localized Tax Class" + }, + "type": "object" + }, + "long_description": { + "additionalProperties": { + "$ref": "#/definitions/markup_text" + }, + "description": "The localized long description of the product.", + "format": "localized", + "x-label": { + "default": "Product Details" + }, + "type": "object" + }, + "manufacturer_name": { + "description": "The name of the product's manufacturer.", + "x-label": { + "default": "Manufacturer" + }, + "type": "string" + }, + "manufacturer_sku": { + "description": "The SKU of the product's manufacturer.", + "x-label": { + "default": "Manufacturer Product ID" + }, + "type": "string" + }, + "master": { + "$ref": "#/definitions/master", + "description": "The master of the product. This is applicable for product types \"variation_group\" and \"variant\" only." + }, + "name": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized name of the product.", + "format": "localized", + "x-label": { + "default": "Name" + }, + "type": "object" + }, + "online": { + "description": "The flag that indicates if the product is online, or not. This is a calculated value.", + "type": "boolean" + }, + "online_flag": { + "additionalProperties": { + "type": "boolean" + }, + "description": "The site specific online status of the product.", + "format": "site-specific", + "x-label": { + "default": "Online" + }, + "type": "object" + }, + "owning_catalog_id": { + "description": "The ID of the catalog that owns the product.", + "type": "string" + }, + "owning_catalog_name": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized name of the catalog that owns the product.", + "format": "localized", + "type": "object" + }, + "page_description": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized page description of the product.", + "format": "localized", + "x-label": { + "default": "Page Description" + }, + "type": "object" + }, + "page_keywords": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized page keywords of the product.", + "format": "localized", + "x-label": { + "default": "Page Keywords" + }, + "type": "object" + }, + "page_title": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized page title of the product.", + "format": "localized", + "x-label": { + "default": "Page Title" + }, + "type": "object" + }, + "price": { + "description": "The price of the product.", + "format": "double", + "type": "number" + }, + "price_currency": { + "description": "The currency code for product's price.", + "type": "string" + }, + "price_per_unit": { + "description": "The price per unit of the product", + "format": "double", + "type": "number" + }, + "primary_categories": { + "description": "The catalog categories that are primary for the product", + "items": { + "$ref": "#/definitions/catalog_category_id" + }, + "type": "array" + }, + "primary_category_id": { + "description": "The id of the products primary category.", + "type": "string" + }, + "product_bundles": { + "description": "The array of product bundles which the product belongs to.", + "items": { + "$ref": "#/definitions/product" + }, + "type": "array" + }, + "product_options": { + "description": "The array of product options. This is applicable for products of type \"option\".", + "items": { + "$ref": "#/definitions/product_option" + }, + "type": "array" + }, + "product_sets": { + "description": "The array of product sets which the product belongs to.", + "items": { + "$ref": "#/definitions/product" + }, + "type": "array" + }, + "searchable": { + "additionalProperties": { + "type": "boolean" + }, + "description": "The site specific searchable status of the product.", + "format": "site-specific", + "x-label": { + "default": "Searchable" + }, + "type": "object" + }, + "set_products": { + "description": "The array of set products which the product includes.", + "items": { + "$ref": "#/definitions/product" + }, + "type": "array" + }, + "short_description": { + "additionalProperties": { + "$ref": "#/definitions/markup_text" + }, + "description": "The localized short description of the product.", + "format": "localized", + "x-label": { + "default": "Description" + }, + "type": "object" + }, + "tax_class_id": { + "description": "The catalog categories that the product is assigned to", + "x-label": { + "default": "Tax Class" + }, + "type": "string" + }, + "type": { + "$ref": "#/definitions/product_type", + "description": "The type of the product. It can have one or more of the values \"item\", \"master\", \"variation_group\", \"variant\", \"bundle\", and \"set\"." + }, + "unit": { + "description": "The sales unit of the product.", + "x-label": { + "default": "Sales Unit" + }, + "type": "string" + }, + "unit_measure": { + "description": "The unitMeasure of the product.", + "x-label": { + "default": "Unit Measure" + }, + "type": "string" + }, + "unit_quantity": { + "description": "The unitQuantity of the product.", + "format": "double", + "x-label": { + "default": "Unit Quantity" + }, + "type": "number" + }, + "upc": { + "description": "The Universal Product Code of the product.", + "x-label": { + "default": "UPC" + }, + "type": "string" + }, + "valid_from": { + "additionalProperties": { + "format": "date-time", + "type": "string" + }, + "description": "The time when product is valid from.", + "format": "site-specific", + "x-label": { + "default": "Online From" + }, + "type": "object" + }, + "valid_to": { + "additionalProperties": { + "format": "date-time", + "type": "string" + }, + "description": "The time when product is valid to.", + "format": "site-specific", + "x-label": { + "default": "Online To" + }, + "type": "object" + }, + "variants": { + "description": "The array of variants of the product. This is applicable for product types \"master\" and \"variation_group\" only.", + "items": { + "$ref": "#/definitions/variant" + }, + "type": "array" + }, + "variation_attributes": { + "description": "The sorted array of variation attributes assigned to the product. This is applicable for product types \"master\",\n \"variation_group\" and \"variant\" only.", + "items": { + "$ref": "#/definitions/variation_attribute" + }, + "type": "array" + }, + "variation_groups": { + "description": "The array of variation groups in the product. This is applicable for product type \"master\" only.", + "items": { + "$ref": "#/definitions/variation_group" + }, + "type": "array" + }, + "variation_values": { + "additionalProperties": { + "type": "string" + }, + "description": "The variation values selected for the product in variation attribute id and value pairs. This is applicable for product types \"variant\" and\n \"variation_group\" only.\n\n Only for type variant and variation group.", + "type": "object" + } + } + }, + "product_inventory_record": { + "description": "

Document representing a product inventory record.

", + "properties": { + "allocation": { + "$ref": "#/definitions/product_inventory_record_allocation", + "description": "The allocation quantity and reset date." + }, + "ats": { + "description": "The quantity of items available to sell (ATS). This is calculated as the allocation plus the\n preorderBackorderAllocation minus the turnover.", + "format": "double", + "type": "number" + }, + "creation_date": { + "description": "Returns the value of attribute 'creationDate'.", + "format": "date-time", + "x-label": { + "default": "Creation Date" + }, + "readOnly": true, + "type": "string" + }, + "in_stock_date": { + "description": "The date that the item is expected to be in stock.", + "format": "date-time", + "type": "string" + }, + "inventory_list_id": { + "description": "The user supplied ID of the inventory list.", + "type": "string" + }, + "inventory_turnover": { + "description": "The sum of all inventory transactions (decrements and increments) that have been recorded subsequent to the\n allocation was reset date. The quantity value can be negative due to higher quantity of inventory decrements than\n increments.", + "format": "double", + "type": "number" + }, + "last_modified": { + "description": "Returns the value of attribute 'lastModified'.", + "format": "date-time", + "x-label": { + "default": "Last Modified" + }, + "readOnly": true, + "type": "string" + }, + "link": { + "description": "The URL that is used to get this instance.", + "type": "string" + }, + "perpetual_flag": { + "description": "The flag that determines if the product is perpetually in stock.", + "type": "boolean" + }, + "pre_order_back_order_allocation": { + "description": "The quantity of items that are allocated for sale, beyond the initial stock allocation.", + "format": "double", + "type": "number" + }, + "pre_order_back_order_handling": { + "description": "The enum holding the records pre-backorder-handling configuration. Possible values are NONE, PREORDER and\n BACKORDER. Method returns NONE in case the record pre-backorder-handling-code is null or unknown.", + "enum": [ + "none", + "preorder", + "backorder" + ], + "type": "string" + }, + "product_id": { + "description": "The user supplied ID of the product.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "product_name": { + "description": "The name of the product.", + "type": "string" + }, + "quantity_on_order": { + "description": "The on order quantity, the quantity of all transactions for this record since the allocation reset date.", + "format": "double", + "type": "number" + }, + "stock_level": { + "description": "The current stock level. This is calculated as the allocation minus the turnover.", + "format": "double", + "type": "number" + } + } + }, + "product_inventory_record_allocation": { + "description": "

Document representing a product inventory record allocation.

", + "properties": { + "amount": { + "description": "The allocation quantity that is currently set. The quantity unit is the same unit as the product itself.", + "format": "double", + "minimum": 0.0, + "type": "number" + }, + "reset_date": { + "description": "The date the allocation quantity was initialized or reset.", + "format": "date-time", + "type": "string" + } + } + }, + "product_inventory_records": { + "description": "

Document representing an unfiltered list of inventory records.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "description": "The collection of product inventory records.", + "items": { + "$ref": "#/definitions/product_inventory_record" + }, + "type": "array" + }, + "expand": { + "description": "The list of expands set for the search request. Expands are optional.", + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "product_option": { + "description": "

Document representing a product option

", + "properties": { + "custom_name": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized custom name of the product option.", + "format": "localized", + "type": "object" + }, + "default_product_option_value": { + "description": "The default product option value.", + "type": "string" + }, + "description": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized description of the product option.", + "format": "localized", + "type": "object" + }, + "id": { + "description": "The object attribute definition id which is also the identifier for the product option.", + "minLength": 1, + "type": "string" + }, + "image": { + "$ref": "#/definitions/media_file", + "description": "The image assigned to the product option." + }, + "link": { + "description": "The URL link to the product option.", + "type": "string" + }, + "name": { + "description": "The name of the object attribute definition.", + "type": "string" + }, + "selected_option_value": { + "description": "The selected option value of the product option.", + "type": "string" + }, + "shared": { + "description": "The flag that indicates if the product option is shared or local.", + "type": "boolean" + }, + "sorting_mode": { + "description": "The sorting mode for the product option values.", + "enum": [ + "byexplicitorder", + "byoptionprice" + ], + "type": "string" + }, + "values": { + "description": "The sorted array of values of the product option.", + "items": { + "$ref": "#/definitions/product_option_value" + }, + "type": "array" + } + } + }, + "product_option_value": { + "description": "

Document representing a product option Value

", + "properties": { + "default_product_option_value": { + "description": "Flag indicating if the product option value is the default value for the product option.", + "type": "boolean" + }, + "id": { + "description": "The id of the product option value.", + "minLength": 1, + "type": "string" + }, + "link": { + "description": "The URL link to the product option value.", + "type": "string" + }, + "option_prices": { + "description": "The list of prices in the product option value.", + "items": { + "$ref": "#/definitions/money" + }, + "type": "array" + }, + "sku_extension": { + "description": "The sku extension of the product option value.", + "type": "string" + }, + "value": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized value of the product option.", + "format": "localized", + "type": "object" + } + } + }, + "product_option_values": { + "description": "

Document representing an unfiltered list of product option values.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "$ref": "#/definitions/product_option_value" + }, + "type": "array" + }, + "expand": { + "description": "The list of expands set for the search request. Expands are optional.", + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "product_options": { + "description": "

Document representing an unfiltered list of product options.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "$ref": "#/definitions/product_option" + }, + "type": "array" + }, + "expand": { + "description": "The list of expands set for the search request. Expands are optional.", + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "product_search_result": { + "description": "

Document representing a product search result.

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. Can be empty.", + "items": { + "$ref": "#/definitions/product" + }, + "type": "array" + }, + "next": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the next result page." + }, + "previous": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the previous result page." + }, + "query": { + "$ref": "#/definitions/query", + "description": "The query passed into the search", + "x-sub_types": { + "nested_query": "#/definitions/nested_query", + "filtered_query": "#/definitions/filtered_query", + "text_query": "#/definitions/text_query", + "match_all_query": "#/definitions/match_all_query", + "term_query": "#/definitions/term_query", + "bool_query": "#/definitions/bool_query" + } + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/definitions/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "product_type": { + "description": "

Document representing a product type.

", + "properties": { + "bundle": { + "description": "A flag indicating whether the product is a bundle.", + "type": "boolean" + }, + "bundled": { + "description": "A flag indicating whether the product is bundled.", + "type": "boolean" + }, + "item": { + "description": "A flag indicating whether the product is a standard item.", + "type": "boolean" + }, + "master": { + "description": "A flag indicating whether the product is a master.", + "type": "boolean" + }, + "option": { + "description": "A flag indicating whether the product is an option.", + "type": "boolean" + }, + "part_of_product_set": { + "description": "A flag indicating whether the product is part of product set.", + "type": "boolean" + }, + "part_of_retail_set": { + "description": "A flag indicating whether the product is part of retail set.", + "type": "boolean" + }, + "retail_set": { + "description": "A flag indicating whether the product is a retail set.", + "type": "boolean" + }, + "set": { + "description": "A flag indicating whether the product is a set.", + "type": "boolean" + }, + "variant": { + "description": "A flag indicating whether the product is a variant.", + "type": "boolean" + }, + "variation_group": { + "description": "A flag indicating whether the product is a variation group.", + "type": "boolean" + } + } + }, + "promotion": { + "description": "

Document representing a promotion. Unless otherwise stated, attributes of this document are not supported when using\n the Open Commerce API to update multiple promotions at once.

", + "properties": { + "archived": { + "description": "Determines whether or not this promotion is archived. This attribute is allowed to be updated when using the Open\n Commerce API to update multiple promotions at once.", + "type": "boolean" + }, + "assignment_information": { + "$ref": "#/definitions/promotion_assignment_information", + "description": "Information about the assignments and assignment schedules of this promotion" + }, + "callout_msg": { + "additionalProperties": { + "$ref": "#/definitions/markup_text" + }, + "description": "The localized callout message of the promotion.", + "format": "localized", + "x-label": { + "default": "Callout Message" + }, + "type": "object" + }, + "creation_date": { + "description": "Returns the value of attribute 'creationDate'.", + "format": "date-time", + "x-label": { + "default": "Creation Date" + }, + "readOnly": true, + "type": "string" + }, + "currency_code": { + "description": "The ISO 4217 mnemonic code of the currency this promotion is restricted to. If not populated, then there is no\n currency restriction on the promotion.", + "maxLength": 3, + "type": "string" + }, + "disable_globally_excluded": { + "description": "Determines whether or not this promotion ignores the global product exclusions for promotions. This attribute is\n allowed to be updated when using the Open Commerce API to update multiple promotions at once.", + "type": "boolean" + }, + "enabled": { + "description": "Determines whether or not this promotion is enabled. This attribute is allowed to be updated when using the Open\n Commerce API to update multiple promotions at once.", + "type": "boolean" + }, + "exclusivity": { + "description": "Determines if the promotion can be combined with other promotions of the same promotion class or if it cannot be\n combined with any other promotions. This attribute is allowed to be updated when using the Open Commerce API to\n update multiple promotions at once.", + "enum": [ + "no", + "class", + "global" + ], + "x-enum-labels": [ + { + "default": "Can't be combined with promotions of the same class." + }, + { + "default": "Can't be combined with any promotion." + }, + { + "default": "Can be combined with any promotion." + } + ], + "x-label": { + "default": "Exclusivity" + }, + "type": "string" + }, + "id": { + "description": "The id for the promotion.", + "x-label": { + "default": "ID" + }, + "type": "string" + }, + "last_modified": { + "description": "Returns the value of attribute 'lastModified'.", + "format": "date-time", + "x-label": { + "default": "Last Modified" + }, + "readOnly": true, + "type": "string" + }, + "link": { + "description": "A URL that is used to get the details of this promotion.", + "type": "string" + }, + "name": { + "additionalProperties": { + "type": "string" + }, + "description": "The user supplied name of this promotion, which can be localized", + "format": "localized", + "x-label": { + "default": "Name" + }, + "type": "object" + }, + "promotion_class": { + "description": "The class of the promotion. If the promotion class is modified, then the promotion rule and all of its values,\n such as whether or not to disable global product exclusions, will be reset.", + "enum": [ + "product", + "shipping", + "order" + ], + "type": "string" + }, + "tags": { + "description": "Returns the list of tags assigned to this promotion. If used to set the tags on a promotion, the promotion will\n only have the tags passed in the input. Any existing tags will be removed.", + "items": { + "$ref": "#/definitions/tag" + }, + "x-label": { + "default": "Tags" + }, + "type": "array" + } + } + }, + "promotion_abtest_group_assignment": { + "properties": { + "abtest_description": { + "type": "string" + }, + "abtest_id": { + "type": "string" + }, + "enabled": { + "type": "boolean" + }, + "schedule": { + "$ref": "#/definitions/schedule" + }, + "segment_description": { + "type": "string" + }, + "segment_id": { + "type": "string" + } + } + }, + "promotion_assignment_information": { + "description": "", + "properties": { + "abtest_id": { + "description": "If there is only one assignment, and that assignment is an A/B test segment, the id of the A/B test the segment\n belongs to. Otherwise, empty.", + "type": "string" + }, + "abtest_segment_id": { + "description": "If there is only one assignment, and that assignment is an A/B test segment, the id of the A/B test segment.\n Otherwise, empty.", + "type": "string" + }, + "active": { + "description": "true if the individual assignment or the multiple assignments are currently active (applicable only for non default schedule assignments i.e. either campaign or A/B test schedule).", + "type": "boolean" + }, + "active_abtest_assignments": { + "description": "A list of currently active A/B tests this is assigned to.", + "items": { + "$ref": "#/definitions/promotion_abtest_group_assignment" + }, + "type": "array" + }, + "active_campaign_assignments": { + "description": "A list of currently active campaigns this is assigned to.", + "items": { + "$ref": "#/definitions/promotion_campaign_assignment" + }, + "type": "array" + }, + "campaign_id": { + "description": "If there is only one assignment, and that assignment is a campaign, the id of the campaign. Otherwise, empty.", + "type": "string" + }, + "enabled": { + "type": "boolean" + }, + "end_date": { + "description": "The end date of the container of the assignment (a Campaign or ABTest). If schedule_type is\n schedule_type : \"multiple\" or schedule_type : \"none\", then then result will be null. Also, a null\n date will also return null.", + "format": "date-time", + "type": "string" + }, + "schedule": { + "$ref": "#/definitions/schedule", + "description": "The schedule of the assignment (a Campaign or ABTest). If schedule_type is\n schedule_type : \"multiple\" or schedule_type : \"none\", then then result will be null." + }, + "schedule_type": { + "description": "If there is only one active assignment, or no active assignments and one upcoming assignment, this is that type\n of assignment (schedule_type : \"campaign\" or schedule_type : \"abtest\"). If there are no\n assignments, it will be schedule_type : \"none\", otherwise, schedule_type : \"multiple\".", + "enum": [ + "none", + "campaign", + "abtest", + "multiple" + ], + "type": "string" + }, + "start_date": { + "description": "The start date of the container of the assignment (a Campaign or ABTest). If schedule_type is\n schedule_type : \"multiple\" or schedule_type : \"none\", then then result will be null. Also, a null\n date will also return null.", + "format": "date-time", + "type": "string" + }, + "upcoming_abtest_assignments": { + "description": "A list of upcoming A/B tests this is assigned to.", + "items": { + "$ref": "#/definitions/promotion_abtest_group_assignment" + }, + "type": "array" + }, + "upcoming_campaign_assignments": { + "description": "A list of upcoming campaigns this is assigned to.", + "items": { + "$ref": "#/definitions/promotion_campaign_assignment" + }, + "type": "array" + } + } + }, + "promotion_campaign_assignment": { + "description": "

Document representing a promotion campaign assignment.

", + "properties": { + "campaign": { + "$ref": "#/definitions/campaign", + "description": "The campaign" + }, + "campaign_id": { + "description": "The id of the campaign.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "coupons": { + "description": "The sorted array of assigned coupon ids.", + "items": { + "type": "string" + }, + "type": "array" + }, + "coupons_based": { + "description": "True if the assigned promotion is coupon based. When set to false, Coupons in the campaign and on the\n PromotionCampaignAssignment are ignored. The default value is true.", + "type": "boolean" + }, + "creation_date": { + "format": "date-time", + "type": "string" + }, + "customer_groups": { + "description": "The sorted array of assigned customer groups.", + "items": { + "type": "string" + }, + "type": "array" + }, + "customer_groups_based": { + "description": "True if the assigned promotion is customer group based. When set to false, Customer Groups in the campaign and on\n the PromotionCampaignAssignment are ignored. The default value is true.", + "type": "boolean" + }, + "description": { + "description": "The description of the promotion campaign assignment.", + "maxLength": 4000, + "type": "string" + }, + "enabled": { + "description": "True if the assignment resource is enabled", + "type": "boolean" + }, + "last_modified": { + "format": "date-time", + "type": "string" + }, + "link": { + "description": "link for convenience", + "type": "string" + }, + "promotion": { + "$ref": "#/definitions/promotion", + "description": "The promotion" + }, + "promotion_id": { + "description": "The id of the Promotion.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "rank": { + "description": "The rank of promotion campaign assignment", + "format": "int32", + "type": "integer" + }, + "required_qualifier": { + "description": "A constant indicating that one or all qualifier conditions must be\n met in order for the promotion to apply for a given customer.\n Valid values are \"any\" and \"all\".", + "enum": [ + "any", + "all" + ], + "type": "string" + }, + "schedule": { + "$ref": "#/definitions/schedule", + "description": "The schedule of the assignment resource" + }, + "source_code_based": { + "description": "True if the assigned promotion is source code group based. When set to false, Source Code Groups in the campaign and on\n the PromotionCampaignAssignment are ignored. The default value is true.", + "type": "boolean" + }, + "source_code_groups": { + "description": "The sorted array of assigned source code groups.", + "items": { + "type": "string" + }, + "type": "array" + } + } + }, + "promotion_campaign_assignment_search_result": { + "description": "

Document representing a promotion campaign assignment search result.

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. Can be empty.", + "items": { + "$ref": "#/definitions/promotion_campaign_assignment" + }, + "type": "array" + }, + "next": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the next result page." + }, + "previous": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the previous result page." + }, + "query": { + "$ref": "#/definitions/query", + "description": "The query passed into the search", + "x-sub_types": { + "nested_query": "#/definitions/nested_query", + "filtered_query": "#/definitions/filtered_query", + "text_query": "#/definitions/text_query", + "match_all_query": "#/definitions/match_all_query", + "term_query": "#/definitions/term_query", + "bool_query": "#/definitions/bool_query" + } + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/definitions/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "promotion_search_result": { + "description": "

Document representing a promotion search result.

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. Can be empty.", + "items": { + "$ref": "#/definitions/promotion" + }, + "type": "array" + }, + "next": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the next result page." + }, + "previous": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the previous result page." + }, + "query": { + "$ref": "#/definitions/query", + "description": "The query passed into the search", + "x-sub_types": { + "nested_query": "#/definitions/nested_query", + "filtered_query": "#/definitions/filtered_query", + "text_query": "#/definitions/text_query", + "match_all_query": "#/definitions/match_all_query", + "term_query": "#/definitions/term_query", + "bool_query": "#/definitions/bool_query" + } + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/definitions/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "promotions": { + "description": "

A set of promotions

", + "properties": { + "count": { + "format": "int32", + "type": "integer" + }, + "data": { + "description": "The set of promotions", + "items": { + "$ref": "#/definitions/promotion" + }, + "type": "array" + }, + "expand": { + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "type": "string" + }, + "previous": { + "type": "string" + }, + "select": { + "type": "string" + }, + "start": { + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "format": "int32", + "type": "integer" + } + } + }, + "query": { + "description": "

Document representing a query. A query contains a set of objects that define criteria\n used to select records. A query can contain one of the following:\n

" + }, + "query_filter": { + "description": "

Document representing a query filter. A query filter wraps any query and allows it to be used as a filter.\n \n Example: (coupon_id contains \"disabled\" AND (enabled=false OR active=false))\n

 \n query : {\n    filtered_query: {\n        query: { text_query: { fields: [\"coupon_id\"], search_phrase: \"disabled\" } },\n        filter: {\n            query_filter: {\n                query: {\n                    term_query: { fields: [\"enabled\",\"active\"], operator: \"is\", values: [ false ] }\n                }\n            }\n        }\n    }\n }\n  

", + "properties": { + "query": { + "$ref": "#/definitions/query", + "description": "The query to use as a filter.", + "x-sub_types": { + "nested_query": "#/definitions/nested_query", + "filtered_query": "#/definitions/filtered_query", + "text_query": "#/definitions/text_query", + "match_all_query": "#/definitions/match_all_query", + "term_query": "#/definitions/term_query", + "bool_query": "#/definitions/bool_query" + } + } + }, + "required": [ + "query" + ] + }, + "range2_filter": { + "description": "

Document representing a range comparison with a range filter, named Range2Filter.

\n\n

A Range2Filter allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range.

\n

The first range (R1) is defined by a pair of attributes (\"from_field\" and \"to_field\") that specify the extent of a range, such as the attributes \"valid_from\" and \"valid_to\".

\n

The second range (R2) is defined by \"from_value\" and \"to_value\".

\n

The filter mode specifies the method used to compare the two ranges:

\n \n

The range filter supports several value types, and relies on the natural sorting of the value type\n for range interpretation. Value ranges can be open-ended (at one end only). You can configure whether the\n lower and upper bounds are inclusive or exclusive.

\n

A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because \n the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for\n every query (for example, if the user controls the date range down to the hour via a UI control). Range filters\n are inclusive by default.

\n\n

Example: (valid dates overlap with the range January 1, 2007 through January 1, 2017)\n

 \n \"query\" : {\n        \"filtered_query\": {\n           \"filter\": {\n                \"range2_filter\": {\n                    \"from_field\": \"valid_from\",\n                    \"to_field\": \"valid_to\",\n                    \"filter_mode\":\"overlap\",\n                    \"from_value\": \"2007-01-01T00:00:00.000Z\",\n                    \"to_value\": \"2017-01-01T00:00:00.000Z\"\n                }\n           },\n           \"query\": { \"match_all_query\": {} }\n       }\n   }\n  

", + "properties": { + "filter_mode": { + "description": "Compare mode: overlap, containing, or contained. If not specified, the default is overlap.", + "enum": [ + "overlap", + "containing", + "contained" + ], + "type": "string" + }, + "from_field": { + "description": "The field name of the field that starts the first range.", + "type": "string" + }, + "from_inclusive": { + "description": "Indicates whether the lower bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive.", + "type": "boolean" + }, + "from_value": { + "description": "The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended.", + "type": "object" + }, + "to_field": { + "description": "The field name of the field that ends the first range.", + "type": "string" + }, + "to_inclusive": { + "description": "Indicates whether the upper bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive.", + "type": "boolean" + }, + "to_value": { + "description": "The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended.", + "type": "object" + } + }, + "required": [ + "from_field", + "to_field" + ] + }, + "range_filter": { + "description": "

Document representing a range filter.\n \n A range filter allows you to restrict a search result to hits that have values for a given attribute that fall into a\n given value range. The range filter supports several value types, and relies on the natural sorting of the value type\n for range interpretation. Value ranges can be open-ended (at one end only). You can configure whether the\n lower and upper bounds are inclusive or exclusive.\n \n A range filter is useful for general restrictions that can be shared between searches (like a static date range) because\n the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for\n every query (for example, if the user controls the date range down to the hour via a UI control). Range filters\n are inclusive by default.\n \n Example: ( redemption_count BETWEEN (0,10] )\n

 \n    query: {\n        filtered_query: {\n            query: { match_all_query: {} },\n            filter: {\n                range_filter: {\n                    field: \"redemption_count\",\n                    from: 0,\n                    to: 10,\n                    from_inclusive: false\n                }\n            }\n        }\n    }\n  

", + "properties": { + "field": { + "description": "The search field.", + "type": "string" + }, + "from": { + "description": "The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended.", + "type": "object" + }, + "from_inclusive": { + "description": "Indicates whether the lower bound of the range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive.", + "type": "boolean" + }, + "to": { + "description": "The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended.", + "type": "object" + }, + "to_inclusive": { + "description": "Indicates whether the upper bound of the range is inclusive. If not specified, the default is true. Set to false to made the upper bound exclusive.", + "type": "boolean" + } + }, + "required": [ + "field" + ] + }, + "recommender": { + "description": "

The recommender object

", + "properties": { + "description": { + "description": "The description of the recommender", + "type": "string" + }, + "name": { + "description": "The name of the recommender", + "type": "string" + } + } + }, + "recommenders_result": { + "description": "

A list of recommenders available for use in recommendation requests.

", + "properties": { + "recommenders": { + "description": "The recommender objects", + "items": { + "$ref": "#/definitions/recommender" + }, + "type": "array" + } + } + }, + "recurrence": { + "description": "

Document representing a schedule recurrence.

", + "properties": { + "day_of_week": { + "description": "The days of week for recurrence.", + "enum": [ + "monday", + "tuesday", + "wednesday", + "thursday", + "friday", + "saturday", + "sunday" + ], + "items": { + "enum": [ + "monday", + "tuesday", + "wednesday", + "thursday", + "friday", + "saturday", + "sunday" + ], + "type": "string" + }, + "type": "array" + }, + "time_of_day": { + "$ref": "#/definitions/time_of_day", + "description": "The time of the day for recurrence." + } + } + }, + "redemption_limit_per_period": { + "description": "

Document representing a coupon redemption limit.

", + "properties": { + "limit": { + "description": "The limit on the number of times a coupon can be redeemed for a specified redemption time period.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "redemption_time_frame": { + "description": "The redemption time period.", + "format": "int32", + "maximum": 999, + "minimum": 0, + "type": "integer" + } + } + }, + "redemption_limits": { + "description": "

Document representing a coupon.

", + "properties": { + "limit_per_code": { + "description": "The redemption limit per code", + "format": "int32", + "x-label": { + "default": "Redemptions per Code" + }, + "minimum": 0, + "type": "integer" + }, + "limit_per_customer": { + "description": "The redemption limit per customer", + "format": "int32", + "x-label": { + "default": "Redemptions per Customer" + }, + "minimum": 0, + "type": "integer" + }, + "limit_per_time_frame": { + "$ref": "#/definitions/redemption_limit_per_period", + "description": "The redemption limit per time frame", + "x-label": { + "default": "Redemptions per Timeframe" + } + } + } + }, + "resource_info": { + "description": "", + "properties": { + "allowed_origins": { + "description": "Allowed Origins", + "items": { + "type": "string" + }, + "type": "array" + }, + "api_type": { + "description": "API Type", + "enum": [ + "data", + "shop" + ], + "type": "string" + }, + "resources": { + "description": "An array of resources", + "items": { + "$ref": "#/definitions/resource_object" + }, + "minItems": 1, + "type": "array" + }, + "response_headers": { + "additionalProperties": { + "type": "string" + }, + "description": "Response Header", + "type": "object" + } + }, + "required": [ + "api_type", + "resources" + ] + }, + "resource_object": { + "description": "

Object to represent a resource in ocapi_config_api_request

", + "properties": { + "cache_time": { + "description": "Resource Cache time", + "format": "int32", + "type": "integer" + }, + "config": { + "additionalProperties": { + "type": "string" + }, + "description": "Configuration of the resource", + "type": "object" + }, + "methods": { + "description": "Allowed methods of the resource", + "items": { + "type": "string" + }, + "minItems": 1, + "type": "array" + }, + "personalized_caching_enabled": { + "description": "Indicate if the personalized caching is enabled for the resource", + "type": "boolean" + }, + "read_attributes": { + "description": "Read attributes of the resource", + "type": "string" + }, + "resource_id": { + "description": "Resource ID", + "minLength": 1, + "type": "string" + }, + "version_range": { + "$ref": "#/definitions/version_range_object", + "description": "Version range" + }, + "write_attributes": { + "description": "Write attributes of the resource", + "type": "string" + } + }, + "required": [ + "methods", + "resource_id" + ] + }, + "result_page": { + "description": "

Data that can be used to get the next and previous page of a Data API results object.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "type": "integer" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "type": "integer" + } + } + }, + "role": { + "description": "

Document representing an access role.

", + "properties": { + "creation_date": { + "format": "date-time", + "type": "string" + }, + "description": { + "description": "The role description.", + "type": "string" + }, + "id": { + "description": "The role ID.", + "type": "string" + }, + "last_modified": { + "format": "date-time", + "type": "string" + }, + "link": { + "description": "URL that is used to get this instance. This property is computed and cannot be modified.", + "type": "string" + }, + "permissions": { + "$ref": "#/definitions/role_permissions", + "description": "The permissions assigned to the access role. Available through expands." + }, + "user_count": { + "description": "Number of users assigned to the role.", + "format": "int32", + "type": "integer" + }, + "user_manager": { + "description": "Flag whether this role is allowed to manage users or other access roles.", + "type": "boolean" + }, + "users": { + "description": "The users assigned to the access role. Available through expands.", + "items": { + "$ref": "#/definitions/user" + }, + "type": "array" + } + } + }, + "role_functional_permission": { + "description": "

Document representing a functional permission.

", + "properties": { + "name": { + "description": "The name of the functional permission.", + "minLength": 1, + "type": "string" + }, + "type": { + "description": "The permission type (\"functional\").", + "minLength": 1, + "type": "string" + }, + "value": { + "description": "The non domain specific value for the functional permission, e.g. ACCESS or READONLY.", + "type": "string" + }, + "values": { + "additionalProperties": { + "type": "string" + }, + "description": "The map of value per domain for the functional permission, e.g. ACCESS or READONLY per domain name.", + "type": "object" + } + }, + "required": [ + "name", + "type" + ] + }, + "role_functional_permissions": { + "description": "

Document listing the functional permissions assigned to a certain role.

", + "properties": { + "organization": { + "description": "The list of organization functional permissions.", + "items": { + "$ref": "#/definitions/role_functional_permission" + }, + "type": "array" + }, + "site": { + "description": "The list of site functional permissions.", + "items": { + "$ref": "#/definitions/role_functional_permission" + }, + "type": "array" + } + } + }, + "role_locale_permission": { + "description": "

Document representing a locale permission.

", + "properties": { + "locale_id": { + "description": "The related locale id of the locale permission.", + "minLength": 1, + "type": "string" + }, + "type": { + "description": "The permission type (\"locale\").", + "minLength": 1, + "type": "string" + }, + "value": { + "description": "The non domain specific value for the locale permission, e.g. ACCESS or READONLY.", + "type": "string" + }, + "values": { + "additionalProperties": { + "type": "string" + }, + "description": "The map of value per domain for the locale permission, e.g. ACCESS or READONLY per domain name.", + "type": "object" + } + }, + "required": [ + "locale_id", + "type" + ] + }, + "role_locale_permissions": { + "description": "

Document listing the locale permissions assigned to a certain role.

", + "properties": { + "unscoped": { + "description": "The list of unscoped locale permissions.", + "items": { + "$ref": "#/definitions/role_locale_permission" + }, + "type": "array" + } + } + }, + "role_module_permission": { + "description": "

Document representing a module permission.

", + "properties": { + "application": { + "description": "The permission application (e.g. \"bm\", \"csc\").", + "minLength": 1, + "type": "string" + }, + "name": { + "description": "The related menu action name of the module permission.", + "minLength": 1, + "type": "string" + }, + "system": { + "description": "Flag to indicate a system menu action. This is false for custom menu actions.", + "type": "boolean" + }, + "type": { + "description": "The permission type (\"module\").", + "minLength": 1, + "type": "string" + }, + "value": { + "description": "The non domain specific value for the module permission, e.g. ACCESS or READONLY.", + "type": "string" + }, + "values": { + "additionalProperties": { + "type": "string" + }, + "description": "The map of value per domain for the module permission, e.g. ACCESS or READONLY per domain name.", + "type": "object" + } + }, + "required": [ + "application", + "name", + "type" + ] + }, + "role_module_permissions": { + "description": "

Document listing the module permissions assigned to a certain role.

", + "properties": { + "organization": { + "description": "The list of organization module permissions.", + "items": { + "$ref": "#/definitions/role_module_permission" + }, + "type": "array" + }, + "site": { + "description": "The list of site module permissions.", + "items": { + "$ref": "#/definitions/role_module_permission" + }, + "type": "array" + } + } + }, + "role_permissions": { + "description": "

Document listing the permissions assigned to a certain role (accessible by type).

", + "properties": { + "functional": { + "$ref": "#/definitions/role_functional_permissions", + "description": "The functional permissions." + }, + "locale": { + "$ref": "#/definitions/role_locale_permissions", + "description": "The locale permissions." + }, + "module": { + "$ref": "#/definitions/role_module_permissions", + "description": "The module permissions." + }, + "webdav": { + "$ref": "#/definitions/role_webdav_permissions", + "description": "The WebDAV permissions." + } + } + }, + "role_search_request": { + "description": "

Document representing an role search.\n\n Note that only either an user ID or a permission can be provided (or none), but not both. When one of them is provided,\n the further query elements will filter the respective role set (meaning the user ID / permission is AND-connected to the query definition).\n\n When a permission definition is using a site scope, it can contain only one site.\n\n When optional fields in the permission definitions are not provided, they will be treated as 'don't care' (so its e.g. possible so search for\n permission to site-specific BM modules without providing a site, and the search will return all roles having that permission for any site).

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "maximum": 200, + "minimum": 1, + "type": "integer" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "permissions": { + "$ref": "#/definitions/role_permissions", + "description": "The permission to search for. Note that even though this is a container that can hold multiple permissions definitions,\n for a search request only one permission can be provided (otherwise an error will be returned)." + }, + "query": { + "$ref": "#/definitions/query", + "description": "The query to apply", + "x-sub_types": { + "nested_query": "#/definitions/nested_query", + "filtered_query": "#/definitions/filtered_query", + "text_query": "#/definitions/text_query", + "match_all_query": "#/definitions/match_all_query", + "term_query": "#/definitions/term_query", + "bool_query": "#/definitions/bool_query" + } + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/definitions/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "user_id": { + "description": "The id of the user whose roles are to be searched.", + "type": "string" + } + }, + "required": [ + "query" + ] + }, + "role_search_result": { + "description": "

Document representing an access role search result.

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. Can be empty.", + "items": { + "$ref": "#/definitions/role" + }, + "type": "array" + }, + "next": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the next result page." + }, + "previous": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the previous result page." + }, + "query": { + "$ref": "#/definitions/query", + "description": "The query passed into the search", + "x-sub_types": { + "nested_query": "#/definitions/nested_query", + "filtered_query": "#/definitions/filtered_query", + "text_query": "#/definitions/text_query", + "match_all_query": "#/definitions/match_all_query", + "term_query": "#/definitions/term_query", + "bool_query": "#/definitions/bool_query" + } + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/definitions/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "role_webdav_permission": { + "description": "

Document representing a WebDAV permission.

", + "properties": { + "folder": { + "description": "The related folder of the WebDAV permission.", + "minLength": 1, + "type": "string" + }, + "type": { + "description": "The permission type (\"webdav\").", + "minLength": 1, + "type": "string" + }, + "value": { + "description": "The non domain specific value for the WebDAV permission, e.g. ACCESS or READONLY.", + "type": "string" + }, + "values": { + "additionalProperties": { + "type": "string" + }, + "description": "The map of value per domain for the WebDAV permission, e.g. ACCESS or READONLY per domain name.", + "type": "object" + } + }, + "required": [ + "folder", + "type" + ] + }, + "role_webdav_permissions": { + "description": "

Document listing the WebDAV permissions assigned to a certain role.

", + "properties": { + "unscoped": { + "description": "The list of unscoped WebDAV permissions.", + "items": { + "$ref": "#/definitions/role_webdav_permission" + }, + "type": "array" + } + } + }, + "roles": { + "description": "

Document representing a list of access roles.

", + "properties": { + "count": { + "format": "int32", + "type": "integer" + }, + "data": { + "description": "The list of access roles.", + "items": { + "$ref": "#/definitions/role" + }, + "type": "array" + }, + "expand": { + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "type": "string" + }, + "previous": { + "type": "string" + }, + "select": { + "type": "string" + }, + "start": { + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "format": "int32", + "type": "integer" + } + } + }, + "rule": { + "description": "

Document representing a customer group rule

", + "properties": { + "description": { + "description": "The description of the rule, describing its conditions in natural language. Property is read-only.", + "type": "string" + } + } + }, + "schedule": { + "description": "

Document representing a time schedule for slots.

", + "properties": { + "end_date": { + "description": "The date to end of validity. ISO8601 date time format: yyyy-MM-dd'T'HH:mm:ssZ.", + "format": "date-time", + "type": "string" + }, + "recurrence": { + "$ref": "#/definitions/recurrence", + "description": "The recurrence of the schedule by day of week and time of day. Not all schedules will support a recurrence." + }, + "start_date": { + "description": "The date to start validity. ISO8601 date time format: yyyy-MM-dd'T'HH:mm:ssZ.", + "format": "date-time", + "type": "string" + } + } + }, + "search_request": { + "description": "

Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields that each query supports are defined within the search resource.

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "maximum": 200, + "minimum": 1, + "type": "integer" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "query": { + "$ref": "#/definitions/query", + "description": "The query to apply", + "x-sub_types": { + "nested_query": "#/definitions/nested_query", + "filtered_query": "#/definitions/filtered_query", + "text_query": "#/definitions/text_query", + "match_all_query": "#/definitions/match_all_query", + "term_query": "#/definitions/term_query", + "bool_query": "#/definitions/bool_query" + } + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/definitions/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "query" + ] + }, + "shipping_address_update_request": { + "description": "

Request body to update the order shipping address.

", + "properties": { + "address1": { + "type": "string" + }, + "address2": { + "type": "string" + }, + "city": { + "type": "string" + }, + "company_name": { + "type": "string" + }, + "country_code": { + "type": "string" + }, + "first_name": { + "type": "string" + }, + "full_name": { + "x-label": { + "default": "Full Name" + }, + "type": "string" + }, + "id": { + "type": "string" + }, + "job_title": { + "type": "string" + }, + "last_name": { + "type": "string" + }, + "phone": { + "type": "string" + }, + "post_box": { + "type": "string" + }, + "postal_code": { + "type": "string" + }, + "salutation": { + "type": "string" + }, + "second_name": { + "type": "string" + }, + "state_code": { + "type": "string" + }, + "suffix": { + "type": "string" + }, + "suite": { + "type": "string" + }, + "title": { + "type": "string" + } + } + }, + "site": { + "description": "

Document representing a site.

", + "properties": { + "cartridges": { + "description": "The cartridge Path of the site", + "type": "string" + }, + "creation_date": { + "format": "date-time", + "type": "string" + }, + "customer_list_link": { + "$ref": "#/definitions/customer_list_link", + "description": "The link to the customer list." + }, + "description": { + "additionalProperties": { + "type": "string" + }, + "description": "The description of this site.", + "format": "localized", + "type": "object" + }, + "display_name": { + "additionalProperties": { + "type": "string" + }, + "description": "The display name entered by the user.", + "format": "localized", + "type": "object" + }, + "id": { + "description": "The id of this site.", + "minLength": 1, + "type": "string" + }, + "in_deletion": { + "description": "The deletion status of this site, true if in deletion", + "type": "boolean" + }, + "last_modified": { + "format": "date-time", + "type": "string" + }, + "link": { + "description": "A link directly to the site", + "type": "string" + }, + "storefront_status": { + "enum": [ + "online", + "maintenance", + "to_be_deleted", + "protected" + ], + "type": "string" + } + }, + "required": [ + "id" + ] + }, + "site_preferences": { + "description": "

Represents a set of preferences attached at the organization level.

", + "properties": { + "link": { + "description": "A URL that returns the full details for a custom preference", + "type": "string" + }, + "site": { + "$ref": "#/definitions/site", + "description": "The site that contains the preferences" + } + } + }, + "site_resource_info": { + "description": "

Object to represent a site configuration and available resources in the site configuration.

", + "properties": { + "site_configs": { + "description": "Site configuration", + "items": { + "$ref": "#/definitions/resource_info" + }, + "type": "array" + }, + "site_id": { + "description": "Site ID", + "type": "string" + } + }, + "required": [ + "site_configs" + ] + }, + "site_search_result": { + "description": "

Document representing a site search result.

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. Can be empty.", + "items": { + "$ref": "#/definitions/site" + }, + "type": "array" + }, + "next": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the next result page." + }, + "previous": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the previous result page." + }, + "query": { + "$ref": "#/definitions/query", + "description": "The query passed into the search", + "x-sub_types": { + "nested_query": "#/definitions/nested_query", + "filtered_query": "#/definitions/filtered_query", + "text_query": "#/definitions/text_query", + "match_all_query": "#/definitions/match_all_query", + "term_query": "#/definitions/term_query", + "bool_query": "#/definitions/bool_query" + } + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/definitions/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "sites": { + "description": "

Document representing an unfiltered list of sites.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "$ref": "#/definitions/site" + }, + "type": "array" + }, + "expand": { + "description": "The list of expands set for the search request. Expands are optional.", + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "slot": { + "description": "

Document representing a slot

", + "properties": { + "context_type": { + "description": "A slot context", + "enum": [ + "global", + "category", + "folder" + ], + "type": "string" + }, + "creation_date": { + "format": "date-time", + "type": "string" + }, + "description": { + "description": "The user supplied description of the slot", + "maxLength": 4000, + "type": "string" + }, + "last_modified": { + "format": "date-time", + "type": "string" + }, + "link": { + "description": "A link to the slot", + "type": "string" + }, + "preview_url": { + "description": "A preview URL the slot", + "type": "string" + }, + "slot_configurations": { + "description": "A list of slotconfigurations this slot has", + "items": { + "$ref": "#/definitions/slot_configuration" + }, + "type": "array" + }, + "slot_id": { + "description": "The id for the slot", + "maxLength": 256, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "slot_id" + ] + }, + "slot_configuration": { + "description": "

Document representing a slot configuration.

", + "properties": { + "assignment_information": { + "$ref": "#/definitions/slot_configuration_assignment_information", + "description": "Information about the assignments and assignment schedules of this slot configuration" + }, + "callout_msg": { + "additionalProperties": { + "$ref": "#/definitions/markup_text" + }, + "description": "The call out message.", + "format": "localized", + "x-label": { + "default": "Callout" + }, + "type": "object" + }, + "configuration_id": { + "description": "The id of this configuration.", + "x-label": { + "default": "ID" + }, + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "context": { + "description": "The context of the slot. Ignored in input documents.", + "enum": [ + "global", + "category", + "folder" + ], + "type": "string" + }, + "context_id": { + "description": "When the context is category, this is a category_id; when\n the context is folder, this is a folder_id; and when the\n context is global, this is obsolete. This is ignored in input documents.", + "type": "string" + }, + "creation_date": { + "description": "Returns the value of attribute 'creationDate'.", + "format": "date-time", + "x-label": { + "default": "Creation Date" + }, + "readOnly": true, + "type": "string" + }, + "customer_groups": { + "description": "The customer groups ids.", + "items": { + "type": "string" + }, + "type": "array" + }, + "default": { + "description": "A flag indicating whether the configuration is the default one for the slot.", + "type": "boolean" + }, + "description": { + "description": "The configuration description.", + "maxLength": 4000, + "type": "string" + }, + "enabled": { + "description": "A flag indicating whether the slot is enabled.", + "type": "boolean" + }, + "last_modified": { + "description": "Returns the value of attribute 'lastModified'.", + "format": "date-time", + "x-label": { + "default": "Last Modified" + }, + "readOnly": true, + "type": "string" + }, + "link": { + "description": "The link.", + "type": "string" + }, + "rank": { + "description": "The rank of the slot configuration on its slot. This rank has nothing to do with the rank\n on any campaign-assignment, because these are completely different objects. These must be\n updated separately.", + "enum": [ + 10, + 20, + 30, + 40, + 50, + 60, + 70, + 80, + 90, + 100 + ], + "format": "int32", + "x-label": { + "default": "Rank" + }, + "minimum": 1, + "type": "integer" + }, + "schedule": { + "$ref": "#/definitions/schedule", + "description": "The schedule for the slot." + }, + "slot_content": { + "$ref": "#/definitions/slot_content", + "description": "The content of the slot." + }, + "slot_id": { + "description": "The ID of the slot. Ignored in input documents.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "template": { + "description": "The template.", + "maxLength": 256, + "type": "string" + }, + "uuid": { + "description": "The uuid of the slot configuration. This property cannot be written\n and is ignored in input documents.", + "x-label": { + "default": "UUID" + }, + "maxLength": 28, + "minLength": 1, + "readOnly": true, + "type": "string" + } + }, + "required": [ + "slot_content" + ] + }, + "slot_configuration_abtest_group_assignment": { + "properties": { + "abtest_description": { + "type": "string" + }, + "abtest_id": { + "type": "string" + }, + "enabled": { + "type": "boolean" + }, + "schedule": { + "$ref": "#/definitions/schedule" + }, + "segment_description": { + "type": "string" + }, + "segment_id": { + "type": "string" + } + } + }, + "slot_configuration_assignment_information": { + "description": "", + "properties": { + "abtest_id": { + "description": "If there is only one assignment, and that assignment is an A/B test segment, the id of the A/B test the segment\n belongs to. Otherwise, empty.", + "type": "string" + }, + "abtest_segment_id": { + "description": "If there is only one assignment, and that assignment is an A/B test segment, the id of the A/B test segment.\n Otherwise, empty.", + "type": "string" + }, + "active": { + "description": "true if the individual assignment or the multiple assignments are currently active (applicable only for non default schedule assignments i.e. either campaign or A/B test schedule).", + "type": "boolean" + }, + "active_abtest_assignments": { + "description": "A list of currently active A/B tests this is assigned to.", + "items": { + "$ref": "#/definitions/slot_configuration_abtest_group_assignment" + }, + "type": "array" + }, + "active_campaign_assignments": { + "description": "A list of currently active campaigns this is assigned to.", + "items": { + "$ref": "#/definitions/slot_configuration_campaign_assignment" + }, + "type": "array" + }, + "campaign_id": { + "description": "If there is only one assignment, and that assignment is a campaign, the id of the campaign. Otherwise, empty.", + "type": "string" + }, + "enabled": { + "type": "boolean" + }, + "end_date": { + "description": "The end date of the container of the assignment (a Campaign or ABTest). If schedule_type is\n schedule_type : \"multiple\" or schedule_type : \"none\", then then result will be null. Also, a null\n date will also return null.", + "format": "date-time", + "type": "string" + }, + "schedule": { + "$ref": "#/definitions/schedule", + "description": "The schedule of the assignment (a Campaign or ABTest). If schedule_type is\n schedule_type : \"multiple\" or schedule_type : \"none\", then then result will be null." + }, + "schedule_type": { + "description": "If there is only one active assignment, or no active assignments and one upcoming assignment, this is that type\n of assignment (schedule_type : \"campaign\" or schedule_type : \"abtest\"). If there are no\n assignments, it will be schedule_type : \"none\", otherwise, schedule_type : \"multiple\".", + "enum": [ + "none", + "campaign", + "abtest", + "multiple" + ], + "type": "string" + }, + "start_date": { + "description": "The start date of the container of the assignment (a Campaign or ABTest). If schedule_type is\n schedule_type : \"multiple\" or schedule_type : \"none\", then then result will be null. Also, a null\n date will also return null.", + "format": "date-time", + "type": "string" + }, + "upcoming_abtest_assignments": { + "description": "A list of upcoming A/B tests this is assigned to.", + "items": { + "$ref": "#/definitions/slot_configuration_abtest_group_assignment" + }, + "type": "array" + }, + "upcoming_campaign_assignments": { + "description": "A list of upcoming campaigns this is assigned to.", + "items": { + "$ref": "#/definitions/slot_configuration_campaign_assignment" + }, + "type": "array" + } + } + }, + "slot_configuration_campaign_assignment": { + "description": "

Document representing a slot_configuration_campaign_assignment

", + "properties": { + "campaign": { + "$ref": "#/definitions/campaign", + "description": "The campaign." + }, + "campaign_id": { + "description": "The id of the campaign that has the slot configuration assigned to it.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "context": { + "description": "The slot context.", + "enum": [ + "global", + "category", + "folder" + ], + "type": "string" + }, + "creation_date": { + "format": "date-time", + "type": "string" + }, + "customer_groups": { + "description": "The list of customer groups.", + "items": { + "type": "string" + }, + "type": "array" + }, + "description": { + "description": "The description of the slot configuration.", + "maxLength": 4000, + "type": "string" + }, + "enabled": { + "description": "True if the assignment resource is enabled", + "type": "boolean" + }, + "last_modified": { + "format": "date-time", + "type": "string" + }, + "link": { + "description": "The URL to the slot configuration-campaign assignment.", + "type": "string" + }, + "rank": { + "description": "The rank of the slot confiuration-campaign assignment.\n This is different than the rank of the slot configuration.", + "format": "int32", + "minimum": 1, + "type": "integer" + }, + "schedule": { + "$ref": "#/definitions/schedule", + "description": "The schedule of the assignment resource" + }, + "slot_configuration": { + "$ref": "#/definitions/slot_configuration", + "description": "The slotConfiguration" + }, + "slot_configuration_id": { + "description": "The ID of the slot configuration.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "slot_configuration_uuid": { + "description": "The UUID of the slot configuration.", + "maxLength": 28, + "type": "string" + }, + "slot_context_id": { + "description": "The ID of the slot's context, for example, the category ID for a slot with category context.", + "maxLength": 256, + "type": "string" + }, + "slot_id": { + "description": "The ID of the slot.", + "maxLength": 256, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "context", + "slot_configuration_id", + "slot_id" + ] + }, + "slot_configuration_campaign_assignment_search_result": { + "description": "", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. Can be empty.", + "items": { + "$ref": "#/definitions/slot_configuration_campaign_assignment" + }, + "type": "array" + }, + "next": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the next result page." + }, + "previous": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the previous result page." + }, + "query": { + "$ref": "#/definitions/query", + "description": "The query passed into the search", + "x-sub_types": { + "nested_query": "#/definitions/nested_query", + "filtered_query": "#/definitions/filtered_query", + "text_query": "#/definitions/text_query", + "match_all_query": "#/definitions/match_all_query", + "term_query": "#/definitions/term_query", + "bool_query": "#/definitions/bool_query" + } + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/definitions/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "slot_configuration_search_result": { + "description": "

Document representing a slot configuration search result.

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. This array can be empty.", + "items": { + "$ref": "#/definitions/slot_configuration" + }, + "type": "array" + }, + "next": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the next result page." + }, + "previous": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the previous result page." + }, + "query": { + "$ref": "#/definitions/query", + "description": "The query passed into the search", + "x-sub_types": { + "nested_query": "#/definitions/nested_query", + "filtered_query": "#/definitions/filtered_query", + "text_query": "#/definitions/text_query", + "match_all_query": "#/definitions/match_all_query", + "term_query": "#/definitions/term_query", + "bool_query": "#/definitions/bool_query" + } + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/definitions/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "slot_configurations": { + "description": "

Document representing an unfiltered list of slot configurations.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "$ref": "#/definitions/slot_configuration" + }, + "type": "array" + }, + "expand": { + "description": "The list of expands set for the search request. Expands are optional.", + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "slot_content": { + "description": "

Document representing the content type for a slot.

", + "properties": { + "body": { + "additionalProperties": { + "$ref": "#/definitions/markup_text" + }, + "description": "The HTML body (valid only for type 'html').", + "format": "localized", + "type": "object" + }, + "category_ids": { + "description": "The category ids (valid only for type 'categories').", + "items": { + "type": "string" + }, + "type": "array" + }, + "content_asset_ids": { + "description": "The content asset ids (valid only for type 'content_assets').", + "items": { + "type": "string" + }, + "type": "array" + }, + "product_ids": { + "description": "The product ids (valid only for type 'products').", + "items": { + "type": "string" + }, + "type": "array" + }, + "type": { + "description": "The type of content in the slot.", + "enum": [ + "products", + "categories", + "content_assets", + "html", + "recommended_products" + ], + "type": "string" + } + }, + "required": [ + "type" + ] + }, + "slot_search_result": { + "description": "

Document representing a slot search result.

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. Can be empty.", + "items": { + "$ref": "#/definitions/slot" + }, + "type": "array" + }, + "next": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the next result page." + }, + "previous": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the previous result page." + }, + "query": { + "$ref": "#/definitions/query", + "description": "The query passed into the search", + "x-sub_types": { + "nested_query": "#/definitions/nested_query", + "filtered_query": "#/definitions/filtered_query", + "text_query": "#/definitions/text_query", + "match_all_query": "#/definitions/match_all_query", + "term_query": "#/definitions/term_query", + "bool_query": "#/definitions/bool_query" + } + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/definitions/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "slots": { + "description": "

Document representing an unfiltered list of slots.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "$ref": "#/definitions/slot" + }, + "type": "array" + }, + "expand": { + "description": "The list of expands set for the search request. Expands are optional.", + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "sort": { + "description": "

Document representing a sort request.

", + "properties": { + "field": { + "description": "The name of the field to sort on.", + "type": "string" + }, + "sort_order": { + "description": "The sort order to be applied when sorting. When omitted, the default sort order (ASC) is used.", + "enum": [ + "asc", + "desc" + ], + "type": "string" + } + }, + "required": [ + "field" + ] + }, + "sorting_rule": { + "description": "

Document representing a product sorting rule

", + "properties": { + "creation_date": { + "format": "date-time", + "type": "string" + }, + "description": { + "description": "The description of the product sorting rule.", + "maxLength": 4000, + "type": "string" + }, + "id": { + "description": "the id of product sorting rule.", + "type": "string" + }, + "last_modified": { + "format": "date-time", + "type": "string" + }, + "product_sorting_rule_steps": { + "description": "the steps involved in sorting by this rule.", + "items": { + "$ref": "#/definitions/sorting_rule_step" + }, + "type": "array" + }, + "rule_context": { + "description": "The context of the rule, either site or global", + "type": "string" + }, + "site": { + "type": "string" + } + } + }, + "sorting_rule_search_result": { + "description": "

Document representing a source code group search result.

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. Can be empty.", + "items": { + "$ref": "#/definitions/sorting_rule" + }, + "type": "array" + }, + "next": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the next result page." + }, + "previous": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the previous result page." + }, + "query": { + "$ref": "#/definitions/query", + "description": "The query passed into the search", + "x-sub_types": { + "nested_query": "#/definitions/nested_query", + "filtered_query": "#/definitions/filtered_query", + "text_query": "#/definitions/text_query", + "match_all_query": "#/definitions/match_all_query", + "term_query": "#/definitions/term_query", + "bool_query": "#/definitions/bool_query" + } + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/definitions/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "sorting_rule_step": { + "description": "

Document representing a product sorting rule step

", + "properties": { + "attribute_id": { + "description": "the id for sorting attribute.", + "type": "string" + }, + "direction": { + "description": "the direction of the sorting attribute", + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + "is_system": { + "description": "whether or not the attribute is a system attribute.", + "type": "boolean" + }, + "position": { + "description": "the position of product sorting rule step.", + "format": "int32", + "type": "integer" + }, + "text_relevance_included": { + "description": "The text relevance included.", + "type": "boolean" + }, + "type_id": { + "description": "the sorting type for sorting attribute.", + "type": "string" + } + } + }, + "source_code_group": { + "description": "

Document representing a source code group

", + "properties": { + "active": { + "description": "The active flag, a computed value based on start and end time", + "type": "boolean" + }, + "active_redirect": { + "$ref": "#/definitions/source_code_redirect_info", + "description": "The active redirect information" + }, + "cookie_duration": { + "description": "The cookie duration in days", + "format": "int32", + "maximum": 999, + "minimum": 0, + "type": "integer" + }, + "creation_date": { + "description": "Returns the value of attribute 'creationDate'.", + "format": "date-time", + "x-label": { + "default": "Creation Date" + }, + "readOnly": true, + "type": "string" + }, + "description": { + "description": "The description", + "type": "string" + }, + "enabled": { + "description": "The enabled flag for storefront to consider the source code group, default to false.", + "type": "boolean" + }, + "end_time": { + "description": "The end time", + "format": "date-time", + "type": "string" + }, + "id": { + "description": "The id of source code group", + "x-label": { + "default": "ID" + }, + "maxLength": 28, + "minLength": 1, + "type": "string" + }, + "inactive_redirect": { + "$ref": "#/definitions/source_code_redirect_info", + "description": "The inactive redirect information" + }, + "last_modified": { + "description": "Returns the value of attribute 'lastModified'.", + "format": "date-time", + "x-label": { + "default": "Last Modified" + }, + "readOnly": true, + "type": "string" + }, + "link": { + "description": "URL that is used to get this instance, read only", + "type": "string" + }, + "specifications": { + "description": "Source Code specifications", + "items": { + "$ref": "#/definitions/source_code_specification" + }, + "type": "array" + }, + "start_time": { + "description": "The start time", + "format": "date-time", + "type": "string" + } + } + }, + "source_code_group_search_result": { + "description": "

Document representing a source code group search result.

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. Can be empty.", + "items": { + "$ref": "#/definitions/source_code_group" + }, + "type": "array" + }, + "next": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the next result page." + }, + "previous": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the previous result page." + }, + "query": { + "$ref": "#/definitions/query", + "description": "The query passed into the search", + "x-sub_types": { + "nested_query": "#/definitions/nested_query", + "filtered_query": "#/definitions/filtered_query", + "text_query": "#/definitions/text_query", + "match_all_query": "#/definitions/match_all_query", + "term_query": "#/definitions/term_query", + "bool_query": "#/definitions/bool_query" + } + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/definitions/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "source_code_groups": { + "description": "

Document representing an unfiltered list of source code groups.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "$ref": "#/definitions/source_code_group" + }, + "type": "array" + }, + "expand": { + "description": "The list of expands set for the search request. Expands are optional.", + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "source_code_redirect_info": { + "description": "

Document representing a source code redirect info

", + "properties": { + "location": { + "description": "The location of redirect, based on the type, this can be a product location, category location, home page, content page, or just a URL", + "type": "string" + }, + "location_type": { + "description": "The type of redirect location, e.g. product (for a product page), category (a category page), home (for home page), page (for content), url (for a URL location)", + "enum": [ + "default", + "home", + "product", + "category", + "page", + "url" + ], + "type": "string" + } + } + }, + "source_code_specification": { + "description": "

Document representing a source code specification

", + "properties": { + "expression": { + "description": "

Expression is a value for the \"Source Code Specification\" may be a literal source code, or it may contain wildcards.

\n

A literal code is simply the literal code. Valid characters are letters and numbers (no spaces).

\n

A wildcard allows a single source code specification to match multiple source codes. The following wildcards are supported:

\n ", + "type": "string" + } + } + }, + "status": { + "properties": { + "code": { + "description": "Status code.", + "type": "string" + }, + "message": { + "description": "Status message.", + "type": "string" + }, + "status": { + "description": "Status shows successful operation end.", + "enum": [ + "ok", + "error" + ], + "type": "string" + } + } + }, + "status_metadata": { + "properties": { + "client_id": { + "description": "The client ID that is responsible for the status.", + "type": "string" + }, + "reason": { + "description": "The reason of the status.", + "type": "string" + }, + "user_login": { + "description": "The user login that is responsible for the status.", + "type": "string" + } + } + }, + "store": { + "description": "

Document representing a store

", + "properties": { + "address1": { + "description": "Returns the first address.", + "x-label": { + "default": "Address 1" + }, + "maxLength": 256, + "type": "string" + }, + "address2": { + "description": "Returns the second address value.", + "x-label": { + "default": "Address 2" + }, + "maxLength": 256, + "type": "string" + }, + "c_countryCodeValue": { + "description": "Country Code Value - for the form values", + "x-label": { + "default": "Country Code Value" + }, + "type": "string" + }, + "c_inventoryListId": { + "description": "Store Inventory List ID", + "x-label": { + "default": "Store Inventory List ID" + }, + "type": "string" + }, + "city": { + "description": "Returns the city.", + "x-label": { + "default": "City" + }, + "maxLength": 256, + "type": "string" + }, + "country_code": { + "description": "The two-character country code per ISO 3166-1 alpha-2.", + "enum": [ + "CA", + "DE", + "US" + ], + "x-enum-labels": [ + { + "default": "Canada" + }, + { + "default": "Germany" + }, + { + "default": "United States" + } + ], + "x-label": { + "default": "Country" + }, + "maxLength": 2, + "type": "string" + }, + "creation_date": { + "description": "Returns the value of attribute 'creationDate'.", + "format": "date-time", + "x-label": { + "default": "Creation Date" + }, + "readOnly": true, + "type": "string" + }, + "email": { + "description": "Email address to contact the store", + "x-label": { + "default": "Email" + }, + "maxLength": 256, + "type": "string" + }, + "fax": { + "description": "Returns the fax number .", + "x-label": { + "default": "Fax" + }, + "maxLength": 256, + "type": "string" + }, + "id": { + "description": "The id for the store", + "x-label": { + "default": "ID" + }, + "maxLength": 256, + "type": "string" + }, + "image": { + "$ref": "#/definitions/media_file", + "description": "The image associated with the store", + "x-label": { + "default": "Image" + } + }, + "inventory_id": { + "description": "The inventory list associated with the store", + "x-label": { + "default": "Inventory List" + }, + "maxLength": 256, + "type": "string" + }, + "last_modified": { + "description": "Returns the value of attribute 'lastModified'.", + "format": "date-time", + "x-label": { + "default": "Last Modified" + }, + "readOnly": true, + "type": "string" + }, + "latitude": { + "description": "The latitude of the store", + "format": "double", + "x-label": { + "default": "Latitude" + }, + "maximum": 90.0, + "minimum": -90.0, + "type": "number" + }, + "link": { + "description": "a URL that is used to get this instance. The property is computed and cannot be changed.", + "x-label": { + "default": "Store document link" + }, + "type": "string" + }, + "longitude": { + "description": "The longitude of the store", + "format": "double", + "x-label": { + "default": "Longitude" + }, + "maximum": 180.0, + "minimum": -180.0, + "type": "number" + }, + "name": { + "description": "The name of the store", + "x-label": { + "default": "Name" + }, + "type": "string" + }, + "phone": { + "description": "Returns the phone number.", + "x-label": { + "default": "Phone" + }, + "maxLength": 256, + "type": "string" + }, + "pos_enabled": { + "description": "Whether this store uses our Store product for Point-of-Sale", + "x-label": { + "default": "Uses Commerce Cloud Store for Point-of-Sale" + }, + "type": "boolean" + }, + "postal_code": { + "description": "The postal code for the store", + "x-label": { + "default": "Postal Code" + }, + "maxLength": 10, + "type": "string" + }, + "state_code": { + "description": "Returns the customer's state.", + "x-label": { + "default": "State" + }, + "maxLength": 256, + "type": "string" + }, + "store_events": { + "additionalProperties": { + "$ref": "#/definitions/markup_text" + }, + "description": "The store events (localized)", + "format": "localized", + "x-label": { + "default": "Store Events" + }, + "type": "object" + }, + "store_hours": { + "additionalProperties": { + "$ref": "#/definitions/markup_text" + }, + "description": "The store opening hours (localized)", + "format": "localized", + "x-label": { + "default": "Store Hours" + }, + "type": "object" + }, + "store_locator_enabled": { + "description": "Whether this store should appear in store locator searches", + "x-label": { + "default": "Store Locator Enabled" + }, + "type": "boolean" + } + } + }, + "store_search_result": { + "description": "

Document representing a store search result.

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. Can be empty.", + "items": { + "$ref": "#/definitions/store" + }, + "type": "array" + }, + "next": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the next result page." + }, + "previous": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the previous result page." + }, + "query": { + "$ref": "#/definitions/query", + "description": "The query passed into the search", + "x-sub_types": { + "nested_query": "#/definitions/nested_query", + "filtered_query": "#/definitions/filtered_query", + "text_query": "#/definitions/text_query", + "match_all_query": "#/definitions/match_all_query", + "term_query": "#/definitions/term_query", + "bool_query": "#/definitions/bool_query" + } + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/definitions/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "stores": { + "description": "

Document representing an unfiltered list of stores.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "$ref": "#/definitions/store" + }, + "type": "array" + }, + "expand": { + "description": "The list of expands set for the search request. Expands are optional.", + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "tag": { + "description": "

Document representing a tag

", + "properties": { + "tag_id": { + "description": "The id of the tag.", + "type": "string" + } + } + }, + "term_filter": { + "description": "

Document representing a term filter.\n \n A term filter allows you to restrict a search result to hits that match (exactly) one of the values configured for the\n filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters\n whenever the criterion you filter on is a shared property of multiple searches (for example, like filtering by an\n order status). Use term filters for fields that have a discrete and small set of values only.\n \n Example: (id=\"my_id\")\n

 \n    query: {\n        filtered_query: {\n            query: { match_all_query: {} },\n            filter: {\n                term_filter: {\n                    field: \"id\",\n                    operator: \"is\",\n                    values: [\"my_id\"]\n                }\n            }\n        }\n    }\n  
\n\n Example: (id IN (\"my_id\",\"other_id\"))\n
 \n    query: {\n        filtered_query: {\n            query: { match_all_query: {} },\n            filter: {\n                term_filter: {\n                    field: \"id\",\n                    operator: \"one_of\",\n                    values: [\"my_id\",\"other_id\"]\n                }\n            }\n        }\n    }\n  
\n\n Example: (description=NULL)\n
 \n    query: {\n        filtered_query: {\n            query: { match_all_query: {} },\n            filter: {\n                term_filter: {\n                    field: \"description\",\n                    operator: \"is_null\"\n                }\n            }\n        }\n    }\n  

", + "properties": { + "field": { + "description": "The filter field.", + "type": "string" + }, + "operator": { + "description": "The operator to compare the field's values with the given ones.", + "enum": [ + "is", + "one_of", + "is_null", + "is_not_null", + "less", + "greater", + "not_in", + "neq" + ], + "type": "string" + }, + "values": { + "description": "The filter values.", + "items": { + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "field", + "operator" + ] + }, + "term_query": { + "description": "

A term query matches one (or more) value(s) against one (or more) document field(s). A document is considered a hit\n if one of the values matches (exactly) with at least one of the given fields. The operator \"is\" can only take\n one value, while \"one_of\" can take multiple values. If multiple fields are specified, they are combined using the OR operator.\n The less and greater operators are not compatible with some search types.\n To query based on numeric bounds in those cases, you can use a range filter on a\n filtered query . \n \n Elastic only : If used with multiple fields, the query is internally handled as a boolean OR of DisjointMaxQueries (with the dismax\n matching a value against all fields). The dismax makes sure that a document carrying a single term in\n multiple fields does not get higher scores than a document matching multiple terms in multiple fields.\n\n Example: (id=\"my_id\")\n

 \n query: {\n     term_query: {\n         fields: [\"id\"],\n         operator: \"is\",\n         values: [\"my_id\"]\n     }\n }\n  
\n\n Example: (id IN (\"my_id\",\"other_id\"))\n
 \n query: {\n     term_query: {\n         fields: [\"id\"],\n         operator: \"one_of\",\n         values: [\"my_id\",\"other_id\"]\n     }\n }\n  
\n\n Example: (id=null)\n
 \n query: {\n     term_query: {\n        fields: [\"description\"],\n        operator: \"is_null\"\n    }\n }\n  
\n\n Example: ((id IN ('generic', 'keyword')) OR (description IN ('generic', 'keyword'))\n
 \n query: {\n    term_query: {\n        fields: [\"id\", \"description\"],\n        operator: \"one_of\",\n        values: [\"generic\",\"keyword\"]\n    }\n }\n  

", + "properties": { + "fields": { + "description": "The document field(s) the value(s) are matched against, combined with the operator.", + "items": { + "type": "string" + }, + "minItems": 1, + "type": "array" + }, + "operator": { + "description": "Returns the operator to use for the term query.", + "enum": [ + "is", + "one_of", + "is_null", + "is_not_null", + "less", + "greater", + "not_in", + "neq" + ], + "type": "string" + }, + "values": { + "description": "The values the field(s) are compared against, combined with the operator.", + "items": { + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "fields", + "operator" + ] + }, + "text_query": { + "description": "

A text query is used to match some text (i.e. a search phrase possibly consisting of multiple terms) against one or\n multiple fields. In case multiple fields are provided, the phrase conceptually forms a logical OR over the fields. In\n this case, the terms of the phrase basically have to match the text that would result from concatenating all\n given fields.\n \n Example: (coupon_id contains \"xmas\" )\n

 \n    query: {\n        text_query: {\n            fields: [\"coupon_id\"],\n            search_phrase: \"xmas\"\n        }\n    }\n  
\n\n Example: (coupon_id contains \"xmas\" OR description contains \"xmas\")\n
 \n    query: {\n        text_query: {\n            fields: [\"description\", \"coupon_id\"],\n            search_phrase: \"xmas\"\n        }\n    }\n  
\n\n Example: (description contains \"holiday\" AND description contains \"bojo\")\n
 \n    query: {\n        text_query: {\n            fields: [\"description\"],\n            search_phrase: \"holiday bogo\"\n        }\n    }\n  

", + "properties": { + "fields": { + "description": "The document fields the search phrase has to match.", + "items": { + "type": "string" + }, + "minItems": 1, + "type": "array" + }, + "search_phrase": { + "description": "A search phrase which may consist of multiple terms.", + "type": "string" + } + }, + "required": [ + "fields", + "search_phrase" + ] + }, + "time_of_day": { + "description": "

Document representing a time schedule within a single day.

", + "properties": { + "time_from": { + "description": "The time to start from. Time format: HH:mm:ss. Seconds\n are ignored and set to 0.", + "format": "time", + "type": "string" + }, + "time_to": { + "description": "The time to end on. Time format: HH:mm:ss. Seconds\n are ignored and set to 0.", + "format": "time", + "type": "string" + } + } + }, + "user": { + "description": "

Document representing a user.

", + "properties": { + "creation_date": { + "format": "date-time", + "type": "string" + }, + "disabled": { + "description": "Flag whether the user is disabled.", + "type": "boolean" + }, + "email": { + "description": "The email address.", + "maxLength": 256, + "type": "string" + }, + "external_id": { + "description": "The external id. This attribute is only valid when the user uses centralized authentication.", + "maxLength": 256, + "type": "string" + }, + "first_name": { + "description": "The first name.", + "maxLength": 256, + "type": "string" + }, + "last_login_date": { + "description": "Last login of the user.", + "format": "date", + "type": "string" + }, + "last_modified": { + "format": "date-time", + "type": "string" + }, + "last_name": { + "description": "The last name.", + "maxLength": 256, + "type": "string" + }, + "link": { + "description": "URL that is used to get this instance. This property is computed and cannot be modified.", + "type": "string" + }, + "locked": { + "description": "Flag whether the user is locked.", + "type": "boolean" + }, + "login": { + "description": "The user login.", + "maxLength": 256, + "type": "string" + }, + "password": { + "description": "The password. This attribute is only used to set the password upon user creation.\n This attribute is only valid when the user does not use centralized authentication.", + "type": "string" + }, + "password_expiration_date": { + "description": "The user password expiration time", + "format": "date-time", + "type": "string" + }, + "password_modification_date": { + "description": "The time, where the password was last modified", + "format": "date-time", + "type": "string" + }, + "preferred_data_locale": { + "description": "The effective preferred data locale of the user. A locale is only considered if the user has at least read\n permission on the locale.", + "type": "string" + }, + "preferred_ui_locale": { + "description": "The preferred UI locale of the user.", + "type": "string" + }, + "roles": { + "description": "List of role ids the user is assigned to.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "email", + "last_name" + ] + }, + "user_search_result": { + "description": "

Document representing an user search result.

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. Can be empty.", + "items": { + "$ref": "#/definitions/user" + }, + "type": "array" + }, + "next": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the next result page." + }, + "previous": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the previous result page." + }, + "query": { + "$ref": "#/definitions/query", + "description": "The query passed into the search", + "x-sub_types": { + "nested_query": "#/definitions/nested_query", + "filtered_query": "#/definitions/filtered_query", + "text_query": "#/definitions/text_query", + "match_all_query": "#/definitions/match_all_query", + "term_query": "#/definitions/term_query", + "bool_query": "#/definitions/bool_query" + } + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/definitions/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "users": { + "description": "

Document representing a list of users.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "description": "The list of users.", + "items": { + "$ref": "#/definitions/user" + }, + "type": "array" + }, + "expand": { + "description": "The list of expands set for the search request. Expands are optional.", + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "variant": { + "description": "

Document representing a product variation.

", + "properties": { + "ats": { + "description": "Inventory \"Available to Sell\" of the product.", + "format": "double", + "type": "number" + }, + "default_product_variation": { + "description": "", + "type": "boolean" + }, + "image": { + "$ref": "#/definitions/media_file", + "description": "URL to the preview image." + }, + "in_stock": { + "description": "true if the product is in stock, or false if not.", + "type": "boolean" + }, + "link": { + "description": "The URL addressing the product.", + "type": "string" + }, + "online": { + "description": "If the product is currently online.\n true if online\n false if not", + "type": "boolean" + }, + "orderable": { + "description": "A flag indicating whether the variant is orderable.", + "type": "boolean" + }, + "price": { + "description": "The sales price of the variant.", + "format": "double", + "type": "number" + }, + "price_currency": { + "description": "Currency code for the price of the product.", + "type": "string" + }, + "price_per_unit": { + "description": "The sales price of the variant.", + "format": "double", + "type": "number" + }, + "product_id": { + "description": "The id (SKU) of the variant.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "searchable": { + "additionalProperties": { + "type": "boolean" + }, + "description": "", + "format": "site-specific", + "type": "object" + }, + "variation_attributes": { + "description": "variation attributes", + "items": { + "$ref": "#/definitions/variation_attribute" + }, + "type": "array" + }, + "variation_values": { + "additionalProperties": { + "type": "string" + }, + "description": "The actual variation attribute id - value pairs.", + "type": "object" + } + }, + "required": [ + "product_id" + ] + }, + "variant_search_result": { + "description": "

Document that represents a search on certificates and keys.

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The hits from the search", + "items": { + "$ref": "#/definitions/variant" + }, + "type": "array" + }, + "next": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the next result page." + }, + "previous": { + "$ref": "#/definitions/result_page", + "description": "The data that can be used (as parameters on the search request) to retrieve the previous result page." + }, + "query": { + "$ref": "#/definitions/query", + "description": "The query passed into the search", + "x-sub_types": { + "nested_query": "#/definitions/nested_query", + "filtered_query": "#/definitions/filtered_query", + "text_query": "#/definitions/text_query", + "match_all_query": "#/definitions/match_all_query", + "term_query": "#/definitions/term_query", + "bool_query": "#/definitions/bool_query" + } + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/definitions/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "variants": { + "description": "

Document representing an unfiltered list of variants.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "$ref": "#/definitions/variant" + }, + "type": "array" + }, + "expand": { + "description": "The list of expands set for the search request. Expands are optional.", + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "variation_attribute": { + "description": "

Document representing a variation attribute.

", + "properties": { + "attribute_definition_id": { + "description": "The id of the requested attribute definition.", + "type": "string" + }, + "attribute_definition_name": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized display name of the variation attribute definition.", + "format": "localized", + "type": "object" + }, + "default_value": { + "description": "default variation attribute value", + "type": "string" + }, + "id": { + "description": "The id of the variation attribute.", + "minLength": 1, + "type": "string" + }, + "link": { + "description": "URL that is used to get this instance", + "type": "string" + }, + "name": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized display name of the variation attribute.", + "format": "localized", + "type": "object" + }, + "shared": { + "description": "Returns the value of attribute 'shared' if attribute is local or shared", + "type": "boolean" + }, + "slicing": { + "description": "Returns the value of attribute 'slicing'.", + "type": "boolean" + }, + "values": { + "description": "The sorted array of variation values. This array can be empty.", + "items": { + "$ref": "#/definitions/variation_attribute_value" + }, + "type": "array" + }, + "variation_attribute_type": { + "description": "variation attribute type", + "enum": [ + "string", + "int", + "unknown" + ], + "type": "string" + } + }, + "required": [ + "attribute_definition_id" + ] + }, + "variation_attribute_value": { + "description": "

Document representing a variation attribute value.

", + "properties": { + "description": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized description of the variation value.", + "format": "localized", + "type": "object" + }, + "image": { + "$ref": "#/definitions/media_file", + "description": "The first product image for the configured viewtype and this variation value." + }, + "image_swatch": { + "$ref": "#/definitions/media_file", + "description": "The first product image for the configured viewtype and this variation value. (typically the swatch image)" + }, + "link": { + "type": "string" + }, + "name": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized display name of the variation value.", + "format": "localized", + "type": "object" + }, + "orderable": { + "description": "A flag indicating whether at least one variant with this variation attribute value is available to sell.", + "type": "boolean" + }, + "position": { + "description": "The position of the value among all values of a variation attribute.", + "format": "double", + "type": "number" + }, + "value": { + "description": "The actual variation value.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "variation_attribute_values": { + "description": "

Document representing an unfiltered list of variation attribute values.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "$ref": "#/definitions/variation_attribute_value" + }, + "type": "array" + }, + "expand": { + "description": "The list of expands set for the search request. Expands are optional.", + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "variation_attributes": { + "description": "

Document representing an unfiltered list of variation attributes.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "$ref": "#/definitions/variation_attribute" + }, + "type": "array" + }, + "expand": { + "description": "The list of expands set for the search request. Expands are optional.", + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "variation_group": { + "description": "

Document representing a variation group.

", + "properties": { + "link": { + "description": "The URL addressing the product.", + "type": "string" + }, + "orderable": { + "description": "A flag indicating whether the variation group is orderable.", + "type": "boolean" + }, + "price": { + "description": "The sales price of the variation group.", + "format": "double", + "type": "number" + }, + "price_per_unit": { + "description": "The sales price per unit of the variation group.", + "format": "double", + "type": "number" + }, + "product_id": { + "description": "The id (SKU) of the variation group.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "variation_values": { + "additionalProperties": { + "type": "string" + }, + "description": "The actual variation attribute id - value pairs.", + "type": "object" + } + } + }, + "variation_groups": { + "description": "

Document representing an unfiltered list of variation groups.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "$ref": "#/definitions/variation_group" + }, + "type": "array" + }, + "expand": { + "description": "The list of expands set for the search request. Expands are optional.", + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "version_range_object": { + "description": "

Object to represent the Version Range. Used in resources_object.

", + "properties": { + "from": { + "description": "Starting version", + "type": "string" + }, + "until": { + "description": "Ending version", + "type": "string" + } + } + }, + "webdav_permission": { + "description": "

Document representing a WebDAV permission.

", + "properties": { + "description": { + "additionalProperties": { + "type": "string" + }, + "description": "The description of the WebDAV permission.", + "format": "localized", + "type": "object" + }, + "folder": { + "description": "The folder of the WebDAV permission.", + "type": "string" + }, + "type": { + "description": "The permission type.", + "type": "string" + }, + "values": { + "description": "The list of possible values for the WebDAV permission, e.g. ACCESS or READONLY.", + "items": { + "type": "string" + }, + "type": "array" + } + } + }, + "webdav_permissions": { + "description": "

Document representing the available WebDAV permissions.

", + "properties": { + "scopes": { + "description": "The available WebDAV permission scopes (e.g. unscoped).", + "items": { + "type": "string" + }, + "type": "array" + }, + "unscoped": { + "description": "The collection of available unscoped WebDAV permissions.", + "items": { + "$ref": "#/definitions/webdav_permission" + }, + "type": "array" + } + } + } + }, + "x-documents": "https://zzeu-008.dx.commercecloud.salesforce.com/s/-/dw/meta/rest/data/v25_6/documents", + "host": "zzeu-008.dx.commercecloud.salesforce.com", + "info": { + "description": "Data API endpoints enable developers to build applications for merchants: Create, update, delete business objects, like products, customers, pricing and promotions or assignments. They typically provide read and write access and are designed for moderate usage.", + "title": "Data API", + "version": "25.6" + }, + "paths": { + "/alerts/descriptors": { + "get": { + "description": "Gets a collection of all alert descriptors", + "operationId": "getAlertsDescriptors", + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/alert_descriptors" + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "alerts" + ] + } + }, + "/alerts/descriptors/{application_id}": { + "get": { + "description": "Gets a collection of all alert descriptors for the given application context.", + "operationId": "getAlertsDescriptorsByID", + "parameters": [ + { + "description": "The application ID.", + "in": "path", + "minLength": 1, + "name": "application_id", + "required": true, + "type": "string" + }, + { + "description": "The application context path (optional).", + "in": "query", + "name": "application_context_path", + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/alert_descriptors" + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "alerts" + ] + } + }, + "/alerts/descriptors/{application_id}/{application_context_path}/{message_id}": { + "get": { + "description": "Gets a single alert descriptor", + "operationId": "getAlertsDescriptorsByIDByIDByID", + "parameters": [ + { + "description": "The application ID.", + "in": "path", + "minLength": 1, + "name": "application_id", + "required": true, + "type": "string" + }, + { + "description": "The application context path.", + "in": "path", + "minLength": 1, + "name": "application_context_path", + "required": true, + "type": "string" + }, + { + "description": "The message ID.", + "in": "path", + "minLength": 1, + "name": "message_id", + "required": true, + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/alert_descriptor" + } + }, + "404": { + "description": "`AlertDescriptorNotFoundException` - If no alert descriptor was found for the given path." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "alerts" + ] + } + }, + "/alerts/descriptors/{application_id}/{application_context_path}/{message_id}/revalidate": { + "patch": { + "description": "

Triggers rule validation for all described descriptors.

When a validation rule for a descriptor is triggered active alerts might be deleted if the conditions are not met anymore. Additionally, new alerts might be created if conditions of a descriptor are now met.

If the alert descriptor is context-specific, a context object ID needs to be provided in the request body. The request body can be ued to further restrict the set of descriptors that are validated.

", + "operationId": "patchAlertsDescriptorsByIDByIDByIDRevalidate", + "parameters": [ + { + "description": "The application ID.", + "in": "path", + "minLength": 1, + "name": "application_id", + "required": true, + "type": "string" + }, + { + "description": "The application context path.", + "in": "path", + "minLength": 1, + "name": "application_context_path", + "required": true, + "type": "string" + }, + { + "description": "The message ID.", + "in": "path", + "minLength": 1, + "name": "message_id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/alert_descriptors_revalidation_request" + } + } + ], + "responses": { + "400": { + "description": "`ContextObjectIdRequiredException` - If the descriptor is context specific but no context object id was provided in the request body." + }, + "204": { + "description": "" + }, + "404": { + "description": "`AlertDescriptorNotFoundException` - If no matching alert descriptor was found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "alerts" + ] + } + }, + "/alerts/usersettings": { + "get": { + "description": "Gets the alert settings for the user.", + "operationId": "getAlertsUsersettings", + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/alert_settings" + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "alerts" + ] + }, + "patch": { + "description": "Changes the alert settings for the user.", + "operationId": "patchAlertsUsersettings", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/alert_settings" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/alert_settings" + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "alerts" + ] + } + }, + "/catalog_search": { + "post": { + "description": "

Searches for catalogs.

\n \n

The query attribute specifies a complex query that can be used to narrow down the search. These are the list\n of searchable attributes:

\n \n \n

There are two additional fields that can be used as search filters. They are not attributes in CatalogWO object, \n but can be used as filters to query catalogs based on site assignments.

\n \n \n

On using is_master_catalog in the search query, catalogs without any site assignments are returned. \n On using is_storefront_catalog in the search query, catalogs with one or more site assignments are returned.

\n \n

The output of the query can also be sorted. These are the list of sortable attributes:

\n ", + "operationId": "postCatalogSearch", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/search_request" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/catalog_search_result" + } + }, + "400": { + "description": "`MalformedSearchParameterException` - Thrown if the query is ill-formed." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalog_search" + ] + } + }, + "/catalogs": { + "get": { + "description": "Action to get all the catalogs with no filtering.", + "operationId": "getCatalogs", + "parameters": [ + { + "description": "Optional start index for retrieving the items from a given index (default 0).", + "format": "int32", + "in": "query", + "name": "start", + "type": "integer" + }, + { + "description": "Optional count for retrieving only a subset of the items (default is 25).", + "format": "int32", + "in": "query", + "name": "count", + "type": "integer" + }, + { + "description": "The property selector.", + "in": "query", + "name": "select", + "type": "string" + }, + { + "in": "query", + "items": { + "type": "string" + }, + "name": "expand", + "type": "array" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/catalogs" + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + } + }, + "/catalogs/{catalog_id}": { + "get": { + "description": "Gets catalog information by catalog Id.\n \n Expansion \"stats\" can be used to retrieved some expensive statistic data, such as assigned_product_count and owned_product_count.\n Example: /s/-/dw/data/v99_9/catalogs/my-catalog?expand=stats", + "operationId": "getCatalogsByID", + "parameters": [ + { + "description": "The id of the requested catalog.", + "in": "path", + "minLength": 1, + "name": "catalog_id", + "required": true, + "type": "string" + }, + { + "in": "query", + "items": { + "type": "string" + }, + "name": "expand", + "type": "array" + }, + { + "description": "the selector for the get. If not passed, the defaultSelector will be used instead.", + "in": "query", + "name": "select", + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/catalog" + } + }, + "404": { + "description": "`CatalogNotFoundException` - Thrown in case the catalog does not exist matching the given id or the catalog identified was already in deletion." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + }, + "patch": { + "description": "Updates the catalog with the specified information.", + "operationId": "patchCatalogsByID", + "parameters": [ + { + "description": "The id of the requested catalog.", + "in": "path", + "minLength": 1, + "name": "catalog_id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/catalog" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/catalog" + } + }, + "404": { + "description": "`CatalogNotFoundException` - Thrown in case the catalog id is unknown." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + } + }, + "/catalogs/{catalog_id}/categories": { + "get": { + "description": "Action to get all the categories with no filtering.", + "operationId": "getCatalogsByIDCategories", + "parameters": [ + { + "in": "path", + "minLength": 1, + "name": "catalog_id", + "required": true, + "type": "string" + }, + { + "description": "Optional start index for retrieving the items from a given index (default 0).", + "format": "int32", + "in": "query", + "name": "start", + "type": "integer" + }, + { + "description": "Optional count for retrieving only a subset of the items (default is 25).", + "format": "int32", + "in": "query", + "name": "count", + "type": "integer" + }, + { + "description": "The property selector.", + "in": "query", + "name": "select", + "type": "string" + }, + { + "in": "query", + "items": { + "type": "string" + }, + "name": "expand", + "type": "array" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/categories" + } + }, + "404": { + "description": "`CatalogNotFoundException` - Indicates that the catalog is not provided in the request." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + } + }, + "/catalogs/{catalog_id}/categories/{category_id}": { + "delete": { + "description": "Deletes the category by catalog ID and category ID", + "operationId": "deleteCatalogsByIDCategoriesByID", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "minLength": 1, + "name": "catalog_id", + "required": true, + "type": "string" + }, + { + "description": "The category id to remove", + "in": "path", + "minLength": 1, + "name": "category_id", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`CatalogNotFoundException` - Indicates that the catalog is not provided in the request. or `CategoryNotFoundException` - Indicates that the category does not exist for the catalog provided in \n the request." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + }, + "get": { + "description": "Action to read an existing category within a catalog. By default, the server\n also returns the first level of sub-categories, but you can specify another level by setting the levels\n parameter. Please note, using a large value for levels may cause performance \n issues in case of a large and deep category tree.", + "operationId": "getCatalogsByIDCategoriesByID", + "parameters": [ + { + "description": "the id of the catalog that the category belongs to", + "in": "path", + "minLength": 1, + "name": "catalog_id", + "required": true, + "type": "string" + }, + { + "description": "the id of the category requested", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "category_id", + "required": true, + "type": "string" + }, + { + "description": "Specifies how many levels of nested sub-categories you want the server to return. The default value\n \tis 1.", + "format": "int32", + "in": "query", + "minimum": 0, + "name": "levels", + "type": "integer" + }, + { + "description": "the expansion that client can use to specify and retrieve further information about the category (Internal use only for now).", + "in": "query", + "items": { + "type": "string" + }, + "name": "expand", + "type": "array" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/category" + } + }, + "404": { + "description": "`CatalogNotFoundException` - Indicates that the catalog is not provided in the request. or `CategoryNotFoundException` - Indicates that the category does not exist for the catalog provided in \n the request." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + }, + "patch": { + "description": "Updates a catalog category using the information provided.", + "operationId": "patchCatalogsByIDCategoriesByID", + "parameters": [ + { + "description": "The id of the catalog.", + "in": "path", + "minLength": 1, + "name": "catalog_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the category", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "category_id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/category" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/category" + } + }, + "400": { + "description": "`CategoryInvalidException` - Indicates that the category in the request is not valid \n \t\t\t\t(the argument indicates the field that was invalid)." + }, + "404": { + "description": "`CatalogNotFoundException` - Indicates that the catalog is not provided in the request. or `CategoryNotFoundException` - Indicates that the category does not exist for the catalog provided in \n the request." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + }, + "put": { + "description": "Creates a catalog category using the information provided.", + "operationId": "putCatalogsByIDCategoriesByID", + "parameters": [ + { + "description": "The id of the catalog.", + "in": "path", + "minLength": 1, + "name": "catalog_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the category to be created", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "category_id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/category" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/category" + } + }, + "400": { + "description": "`CategoryInvalidException` - Indicates that the category in the request is not valid \n \t\t\t\t(the argument indicates the field that was invalid). or `IdConflictException` - Indicates that the category ID in the request URL does not match the category ID in the request body." + }, + "404": { + "description": "`CatalogNotFoundException` - Indicates that the catalog is not provided in the request." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + } + }, + "/catalogs/{catalog_id}/categories/{category_id}/category_links": { + "get": { + "description": "Action to get a set of outgoing category links in a given catalog category, sorted by position.", + "operationId": "getCatalogsByIDCategoriesByIDCategoryLinks", + "parameters": [ + { + "description": "The id of the catalog.", + "in": "path", + "minLength": 1, + "name": "catalog_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the source category.", + "in": "path", + "minLength": 1, + "name": "category_id", + "required": true, + "type": "string" + }, + { + "format": "int32", + "in": "query", + "name": "start", + "type": "integer" + }, + { + "format": "int32", + "in": "query", + "name": "count", + "type": "integer" + }, + { + "description": "Optional select clause for getting fields from the returned JSON document.", + "in": "query", + "name": "select", + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/category_links" + } + }, + "404": { + "description": "`CatalogNotFoundException` - Thrown in case the source catalog does not exist or `CategoryNotFoundException` - Thrown in case the source category does not exist" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + } + }, + "/catalogs/{catalog_id}/categories/{category_id}/category_links/{target_catalog_id}/{target_category_id}/{type}": { + "delete": { + "description": "Deletes the category link by ID", + "operationId": "deleteCatalogsByIDCategoriesByIDCategoryLinksByIDByIDByID", + "parameters": [ + { + "description": "The id of the source catalog.", + "in": "path", + "minLength": 1, + "name": "catalog_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the source category.", + "in": "path", + "minLength": 1, + "name": "category_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the target catalog.", + "in": "path", + "minLength": 1, + "name": "target_catalog_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the target category.", + "in": "path", + "minLength": 1, + "name": "target_category_id", + "required": true, + "type": "string" + }, + { + "description": "the link type", + "in": "path", + "name": "type", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`CatalogNotFoundException` - Thrown in case the source catalog or the target catalog do not exist or `CategoryLinkNotFoundException` - Thrown in case the category link does not exist from the source catalog/category to the destination catalog/category with the given type. or `CategoryNotFoundException` - Thrown in case the source category or the target category do not exist" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + }, + "get": { + "description": "Action to get category link information.", + "operationId": "getCatalogsByIDCategoriesByIDCategoryLinksByIDByIDByID", + "parameters": [ + { + "description": "The id of the source catalog.", + "in": "path", + "minLength": 1, + "name": "catalog_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the source category.", + "in": "path", + "minLength": 1, + "name": "category_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the target catalog.", + "in": "path", + "minLength": 1, + "name": "target_catalog_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the target category.", + "in": "path", + "minLength": 1, + "name": "target_category_id", + "required": true, + "type": "string" + }, + { + "description": "the link type", + "in": "path", + "name": "type", + "required": true, + "type": "string" + }, + { + "description": "Optional select clause for getting fields from the returned JSON document.", + "in": "query", + "name": "select", + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/category_link" + } + }, + "404": { + "description": "`CatalogNotFoundException` - Thrown in case the source catalog or the target catalog do not exist or `CategoryLinkNotFoundException` - Thrown in case the category link does not exist from the source catalog/category to the destination catalog/category with the given type. or `CategoryNotFoundException` - Thrown in case the source category or the target category do not exist" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + }, + "patch": { + "description": "Updates the category link with the specified information.", + "operationId": "patchCatalogsByIDCategoriesByIDCategoryLinksByIDByIDByID", + "parameters": [ + { + "description": "The id of the source catalog.", + "in": "path", + "minLength": 1, + "name": "catalog_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the source category.", + "in": "path", + "minLength": 1, + "name": "category_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the target catalog.", + "in": "path", + "minLength": 1, + "name": "target_catalog_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the target category.", + "in": "path", + "minLength": 1, + "name": "target_category_id", + "required": true, + "type": "string" + }, + { + "description": "the link type", + "in": "path", + "name": "type", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/category_link" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/category_link" + } + }, + "404": { + "description": "`CatalogNotFoundException` - Thrown in case the source catalog or the target catalog do not exist or `CategoryLinkNotFoundException` - Thrown in case the category link does not exist from the source catalog/category to the destination catalog/category with the given type. or `CategoryNotFoundException` - Thrown in case the source category or the target category do not exist" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + }, + "put": { + "description": "Creates a category link using the information provided. If a category link with the same unique identifier,\n it will be updated with the new position.", + "operationId": "putCatalogsByIDCategoriesByIDCategoryLinksByIDByIDByID", + "parameters": [ + { + "description": "The id of the source catalog.", + "in": "path", + "minLength": 1, + "name": "catalog_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the source category.", + "in": "path", + "minLength": 1, + "name": "category_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the target catalog.", + "in": "path", + "minLength": 1, + "name": "target_catalog_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the target category.", + "in": "path", + "minLength": 1, + "name": "target_category_id", + "required": true, + "type": "string" + }, + { + "description": "the link type", + "in": "path", + "name": "type", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/category_link" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/category_link" + } + }, + "404": { + "description": "`CatalogNotFoundException` - Thrown in case the source catalog or the target catalog do not exist or `CategoryNotFoundException` - Thrown in case the source category or the target category do not exist" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + } + }, + "/catalogs/{catalog_id}/categories/{category_id}/category_product_assignment_search": { + "post": { + "description": "

Searches for category product assignments.

\n \n

The query attribute specifies a complex query that can be used to narrow down the search. This is the list\n of searchable attributes:

\n \n \n

Sortable Fields:

\n \n \n

Expansions that can be applied for the search request:

\n ", + "operationId": "postCatalogsByIDCategoriesByIDCategoryProductAssignmentSearch", + "parameters": [ + { + "description": "The id of the catalog.", + "in": "path", + "minLength": 1, + "name": "catalog_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the category.", + "in": "path", + "minLength": 1, + "name": "category_id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/category_product_assignment_search_request" + } + }, + { + "description": "The site context.", + "in": "query", + "name": "site_id", + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/category_product_assignment_search_result" + } + }, + "400": { + "description": "`MalformedSearchParameterException` - Thrown if the query is ill-formed." + }, + "404": { + "description": "`CatalogNotFoundException` - Thrown if the catalog does not exist matching the given category_id. or `CategoryNotFoundException` - Thrown if the category does not exist matching the given catalog_id." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + } + }, + "/catalogs/{catalog_id}/categories/{category_id}/products/{product_id}": { + "delete": { + "description": " Removes a category product assignment;\n \n \n

For example, if we have products A, B, C at positions 1, 2, 7.5 and delete assignment for product B, \n this will end up the products A, B, C at positions 1, null, 7.5.

", + "operationId": "deleteCatalogsByIDCategoriesByIDProductsByID", + "parameters": [ + { + "description": "The catalog of the assignment.", + "in": "path", + "minLength": 1, + "name": "catalog_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the requested category.", + "in": "path", + "minLength": 1, + "name": "category_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the requested product to un-assign.", + "in": "path", + "minLength": 1, + "name": "product_id", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`CatalogNotFoundException` - Thrown if the catalog does not exist matching the given id. or `CategoryNotFoundException` - Thrown if the category does not exist matching the given id." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + }, + "get": { + "description": "Retrieves category product assignment information.\n \n Expands that can be applied for the get request\n ", + "operationId": "getCatalogsByIDCategoriesByIDProductsByID", + "parameters": [ + { + "description": "The catalog of the assignment.", + "in": "path", + "minLength": 1, + "name": "catalog_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the requested category.", + "in": "path", + "minLength": 1, + "name": "category_id", + "required": true, + "type": "string" + }, + { + "description": "The id (SKU) of the requested assigned product.", + "in": "path", + "minLength": 1, + "name": "product_id", + "required": true, + "type": "string" + }, + { + "description": "The site context.", + "in": "query", + "name": "site_id", + "type": "string" + }, + { + "description": "The List of expansion values applied to the product associated to the assignment.", + "in": "query", + "items": { + "type": "string" + }, + "name": "expand", + "type": "array" + }, + { + "description": "The selector for the get. If not passed, then the defaultSelector will be used instead.", + "in": "query", + "name": "select", + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/category_product_assignment" + } + }, + "404": { + "description": "`CatalogNotFoundException` - Thrown if the catalog does not exist matching the given id. or `CategoryNotFoundException` - Thrown if the category does not exist matching the given id. or `CategoryProductAssignmentNotFoundException` - Thrown if the category product assignment does not exist matching the given ids. or `ProductNotFoundException` - Thrown if the product does not exist matching the given id." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + }, + "patch": { + "description": "

Updates the category product assignment with the specified information, such as position.

\n

As the assigned position n is a normalized target position , we'll make sure that the product is assigned\n to a position so that the order of positions are maintained.

\n\n

For example, if we have products A, B, C, D at positions 1, 2, 3, 4 and update product A with new position 3, \n the end result is B, C, A, D with order of positions 1, 2, 3, 4.

If we then update product C to no position,\n the end result is B, A, D, C with order of positions 1, 2, 3, null.

\n\n

If there are n existing positioned assignment, updating product to position >= n will end with new assignment with position such that the order of positions is maintained.

", + "operationId": "patchCatalogsByIDCategoriesByIDProductsByID", + "parameters": [ + { + "description": "The id of the requested catalog to which the product is assigned.", + "in": "path", + "minLength": 1, + "name": "catalog_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the requested category to which the product is assigned.", + "in": "path", + "minLength": 1, + "name": "category_id", + "required": true, + "type": "string" + }, + { + "description": "The id (SKU) of the requested assigned product.", + "in": "path", + "minLength": 1, + "name": "product_id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/category_product_assignment" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/category_product_assignment" + } + }, + "404": { + "description": "`CatalogNotFoundException` - Thrown if the catalog does not exist matching the given id. or `CategoryNotFoundException` - Thrown if the category does not exist matching the given id. or `CategoryProductAssignmentNotFoundException` - Thrown if the category product assignment does not exist. or `ProductNotFoundException` - Thrown if the product does not exist matching the given id." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + }, + "put": { + "description": "

Creates a category product assignment using the information provided;

\n \n

As the assigned position n is a normalized target position , we'll make sure that the product is assigned\n to a position so that the order of positions are maintained. \n \n For example, product A, B, C at position 1, 2, 3. product D is assigned to\n position 2, the end result is A, D, B, C with order of positions 1, 2, 3, 4;

\n \n

If there are n existing positioned assignment, assigning a new product to position >= n+1 will end\n with new assignment with position n+1.

", + "operationId": "putCatalogsByIDCategoriesByIDProductsByID", + "parameters": [ + { + "description": "The id of the requested catalog to which to assign the product.", + "in": "path", + "minLength": 1, + "name": "catalog_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the requested category to which to assign the product.", + "in": "path", + "minLength": 1, + "name": "category_id", + "required": true, + "type": "string" + }, + { + "description": "The id (SKU) of the requested product to assign.", + "in": "path", + "minLength": 1, + "name": "product_id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/category_product_assignment" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/category_product_assignment" + } + }, + "400": { + "description": "`IdConflictException` - if the Id in request is not the same as the ID in document." + }, + "404": { + "description": "`CatalogNotFoundException` - Thrown if the catalog does not exist matching the given id. or `CategoryNotFoundException` - Thrown if the category does not exist matching the given id. or `ProductNotFoundException` - Thrown if the product does not exist matching the given id." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + } + }, + "/catalogs/{catalog_id}/category_search": { + "post": { + "description": "

Searches for catalog categories in the scope of catalog

\n

By default, the server also returns the first level of subcategories,\n but you can specify another level by setting the levels parameter. \n Please note, using a large value for levels may cause performance \n issues in case of a large and deep category tree.

\n \n

The query attribute specifies a complex query that can be used to narrow down the search. These are the list\n of searchable attributes:

\n \n\n

The output of the query can also be sorted. These are the list of sortable attributes:

\n ", + "operationId": "postCatalogsByIDCategorySearch", + "parameters": [ + { + "description": "The id of the catalog.", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "catalog_id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/search_request" + } + }, + { + "format": "int32", + "in": "query", + "minimum": 0, + "name": "levels", + "type": "integer" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/category_search_result" + } + }, + "400": { + "description": "`MalformedSearchParameterException` - Thrown if the query is ill-formed." + }, + "404": { + "description": "`CatalogNotFoundException` - Thrown if the specified catalog does not exist." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + } + }, + "/catalogs/{catalog_id}/shared_product_options": { + "get": { + "description": "Read shared product options in a catalog.", + "operationId": "getCatalogsByIDSharedProductOptions", + "parameters": [ + { + "description": "The id of the catalog.", + "in": "path", + "minLength": 1, + "name": "catalog_id", + "required": true, + "type": "string" + }, + { + "description": "Optional start index for retrieving the items from a given index (default 0).", + "format": "int32", + "in": "query", + "name": "start", + "type": "integer" + }, + { + "description": "Optional count for retrieving only a subset of the items (default is 25).", + "format": "int32", + "in": "query", + "name": "count", + "type": "integer" + }, + { + "description": "The property selector.", + "in": "query", + "name": "select", + "type": "string" + }, + { + "description": "The currency mnemonic for retrieving the product option values according to the sorting mode.ex:'USD'", + "in": "query", + "name": "currency", + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/product_options" + } + }, + "404": { + "description": "`CatalogNotFoundException` - Indicates the catalog is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + } + }, + "/catalogs/{catalog_id}/shared_product_options/{id}": { + "delete": { + "description": "Deletes a shared product option by ID.", + "operationId": "deleteCatalogsByIDSharedProductOptionsByID", + "parameters": [ + { + "description": "The id of the catalog.", + "in": "path", + "minLength": 1, + "name": "catalog_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the shared product option.", + "in": "path", + "name": "id", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`CatalogNotFoundException` - Indicates the catalog is not found. or `ProductOptionNotFoundException` - Indicates the shared product option is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + }, + "get": { + "description": "Read a shared product option in a catalog.", + "operationId": "getCatalogsByIDSharedProductOptionsByID", + "parameters": [ + { + "description": "The id of the catalog.", + "in": "path", + "minLength": 1, + "name": "catalog_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the shared product option.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "description": "The currency mnemonic for retrieving the product option values according to the sorting mode.ex:'USD'", + "in": "query", + "name": "currency", + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/product_option" + } + }, + "404": { + "description": "`CatalogNotFoundException` - Indicates the catalog is not found. or `ProductOptionNotFoundException` - Indicates the shared product option is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + }, + "patch": { + "description": "Updates a shared product option with the information provided.", + "operationId": "patchCatalogsByIDSharedProductOptionsByID", + "parameters": [ + { + "description": "The id of the catalog.", + "in": "path", + "minLength": 1, + "name": "catalog_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the shared product option.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/product_option" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/product_option" + } + }, + "404": { + "description": "`CatalogNotFoundException` - Indicates the catalog is not found. or `ProductOptionNotFoundException` - Indicates the shared product option is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + }, + "put": { + "description": "Creates a shared product option using the information provided.", + "operationId": "putCatalogsByIDSharedProductOptionsByID", + "parameters": [ + { + "description": "The id of the catalog.", + "in": "path", + "minLength": 1, + "name": "catalog_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the shared product option.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/product_option" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/product_option" + } + }, + "400": { + "description": "`ProductOptionDuplicateException` - Indicates the shared product option is a duplicate." + }, + "404": { + "description": "`AttributeDefinitionNotFoundException` - Indicates the id specified is not a valid attribute definition. or `CatalogNotFoundException` - Indicates the catalog is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + } + }, + "/catalogs/{catalog_id}/shared_product_options/{option_id}/values": { + "get": { + "description": "Read shared product option values of a shared product option in a catalog.", + "operationId": "getCatalogsByIDSharedProductOptionsByIDValues", + "parameters": [ + { + "description": "The id of the catalog.", + "in": "path", + "minLength": 1, + "name": "catalog_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the shared product option.", + "in": "path", + "minLength": 1, + "name": "option_id", + "required": true, + "type": "string" + }, + { + "description": "Optional start index for retrieving the items from a given index (default 0).", + "format": "int32", + "in": "query", + "name": "start", + "type": "integer" + }, + { + "description": "Optional count for retrieving only a subset of the items (default is 25).", + "format": "int32", + "in": "query", + "name": "count", + "type": "integer" + }, + { + "description": "The property selector.", + "in": "query", + "name": "select", + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/product_option_values" + } + }, + "404": { + "description": "`CatalogNotFoundException` - Indicates the catalog is not found. or `ProductOptionNotFoundException` - Indicates the shared product option is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + } + }, + "/catalogs/{catalog_id}/shared_product_options/{option_id}/values/{id}": { + "delete": { + "description": "Deletes a shared product option value by ID.", + "operationId": "deleteCatalogsByIDSharedProductOptionsByIDValuesByID", + "parameters": [ + { + "description": "The id of the catalog.", + "in": "path", + "minLength": 1, + "name": "catalog_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the shared product option.", + "in": "path", + "minLength": 1, + "name": "option_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the shared product option value.", + "in": "path", + "name": "id", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`CatalogNotFoundException` - Indicates the catalog is not found. or `ProductOptionNotFoundException` - Indicates the shared product option is not found. or `ProductOptionValueNotFoundException` - Indicates the shared product option value is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + }, + "get": { + "description": "Read a shared product option value of a shared product option in a catalog.", + "operationId": "getCatalogsByIDSharedProductOptionsByIDValuesByID", + "parameters": [ + { + "description": "The id of the catalog.", + "in": "path", + "minLength": 1, + "name": "catalog_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the shared product option.", + "in": "path", + "minLength": 1, + "name": "option_id", + "required": true, + "type": "string" + }, + { + "description": "the id of shared product option value.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/product_option_value" + } + }, + "404": { + "description": "`CatalogNotFoundException` - Indicates the catalog is not found. or `ProductOptionNotFoundException` - Indicates the shared product option is not found. or `ProductOptionValueNotFoundException` - Indicates the shared product option value is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + }, + "patch": { + "description": "Updates a shared product option value with the information provided.", + "operationId": "patchCatalogsByIDSharedProductOptionsByIDValuesByID", + "parameters": [ + { + "description": "The id of the catalog.", + "in": "path", + "minLength": 1, + "name": "catalog_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the shared product option.", + "in": "path", + "minLength": 1, + "name": "option_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the shared product option value.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/product_option_value" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/product_option_value" + } + }, + "404": { + "description": "`CatalogNotFoundException` - Indicates the catalog is not found. or `ProductOptionNotFoundException` - Indicates the shared product option is not found. or `ProductOptionValueNotFoundException` - Indicates the shared product option value is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + }, + "put": { + "description": "Creates a shared product option value using the information provided.", + "operationId": "putCatalogsByIDSharedProductOptionsByIDValuesByID", + "parameters": [ + { + "description": "The id of the catalog.", + "in": "path", + "minLength": 1, + "name": "catalog_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the shared product option.", + "in": "path", + "minLength": 1, + "name": "option_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the shared product option value.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/product_option_value" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/product_option_value" + } + }, + "404": { + "description": "`CatalogNotFoundException` - Indicates the catalog is not found. or `ProductOptionNotFoundException` - Indicates the shared product option is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + } + }, + "/catalogs/{catalog_id}/shared_variation_attributes": { + "get": { + "description": "Reads variation attributes of a Domain.", + "operationId": "getCatalogsByIDSharedVariationAttributes", + "parameters": [ + { + "description": "id of the catalog.", + "in": "path", + "minLength": 1, + "name": "catalog_id", + "required": true, + "type": "string" + }, + { + "format": "int32", + "in": "query", + "name": "start", + "type": "integer" + }, + { + "format": "int32", + "in": "query", + "name": "count", + "type": "integer" + }, + { + "in": "query", + "name": "select", + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/variation_attributes" + } + }, + "404": { + "description": "`CatalogNotFoundException` - Indicates the catalog is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + } + }, + "/catalogs/{catalog_id}/shared_variation_attributes/{attribute_id}/values": { + "get": { + "description": "Reads variation attribute values of a variation attribute of a catalog.", + "operationId": "getCatalogsByIDSharedVariationAttributesByIDValues", + "parameters": [ + { + "description": "id of the owning catalog.", + "in": "path", + "minLength": 1, + "name": "catalog_id", + "required": true, + "type": "string" + }, + { + "description": "The variation attribute ID that contains the values.", + "in": "path", + "minLength": 1, + "name": "attribute_id", + "required": true, + "type": "string" + }, + { + "description": "the first record to get in the page", + "format": "int32", + "in": "query", + "name": "start", + "type": "integer" + }, + { + "description": "the number of records to get", + "format": "int32", + "in": "query", + "name": "count", + "type": "integer" + }, + { + "description": "a string that specifies which fields to return (default is all).", + "in": "query", + "name": "select", + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/variation_attribute_values" + } + }, + "404": { + "description": "`CatalogNotFoundException` - Indicates the catalog is not found. or `VariationAttributeNotFoundException` - Indicate the variation attribute is not found" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + } + }, + "/catalogs/{catalog_id}/shared_variation_attributes/{attribute_id}/values/{id}": { + "delete": { + "description": "Deletes the variation attribute value of a variation attribute bound to a catalog", + "operationId": "deleteCatalogsByIDSharedVariationAttributesByIDValuesByID", + "parameters": [ + { + "description": "The id of the catalog.", + "in": "path", + "minLength": 1, + "name": "catalog_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the variation attribute that contains the value.", + "in": "path", + "minLength": 1, + "name": "attribute_id", + "required": true, + "type": "string" + }, + { + "description": "The id of one value to remove", + "in": "path", + "name": "id", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`CatalogNotFoundException` - if the catalog id specified cannot be found or `VariationAttributeNotFoundException` - if the attribute id specified is not a valid variation attribute or `VariationAttributeValueNotFoundException` - if the value id specified does not a valid value id" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + }, + "get": { + "description": "Action to get Shared Variation Attribute value information.", + "operationId": "getCatalogsByIDSharedVariationAttributesByIDValuesByID", + "parameters": [ + { + "description": "The owning catalog ID.", + "in": "path", + "minLength": 1, + "name": "catalog_id", + "required": true, + "type": "string" + }, + { + "description": "The variation attribute custom ID", + "in": "path", + "minLength": 1, + "name": "attribute_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the variation attribute value", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/variation_attribute_value" + } + }, + "404": { + "description": "`CatalogNotFoundException` - Indicates the catalog is not found. or `VariationAttributeNotFoundException` - Indicate the variation attribute is not found or `VariationAttributeValueNotFoundException` - Indicate the variation attribute value is not found" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + }, + "patch": { + "description": "Updates the variation attribute value of a variation attribute of a catalog.", + "operationId": "patchCatalogsByIDSharedVariationAttributesByIDValuesByID", + "parameters": [ + { + "description": "The id of the catalog.", + "in": "path", + "minLength": 1, + "name": "catalog_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the requested variation attribute.", + "in": "path", + "minLength": 1, + "name": "attribute_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the variation value.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/variation_attribute_value" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/variation_attribute_value" + } + }, + "404": { + "description": "`CatalogNotFoundException` - if the catalog id specified cannot be found or `VariationAttributeNotFoundException` - if the attribute id specified is not a valid variation attribute or `VariationAttributeValueNotFoundException` - if the value id specified does not a valid value id" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + }, + "put": { + "description": "Action to create a Shared Variation Attribute value.", + "operationId": "putCatalogsByIDSharedVariationAttributesByIDValuesByID", + "parameters": [ + { + "description": "The owning catalog ID.", + "in": "path", + "minLength": 1, + "name": "catalog_id", + "required": true, + "type": "string" + }, + { + "description": "The variation attribute ID", + "in": "path", + "minLength": 1, + "name": "attribute_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the variation attribute value", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/variation_attribute_value" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/variation_attribute_value" + } + }, + "404": { + "description": "`CatalogNotFoundException` - Indicates the catalog is not found. or `VariationAttributeNotFoundException` - Indicate the variation attribute is not found or `VariationAttributeValueNotFoundException` - Indicate the variation attribute value is not found" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + } + }, + "/catalogs/{catalog_id}/shared_variation_attributes/{id}": { + "delete": { + "description": "Deletes the shared variation attribute by ID.", + "operationId": "deleteCatalogsByIDSharedVariationAttributesByID", + "parameters": [ + { + "description": "The id of the catalog.", + "in": "path", + "minLength": 1, + "name": "catalog_id", + "required": true, + "type": "string" + }, + { + "description": "One variation attribute id to remove.", + "in": "path", + "name": "id", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`CatalogNotFoundException` - Indicates the catalog is not found. or `VariationAttributeNotFoundException` - Thrown if the variation attribute does not exist." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + }, + "get": { + "description": "Action to get shared variation attribute information only for master Catalog.", + "operationId": "getCatalogsByIDSharedVariationAttributesByID", + "parameters": [ + { + "description": "The id of the catalog.", + "in": "path", + "minLength": 1, + "name": "catalog_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the requested variation attribute.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/variation_attribute" + } + }, + "404": { + "description": "`CatalogNotFoundException` - Indicates the catalog is not found. or `VariationAttributeNotFoundException` - Thrown if the variation attribute matching the given id does not exist." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + }, + "patch": { + "description": "Updates the shared variation attribute with the specified information.\n\n ", + "operationId": "patchCatalogsByIDSharedVariationAttributesByID", + "parameters": [ + { + "description": "The id of the catalog.", + "in": "path", + "minLength": 1, + "name": "catalog_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the requested variation attribute.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/variation_attribute" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/variation_attribute" + } + }, + "404": { + "description": "`CatalogNotFoundException` - if the specified catalog id cannot be found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + }, + "put": { + "description": "Creates a shared variation attribute using the information provided. \n To create a variation attribute specific to a product, use the products resource.", + "operationId": "putCatalogsByIDSharedVariationAttributesByID", + "parameters": [ + { + "description": "The id of the catalog.", + "in": "path", + "minLength": 1, + "name": "catalog_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the variation attribute to create.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/variation_attribute" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/variation_attribute" + } + }, + "400": { + "description": "`SharedVariationAttributeIDNotUniqueException` - if the specified id isn't unique." + }, + "404": { + "description": "`AttributeDefinitionNotFoundException` - if attribute definition supplied is not a product attribute. or `CatalogNotFoundException` - Indicates the catalog is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + } + }, + "/category_search": { + "post": { + "description": "

Searches for catalog categories anywhere they appear.

\n

By default, the server also returns the first level of subcategories,\n but you can specify another level by setting the levels parameter. \n Please note, using a large value for levels may cause performance \n issues in case of a large and deep category tree.

\n \n

The query attribute specifies a complex query that can be used to narrow down the search. These are the list\n of searchable attributes:

\n \n\n

The output of the query can also be sorted. These are the list of sortable attributes:

\n ", + "operationId": "postCategorySearch", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/search_request" + } + }, + { + "format": "int32", + "in": "query", + "minimum": 0, + "name": "levels", + "type": "integer" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/category_search_result" + } + }, + "400": { + "description": "`MalformedSearchParameterException` - Thrown if the query is ill-formed." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "category_search" + ] + } + }, + "/code_versions": { + "get": { + "description": "Read all existing code versions.", + "operationId": "getCodeVersions", + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/code_version_result" + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "code_versions" + ] + } + }, + "/code_versions/{code_version_id}": { + "delete": { + "description": "Delete a code version.", + "operationId": "deleteCodeVersionsByID", + "parameters": [ + { + "description": "The id of the code version.", + "in": "path", + "minLength": 1, + "name": "code_version_id", + "required": true, + "type": "string" + } + ], + "responses": { + "400": { + "description": "`CodeVersionModificationException` - Indicates that a code version with the given id can't be \n deleted (because it is active)." + }, + "204": { + "description": "" + }, + "404": { + "description": "`CodeVersionIdNotFoundException` - Indicates that a code version with the given id was not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "code_versions" + ] + }, + "get": { + "description": "Read a code version.", + "operationId": "getCodeVersionsByID", + "parameters": [ + { + "description": "The id of the code version.", + "in": "path", + "minLength": 1, + "name": "code_version_id", + "required": true, + "type": "string" + }, + { + "description": "The expand parameter. Allowed value (size).", + "in": "query", + "items": { + "type": "string" + }, + "name": "expand", + "type": "array" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/code_version" + } + }, + "404": { + "description": "`CodeVersionIdNotFoundException` - Indicates that a code version with the given id was not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "code_versions" + ] + }, + "patch": { + "description": "Update an existing code version.\n ", + "operationId": "patchCodeVersionsByID", + "parameters": [ + { + "description": "The id of the code version.", + "in": "path", + "minLength": 1, + "name": "code_version_id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/code_version" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/code_version" + } + }, + "400": { + "description": "`CodeVersionModificationException` - Indicates that a code version with the given id can't be updated (because it is active)." + }, + "404": { + "description": "`CodeVersionIdNotFoundException` - Indicates that a code version with the given id was not found." + }, + "409": { + "description": "`CodeVersionIdAlreadyExistsException` - Indicates that a code version with the given id already exists." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "code_versions" + ] + }, + "put": { + "description": "Create a new code version.", + "operationId": "putCodeVersionsByID", + "parameters": [ + { + "description": "The id of the code version.", + "in": "path", + "minLength": 1, + "name": "code_version_id", + "required": true, + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/code_version" + } + }, + "409": { + "description": "`CodeVersionIdAlreadyExistsException` - Indicates that a code version with the given id already exists." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "code_versions" + ] + } + }, + "/custom_object_definitions/{object_type}/attribute_definition_search": { + "post": { + "description": "

Searches the attribute definitions of the specified custom object type.

\n

The query attribute specifies a complex query that can be used to narrow down the search. Attributes are grouped\n into different buckets. These are the list of searchable attributes with their corresponding buckets:

\n\n

Main:

\n \n

Definition version:

\n \n\n

Only attributes in the same bucket can be joined using a disjunction (OR).\n For instance, when joining localizable and description above, only a conjunction is allowed (AND), whereas display_name\n and description can be joined using a disjunction because they are in the same bucket. If an attribute\n is used in a disjunction (OR) that violates this rule, an exception will be thrown.

\n\n

Additionally, attribute definitions can also be searched by attribute group.\n

\n

\n\n

These attributes are not searchable or sortable for built in system attributes. They work normally for non\n system attributes.

\n\n

Note that only searchable attributes can be used in sorting.

", + "operationId": "postCustomObjectDefinitionsByIDAttributeDefinitionSearch", + "parameters": [ + { + "description": "The type of object", + "in": "path", + "name": "object_type", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/search_request" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/object_attribute_definition_search_result" + } + }, + "400": { + "description": "`MalformedSearchParameterException` - Indicates the query is ill-formed." + }, + "404": { + "description": "`ObjectTypeNotFoundException` - Indicates that the object type cannot be found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "custom_object_definitions" + ] + } + }, + "/custom_object_definitions/{object_type}/attribute_definitions": { + "get": { + "description": "Action to get all the attribute definitions with no filtering.", + "operationId": "getCustomObjectDefinitionsByIDAttributeDefinitions", + "parameters": [ + { + "in": "path", + "name": "object_type", + "required": true, + "type": "string" + }, + { + "description": "Optional start index for retrieving the items from a given index (default 0).", + "format": "int32", + "in": "query", + "name": "start", + "type": "integer" + }, + { + "description": "Optional count for retrieving only a subset of the items (default is 25).", + "format": "int32", + "in": "query", + "name": "count", + "type": "integer" + }, + { + "description": "The property selector.", + "in": "query", + "name": "select", + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/object_attribute_definitions" + } + }, + "404": { + "description": "`ObjectTypeNotFoundException` - Thrown in case the object type cannot be found" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "custom_object_definitions" + ] + } + }, + "/custom_object_definitions/{object_type}/attribute_definitions/{id}": { + "delete": { + "description": "Deletes the attribute definition by ID", + "operationId": "deleteCustomObjectDefinitionsByIDAttributeDefinitionsByID", + "parameters": [ + { + "description": "The metadata object that contains these definitions", + "in": "path", + "name": "object_type", + "required": true, + "type": "string" + }, + { + "description": "Attribute definition id to remove", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + } + ], + "responses": { + "400": { + "description": "`AttributeDefinitionKeyReadOnlyException` - Thrown when trying to delete a key attribute of custom object or `AttributeDefinitionReadOnlyException` - Thrown when trying to delete a internal attribute of custom object" + }, + "204": { + "description": "" + }, + "404": { + "description": "`AttributeDefinitionNotFoundException` - Thrown in case the attribute definition does not exist matching the given id or `ObjectTypeNotFoundException` - Thrown in case the object type cannot be found" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "custom_object_definitions" + ] + }, + "get": { + "description": "Action to get attribute definition information.", + "operationId": "getCustomObjectDefinitionsByIDAttributeDefinitionsByID", + "parameters": [ + { + "description": "The object type id that contains these definitions", + "in": "path", + "name": "object_type", + "required": true, + "type": "string" + }, + { + "description": "The id of the requested attribute definition.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "description": "The expand \"value\" is available to retrieve value definitions of the attribute definition.", + "in": "query", + "items": { + "type": "string" + }, + "name": "expand", + "type": "array" + }, + { + "description": "The selector for the get. If not passed, then the defaultSelector will be used instead.", + "in": "query", + "name": "select", + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/object_attribute_definition" + } + }, + "404": { + "description": "`AttributeDefinitionNotFoundException` - Thrown in case the attribute definition does not exist matching the given id or `ObjectTypeNotFoundException` - Thrown in case the object type cannot be found" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "custom_object_definitions" + ] + }, + "patch": { + "description": "Updates the attribute definition with the specified information.", + "operationId": "patchCustomObjectDefinitionsByIDAttributeDefinitionsByID", + "parameters": [ + { + "description": "The object type id that contains these definitions", + "in": "path", + "name": "object_type", + "required": true, + "type": "string" + }, + { + "description": "The id of the requested attribute definition.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "in": "header", + "name": "If-Match", + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/object_attribute_definition" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/object_attribute_definition" + } + }, + "400": { + "description": "`AttributeDefinitionKeyReadOnlyException` - Thrown when trying to modify a key attribute of custom object or `AttributeDefinitionPropertyReadOnlyException` - Thrown in case a read only system attribute it tried to be changed, which is not allowed." + }, + "404": { + "description": "`AttributeDefinitionNotFoundException` - Thrown in case the attribute definition does not exist matching the given id or `ObjectTypeNotFoundException` - Thrown in case the object type cannot be found" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "custom_object_definitions" + ] + }, + "put": { + "description": "Creates a attribute definition using the information provided.", + "operationId": "putCustomObjectDefinitionsByIDAttributeDefinitionsByID", + "parameters": [ + { + "description": "The metadata object that contains these definitions", + "in": "path", + "name": "object_type", + "required": true, + "type": "string" + }, + { + "description": "The id of the attribute definition to create.", + "in": "path", + "name": "id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/object_attribute_definition" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/object_attribute_definition" + } + }, + "400": { + "description": "`AttributeDefinitionCreateException` - if the attribute definition could not be created. or `AttributeDefinitionKeyReadOnlyException` - Thrown when trying to create a key attribute of a custom object or `AttributeDefinitionLocalizableNotAllowedException` - if trying to create a localizable attribute with a non-localizable type or `IdConflictException` - if the Id in request is not the same as the ID in document." + }, + "404": { + "description": "`ObjectTypeNotFoundException` - Thrown in case the object type cannot be found" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "custom_object_definitions" + ] + } + }, + "/custom_object_definitions/{object_type}/attribute_group_search": { + "post": { + "description": "

Searches for attribute groups.

\n \n

The query attribute specifies a complex query that can be used to narrow down the search. These are the list\n of searchable attributes:

\n \n\n

The output of the query can also be sorted. These are the list of sortable attributes:

\n ", + "operationId": "postCustomObjectDefinitionsByIDAttributeGroupSearch", + "parameters": [ + { + "in": "path", + "name": "object_type", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/search_request" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/object_attribute_group_search_result" + } + }, + "400": { + "description": "`MalformedSearchParameterException` - Thrown if the query is ill-formed." + }, + "404": { + "description": "`ObjectTypeNotFoundException` - Thrown in case the object type cannot be found" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "custom_object_definitions" + ] + } + }, + "/custom_object_definitions/{object_type}/attribute_groups": { + "get": { + "description": "Action to get all the attribute groups with no filtering.", + "operationId": "getCustomObjectDefinitionsByIDAttributeGroups", + "parameters": [ + { + "in": "path", + "name": "object_type", + "required": true, + "type": "string" + }, + { + "description": "Optional start index for retrieving the items from a given index (default 0).", + "format": "int32", + "in": "query", + "name": "start", + "type": "integer" + }, + { + "description": "Optional count for retrieving only a subset of the items (default is 25).", + "format": "int32", + "in": "query", + "name": "count", + "type": "integer" + }, + { + "description": "The property selector.", + "in": "query", + "name": "select", + "type": "string" + }, + { + "in": "query", + "items": { + "type": "string" + }, + "name": "expand", + "type": "array" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/object_attribute_groups" + } + }, + "404": { + "description": "`ObjectTypeNotFoundException` - Thrown in case the object type cannot be found" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "custom_object_definitions" + ] + } + }, + "/custom_object_definitions/{object_type}/attribute_groups/{group_id}/attribute_definitions/{def_id}": { + "delete": { + "description": "Un-assign an attribute definition from an attribute group.", + "operationId": "deleteCustomObjectDefinitionsByIDAttributeGroupsByIDAttributeDefinitionsByID", + "parameters": [ + { + "description": "The ID of the custom object that contains the attribute definition and attribute group.", + "in": "path", + "name": "object_type", + "required": true, + "type": "string" + }, + { + "description": "The ID of the attribute group.", + "in": "path", + "minLength": 1, + "name": "group_id", + "required": true, + "type": "string" + }, + { + "description": "The ID of the attribute definition.", + "in": "path", + "minLength": 1, + "name": "def_id", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`AttributeDefinitionNotFoundException` - Indicates the specified attribute definition is not found. or `AttributeGroupNotFoundException` - Indicates the specified attribute group is not found. or `ObjectTypeNotFoundException` - Indicates the specified custom object is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "custom_object_definitions" + ] + }, + "put": { + "description": "Assign an attribute definition to an attribute group.", + "operationId": "putCustomObjectDefinitionsByIDAttributeGroupsByIDAttributeDefinitionsByID", + "parameters": [ + { + "description": "The ID of the custom object that contains the attribute definition and attribute group.", + "in": "path", + "name": "object_type", + "required": true, + "type": "string" + }, + { + "description": "The ID of the attribute group.", + "in": "path", + "minLength": 1, + "name": "group_id", + "required": true, + "type": "string" + }, + { + "description": "The ID of the attribute definition.", + "in": "path", + "minLength": 1, + "name": "def_id", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`AttributeDefinitionNotFoundException` - Indicates the specified attribute definition is not found. or `AttributeGroupNotFoundException` - Indicates the specified attribute group is not found. or `ObjectTypeNotFoundException` - Indicates the specified custom object is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "custom_object_definitions" + ] + } + }, + "/custom_object_definitions/{object_type}/attribute_groups/{id}": { + "delete": { + "description": "Deletes the attribute group by ID", + "operationId": "deleteCustomObjectDefinitionsByIDAttributeGroupsByID", + "parameters": [ + { + "description": "the object type id that contains this attribute group", + "in": "path", + "name": "object_type", + "required": true, + "type": "string" + }, + { + "description": "One attribute group id to remove", + "in": "path", + "name": "id", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`AttributeGroupNotFoundException` - Thrown in case the attribute group does not exist matching the given id or `ObjectTypeNotFoundException` - Thrown in case the object type cannot be found" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "custom_object_definitions" + ] + }, + "get": { + "description": "Action to get attribute group information.", + "operationId": "getCustomObjectDefinitionsByIDAttributeGroupsByID", + "parameters": [ + { + "description": "the object type id that contains this attribute group", + "in": "path", + "name": "object_type", + "required": true, + "type": "string" + }, + { + "description": "The id of the requested attribute group.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "select", + "type": "string" + }, + { + "in": "query", + "items": { + "type": "string" + }, + "name": "expand", + "type": "array" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/object_attribute_group" + } + }, + "404": { + "description": "`AttributeGroupNotFoundException` - Thrown in case the attribute group does not exist matching the given id or `ObjectTypeNotFoundException` - Thrown in case the object type cannot be found" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "custom_object_definitions" + ] + }, + "patch": { + "description": "Updates the attribute group with the specified information.", + "operationId": "patchCustomObjectDefinitionsByIDAttributeGroupsByID", + "parameters": [ + { + "description": "the object type id that contains this attribute group", + "in": "path", + "name": "object_type", + "required": true, + "type": "string" + }, + { + "description": "The id of the requested attribute group.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "in": "header", + "name": "If-Match", + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/object_attribute_group" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/object_attribute_group" + } + }, + "404": { + "description": "`AttributeGroupNotFoundException` - Thrown in case the attribute group does not exist matching the given id or `ObjectTypeNotFoundException` - Thrown in case the object type cannot be found" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "custom_object_definitions" + ] + }, + "put": { + "description": "Creates a attribute group using the information provided.", + "operationId": "putCustomObjectDefinitionsByIDAttributeGroupsByID", + "parameters": [ + { + "description": "the object type id that contains this attribute group", + "in": "path", + "name": "object_type", + "required": true, + "type": "string" + }, + { + "description": "The id of the attribute group to create.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/object_attribute_group" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/object_attribute_group" + } + }, + "400": { + "description": "`IdConflictException` - when the id in the body does not match that provided in the URL" + }, + "404": { + "description": "`ObjectTypeNotFoundException` - Thrown in case the object type cannot be found" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "custom_object_definitions" + ] + } + }, + "/custom_objects/{object_type}/{key}": { + "delete": { + "description": "Deletes a global Custom Object. If the Custom Object does not exist, this will do nothing. Note that the customization scripts are only called, if the Custom Object does exist.", + "operationId": "deleteCustomObjectsByIDByID", + "parameters": [ + { + "description": "the ID of the object type", + "in": "path", + "minLength": 1, + "name": "object_type", + "required": true, + "type": "string" + }, + { + "description": "the key attribute value of the Custom Object", + "in": "path", + "minLength": 1, + "name": "key", + "required": true, + "type": "string" + } + ], + "responses": { + "400": { + "description": "`MalformedKeyParameterException` - If the object key must be an integer, but the path parameter has an invalid format" + }, + "204": { + "description": "" + }, + "404": { + "description": "`ObjectTypeNotFoundException` - For an unknown object type ID" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "custom_objects" + ] + }, + "get": { + "description": "Reads a global Custom Object with a given object type ID and a value for the key attribute of the object which represents its unique identifier.", + "operationId": "getCustomObjectsByIDByID", + "parameters": [ + { + "description": "the ID of the object type", + "in": "path", + "minLength": 1, + "name": "object_type", + "required": true, + "type": "string" + }, + { + "description": "the key attribute value of the Custom Object", + "in": "path", + "minLength": 1, + "name": "key", + "required": true, + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/custom_object" + } + }, + "400": { + "description": "`MalformedKeyParameterException` - If the object key must be an integer, but the path parameter has an invalid format" + }, + "404": { + "description": "`ObjectTypeNotFoundException` - For an unknown object type ID or `CustomObjectNotFoundException` - For an unknown object key" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "custom_objects" + ] + }, + "patch": { + "description": "

Updates a global Custom Object with information from the request body. Note that only provided attributes are updated and that the key attribute is ignored. All other attributes are unchanged.

Use Custom Properties prefixed with c_ to define the Custom Object fields.
For localizable strings, structure the field to support multiple language values by using a map where each locale, for example: en_US, fr_FR, has its corresponding string value.

", + "operationId": "patchCustomObjectsByIDByID", + "parameters": [ + { + "description": "the ID of the object type", + "in": "path", + "minLength": 1, + "name": "object_type", + "required": true, + "type": "string" + }, + { + "description": "the key attribute value of the Custom Object", + "in": "path", + "minLength": 1, + "name": "key", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/custom_object" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/custom_object" + } + }, + "400": { + "description": "`MalformedKeyParameterException` - If the object key must be an integer, but the path parameter has an invalid format" + }, + "404": { + "description": "`ObjectTypeNotFoundException` - For an unknown object type ID or `CustomObjectNotFoundException` - For an unknown object key" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "custom_objects" + ] + }, + "put": { + "description": "

Creates a global Custom Object from the request body. Note that an existing global Custom Object with the same key is overwritten by this action.

Use Custom Properties prefixed with c_ to define the Custom Object fields.
For localizable strings, structure the field to support multiple language values by using a map where each locale, for example: en_US, fr_FR, has its corresponding string value.

", + "operationId": "putCustomObjectsByIDByID", + "parameters": [ + { + "description": "the ID of the object type", + "in": "path", + "minLength": 1, + "name": "object_type", + "required": true, + "type": "string" + }, + { + "description": "the key attribute value of the Custom Object", + "in": "path", + "minLength": 1, + "name": "key", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/custom_object" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/custom_object" + } + }, + "400": { + "description": "`MalformedKeyParameterException` - If the object key must be an integer, but the path parameter has an invalid format" + }, + "404": { + "description": "`ObjectTypeNotFoundException` - For an unknown object type ID or `CustomObjectNotFoundException` - For an unknown object key" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "custom_objects" + ] + } + }, + "/custom_objects_search/{object_type}": { + "post": { + "description": "

Search resource for custom objects in scope of a specific custom object type.

\n \n

The custom object search document contains a search object that allows filtering on various attributes.

\n \n \n

The query attribute specifies a complex query that can be used to narrow down the search. These are the list\n of searchable attributes:

\n \n \n

Note that only searchable attributes can be used in sorting.

", + "operationId": "postCustomObjectsSearchByID", + "parameters": [ + { + "description": "ID of the object type to search objects for", + "in": "path", + "minLength": 1, + "name": "object_type", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/search_request" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/custom_object_search_result" + } + }, + "400": { + "description": "`TypeMissmatchException` - Indicates that the value to search with does not match the\n type of the search field." + }, + "404": { + "description": "`ObjectTypeNotFoundException` - In case of an unknown object type." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "custom_objects_search" + ] + } + }, + "/customer_lists/{customer_list_id}/customer_search": { + "post": { + "description": "Action to search for customers in a customer list.\n\n The query attribute specifies a complex query that can be used to narrow down the search.\n Note that a text_query search only returns exact word matches. For example, the search \n term \"Jon\" returns \"Jon Smith\", but doesn't return \"Jonathan Smith\".\n \n The sum of the values of the start and count parameters should not be more than 10000.\n \n These attributes are searchable:\n\n ", + "operationId": "postCustomerListsByIDCustomerSearch", + "parameters": [ + { + "description": "The customer list id to search in", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "customer_list_id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/search_request" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/customer_search_result" + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "customer_lists" + ] + } + }, + "/customer_lists/{list_id}": { + "get": { + "description": "Action to read an existing customerlist.", + "operationId": "getCustomerListsByID", + "parameters": [ + { + "description": "the id of the customerlist", + "in": "path", + "minLength": 1, + "name": "list_id", + "required": true, + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/customer_list" + } + }, + "404": { + "description": "`CustomerListNotFoundException` - Indicates that there was no customerlist found for the customerlist id." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "customer_lists" + ] + } + }, + "/customer_lists/{list_id}/customers": { + "post": { + "description": "Action to create a new customer. The customer is created using the specified credentials and customer\n information.This action verifies the following:\n \n If the action fails to create the customer, it returns a 400 fault with an appropriate message.", + "operationId": "postCustomerListsByIDCustomers", + "parameters": [ + { + "description": "The customer list id", + "in": "path", + "minLength": 1, + "name": "list_id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/customer" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/customer" + } + }, + "400": { + "description": "`CredentialsMissingException` - Indicates that the mandatory credentials are missing in the input document. or `InvalidLoginException` - Indicates the login does not match the login acceptance criteria. or `LoginAlreadyInUseException` - Indicates the login is already in use. or `LoginMissingException` - Indicates that the mandatory login property is missing in the input document." + }, + "404": { + "description": "`CustomerListNotFoundException` - Indicates that the customer list with the given customer list id is unknown." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "customer_lists" + ] + } + }, + "/customer_lists/{list_id}/customers/{customer_no}": { + "delete": { + "description": "Deletes the customer including all related information like the customer addresses.
\n\n Returns a status code of 204 on successful completion when deleting the customer. If the customer to be deleted\n did not exist, a 204 will still be returned to indicate the resource is no longer present in the system.", + "operationId": "deleteCustomerListsByIDCustomersByID", + "parameters": [ + { + "description": "The customer list id", + "in": "path", + "minLength": 1, + "name": "list_id", + "required": true, + "type": "string" + }, + { + "description": "The customer number", + "in": "path", + "minLength": 1, + "name": "customer_no", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`CustomerListCustomerNotFoundException` - Indicates that the customer with the given customer number is\n unknown. or `CustomerListNotFoundException` - Indicates that the customer list with the given customer list id is\n unknown." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "customer_lists" + ] + }, + "get": { + "description": "Action to get customer information.", + "operationId": "getCustomerListsByIDCustomersByID", + "parameters": [ + { + "description": "The customer list id", + "in": "path", + "minLength": 1, + "name": "list_id", + "required": true, + "type": "string" + }, + { + "description": "The customer number", + "in": "path", + "minLength": 1, + "name": "customer_no", + "required": true, + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/customer" + } + }, + "404": { + "description": "`CustomerListCustomerNotFoundException` - Indicates that the customer with the given customer number is unknown. or `CustomerListNotFoundException` - Indicates that the customer list with the given customer list id is unknown." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "customer_lists" + ] + }, + "patch": { + "description": "Updates the customer with the specified information. The customer number is allowed to be updated but will result in a\n CustomerNumberAlreadyInUseException if there is already another customer with the same customer number existing.", + "operationId": "patchCustomerListsByIDCustomersByID", + "parameters": [ + { + "description": "The customer list id", + "in": "path", + "minLength": 1, + "name": "list_id", + "required": true, + "type": "string" + }, + { + "description": "The customer number", + "in": "path", + "minLength": 1, + "name": "customer_no", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/customer" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/customer" + } + }, + "400": { + "description": "`InvalidLoginException` - Indicates the login does not match the login acceptance criteria. or `LoginAlreadyInUseException` - Indicates the login is already in use." + }, + "404": { + "description": "`CustomerListCustomerNotFoundException` - Indicates that the customer with the given customer number is unknown. or `CustomerListNotFoundException` - Indicates that the customer list with the given customer list id is unknown." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "customer_lists" + ] + }, + "put": { + "description": "Action to create a new customer. The customer is created using the specified customer number, credentials and\n customer information.This action verifies the following:\n \n If the action fails to create the customer, it returns a 400 fault with an appropriate message.", + "operationId": "putCustomerListsByIDCustomersByID", + "parameters": [ + { + "description": "The customer list id", + "in": "path", + "minLength": 1, + "name": "list_id", + "required": true, + "type": "string" + }, + { + "description": "The customer number", + "in": "path", + "minLength": 1, + "name": "customer_no", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/customer" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/customer" + } + }, + "400": { + "description": "`CredentialsMissingException` - Indicates that the mandatory credentials are missing in the input document. or `InvalidLoginException` - Indicates the login does not match the login acceptance criteria. or `LoginAlreadyInUseException` - Indicates that the given login is already in use. or `LoginMissingException` - Indicates that the mandatory login property is missing in the input document." + }, + "404": { + "description": "`CustomerListNotFoundException` - Indicates that the customer list with the given customer list id is unknown." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "customer_lists" + ] + } + }, + "/customer_lists/{list_id}/customers/{customer_no}/addresses": { + "get": { + "description": "Action that returns a pageable list of all customer addresses. The\n default page size is 10 customer addresses.", + "operationId": "getCustomerListsByIDCustomersByIDAddresses", + "parameters": [ + { + "description": "The customer list id", + "in": "path", + "minLength": 1, + "name": "list_id", + "required": true, + "type": "string" + }, + { + "description": "The customer number", + "in": "path", + "minLength": 1, + "name": "customer_no", + "required": true, + "type": "string" + }, + { + "description": "The result set index to return the first instance for. Default value is 0.", + "format": "int32", + "in": "query", + "minimum": 0, + "name": "start", + "type": "integer" + }, + { + "description": "The maximum number of instances per request. Default value is 25.", + "format": "int32", + "in": "query", + "maximum": 200, + "minimum": 1, + "name": "count", + "type": "integer" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/customer_address_result" + } + }, + "404": { + "description": "`CustomerListCustomerNotFoundException` - Indicates that the customer with the given customer number is unknown. or `CustomerListNotFoundException` - Indicates that the customer list with the given customer list id is unknown." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "customer_lists" + ] + }, + "post": { + "description": "The action creates a new customer address with the given address\n information.", + "operationId": "postCustomerListsByIDCustomersByIDAddresses", + "parameters": [ + { + "description": "The customer list id", + "in": "path", + "minLength": 1, + "name": "list_id", + "required": true, + "type": "string" + }, + { + "description": "The customer number", + "in": "path", + "minLength": 1, + "name": "customer_no", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/customer_address" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/customer_address" + } + }, + "400": { + "description": "`AddressIdAlreadyInUseException` - If the address id is already in use. or `InvalidAddressIdException` - If the address id is null or empty." + }, + "404": { + "description": "`CustomerListCustomerNotFoundException` - Indicates that the customer with the given customer number is unknown. or `CustomerListNotFoundException` - Indicates that the customer list with the given customer list id is unknown." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "customer_lists" + ] + } + }, + "/customer_lists/{list_id}/customers/{customer_no}/addresses/{address_id}": { + "delete": { + "description": "Action which deletes a customer address.", + "operationId": "deleteCustomerListsByIDCustomersByIDAddressesByID", + "parameters": [ + { + "description": "The customer list id", + "in": "path", + "minLength": 1, + "name": "list_id", + "required": true, + "type": "string" + }, + { + "description": "The customer number", + "in": "path", + "minLength": 1, + "name": "customer_no", + "required": true, + "type": "string" + }, + { + "description": "The address id", + "in": "path", + "minLength": 1, + "name": "address_id", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`CustomerListCustomerNotFoundException` - Indicates that the customer with the given customer number is unknown. or `CustomerListNotFoundException` - Indicates that the customer list with the given customer list id is unknown." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "customer_lists" + ] + }, + "get": { + "description": "Action which returns an address of a customer.", + "operationId": "getCustomerListsByIDCustomersByIDAddressesByID", + "parameters": [ + { + "description": "The customer list id", + "in": "path", + "minLength": 1, + "name": "list_id", + "required": true, + "type": "string" + }, + { + "description": "The customer number", + "in": "path", + "minLength": 1, + "name": "customer_no", + "required": true, + "type": "string" + }, + { + "description": "The address id", + "in": "path", + "minLength": 1, + "name": "address_id", + "required": true, + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/customer_address" + } + }, + "404": { + "description": "`CustomerListCustomerAddressNotFoundException` - Indicates that the customer address id is unknown. or `CustomerListCustomerNotFoundException` - Indicates that the customer with the given customer number is unknown. or `CustomerListNotFoundException` - Indicates that the customer list with the given customer list id is unknown." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "customer_lists" + ] + }, + "patch": { + "description": "Action which updates an address of a customer with the given address information.", + "operationId": "patchCustomerListsByIDCustomersByIDAddressesByID", + "parameters": [ + { + "description": "The customer list id", + "in": "path", + "minLength": 1, + "name": "list_id", + "required": true, + "type": "string" + }, + { + "description": "The customer number", + "in": "path", + "minLength": 1, + "name": "customer_no", + "required": true, + "type": "string" + }, + { + "description": "The address id", + "in": "path", + "minLength": 1, + "name": "address_id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/customer_address" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/customer_address" + } + }, + "400": { + "description": "`AddressIdAlreadyInUseException` - If the new address id is already in use. or `InvalidAddressIdException` - If the new address id is empty." + }, + "404": { + "description": "`CustomerListCustomerAddressNotFoundException` - Indicates that the customer address id is unknown. or `CustomerListCustomerNotFoundException` - Indicates that the customer with the given customer number is unknown. or `CustomerListNotFoundException` - Indicates that the customer list with the given customer list id is unknown." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "customer_lists" + ] + } + }, + "/global_preferences/preference_groups/{group_id}/{instance_type}": { + "get": { + "description": "For the specified instance, read the custom preferences in the preference group at the global(organization) level.\n Specify 'current' to retrieve the preferences for the instance on which this call is being made. The system will recognize its type.\n\n

Note: If instance type sandbox is used, the preference values of development instance type will be returned as fallback.

", + "operationId": "getGlobalPreferencesPreferenceGroupsByIDByID", + "parameters": [ + { + "description": "One of {staging,development,sandbox,production,current}.", + "in": "path", + "name": "instance_type", + "required": true, + "type": "string" + }, + { + "description": "The ID of the preference group.", + "in": "path", + "name": "group_id", + "required": true, + "type": "string" + }, + { + "description": "Set to true to mask the values of preferences of type Password.", + "in": "query", + "name": "mask_passwords", + "type": "boolean" + }, + { + "description": "The expansion \"sites\" retrieves the custom preferences in the preference group for all the available sites.", + "in": "query", + "items": { + "type": "string" + }, + "name": "expand", + "type": "array" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/organization_preferences" + } + }, + "404": { + "description": "`CustomPreferenceGroupNotFoundException` - Indicates the preference group is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "global_preferences" + ] + }, + "patch": { + "description": "For the specified instance, update one or more custom preferences in the preference group at the global(organization) level.\n\n

Note: If instance type sandbox is used, the preference values of development instance type will be returned as fallback.

", + "operationId": "patchGlobalPreferencesPreferenceGroupsByIDByID", + "parameters": [ + { + "description": "One of {staging,development,sandbox,production}.", + "in": "path", + "name": "instance_type", + "required": true, + "type": "string" + }, + { + "description": "The ID of the preference group.", + "in": "path", + "name": "group_id", + "required": true, + "type": "string" + }, + { + "description": "Set to true to mask the values of preferences of type Password.", + "in": "query", + "name": "mask_passwords", + "type": "boolean" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/organization_preferences" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/organization_preferences" + } + }, + "404": { + "description": "`CustomPreferenceGroupNotFoundException` - Indicates the preference group is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "global_preferences" + ] + } + }, + "/inventory_list_search": { + "post": { + "description": "

\n Searches for inventory lists.\n

\n

\n The query attribute specifies a complex query that can be used to narrow down the search. This is the list of\n searchable attributes:\n

\n ", + "operationId": "postInventoryListSearch", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/search_request" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/inventory_list_search_result" + } + }, + "400": { + "description": "`MalformedSearchParameterException` - Thrown if the query is ill-formed. or `MalformedSelectorException` - Thrown if the given selector is invalid." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "inventory_list_search" + ] + } + }, + "/inventory_lists": { + "get": { + "description": "Action to get all the inventory lists with no filtering.", + "operationId": "getInventoryLists", + "parameters": [ + { + "description": "Optional start index for retrieving the items from a given index (default 0).", + "format": "int32", + "in": "query", + "name": "start", + "type": "integer" + }, + { + "description": "Optional count for retrieving only a subset of the items (default is 25).", + "format": "int32", + "in": "query", + "name": "count", + "type": "integer" + }, + { + "description": "The property selector.", + "in": "query", + "name": "select", + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/inventory_lists" + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "inventory_lists" + ] + } + }, + "/inventory_lists/{id}": { + "delete": { + "description": "Deletes the inventory list by ID", + "operationId": "deleteInventoryListsByID", + "parameters": [ + { + "description": "One inventory list id to remove", + "in": "path", + "name": "id", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "inventory_lists" + ] + }, + "get": { + "description": "Action to get inventory list information.", + "operationId": "getInventoryListsByID", + "parameters": [ + { + "description": "The id of the requested inventory list.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/inventory_list" + } + }, + "404": { + "description": "`InventoryListNotFoundException` - Thrown in case the inventory list does not exist matching the given id" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "inventory_lists" + ] + }, + "patch": { + "description": "Updates the inventory list with the specified information.", + "operationId": "patchInventoryListsByID", + "parameters": [ + { + "description": "The id of the requested inventory list.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/inventory_list" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/inventory_list" + } + }, + "404": { + "description": "`InventoryListNotFoundException` - Thrown in case the inventory list does not exist matching the given id" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "inventory_lists" + ] + }, + "put": { + "description": "Creates an inventory list using the information provided.", + "operationId": "putInventoryListsByID", + "parameters": [ + { + "description": "The id of the inventory list to create.", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/inventory_list" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/inventory_list" + } + }, + "400": { + "description": "`IdConflictException` - if the Id in request is not the same as the ID in document." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "inventory_lists" + ] + } + }, + "/inventory_lists/{inventory_list_id}/product_inventory_records": { + "get": { + "description": "Gets all product inventory records for an inventory list.", + "operationId": "getInventoryListsByIDProductInventoryRecords", + "parameters": [ + { + "description": "The inventory list ID", + "in": "path", + "minLength": 1, + "name": "inventory_list_id", + "required": true, + "type": "string" + }, + { + "description": "Optional start index for retrieving the items from a given index (default 0).", + "format": "int32", + "in": "query", + "name": "start", + "type": "integer" + }, + { + "description": "Optional count for retrieving only a subset of the items (default is 25).", + "format": "int32", + "in": "query", + "name": "count", + "type": "integer" + }, + { + "description": "The property selector.", + "in": "query", + "name": "select", + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/product_inventory_records" + } + }, + "404": { + "description": "`InventoryListNotFoundException` - Indicates the inventory list does not exist." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "inventory_lists" + ] + } + }, + "/inventory_lists/{inventory_list_id}/product_inventory_records/{product_id}": { + "delete": { + "description": "Deletes a product inventory record by ID.", + "operationId": "deleteInventoryListsByIDProductInventoryRecordsByID", + "parameters": [ + { + "description": "The inventory list ID", + "in": "path", + "minLength": 1, + "name": "inventory_list_id", + "required": true, + "type": "string" + }, + { + "description": "The product ID", + "in": "path", + "minLength": 1, + "name": "product_id", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`InventoryListNotFoundException` - Indicates the inventory list does not exist. or `ProductInventoryRecordNotFoundException` - Indicates the product inventory record does not exist." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "inventory_lists" + ] + }, + "get": { + "description": "Gets a product inventory record.", + "operationId": "getInventoryListsByIDProductInventoryRecordsByID", + "parameters": [ + { + "description": "The inventory list ID", + "in": "path", + "minLength": 1, + "name": "inventory_list_id", + "required": true, + "type": "string" + }, + { + "description": "The product ID", + "in": "path", + "minLength": 1, + "name": "product_id", + "required": true, + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/product_inventory_record" + } + }, + "404": { + "description": "`InventoryListNotFoundException` - Indicates the inventory list does not exist. or `ProductInventoryRecordNotFoundException` - Indicates the product inventory record does not exist." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "inventory_lists" + ] + }, + "patch": { + "description": "Updates the product inventory record with the specified information.", + "operationId": "patchInventoryListsByIDProductInventoryRecordsByID", + "parameters": [ + { + "description": "The inventory list ID", + "in": "path", + "minLength": 1, + "name": "inventory_list_id", + "required": true, + "type": "string" + }, + { + "description": "The product ID", + "in": "path", + "minLength": 1, + "name": "product_id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/product_inventory_record" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/product_inventory_record" + } + }, + "404": { + "description": "`InventoryListNotFoundException` - Indicates the inventory list does not exist. or `ProductInventoryRecordNotFoundException` - Indicates the product inventory record does not exist." + }, + "409": { + "description": "`ConflictException` - Indicates a concurrent update" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "inventory_lists" + ] + }, + "put": { + "description": "Creates a product inventory record using the information provided.", + "operationId": "putInventoryListsByIDProductInventoryRecordsByID", + "parameters": [ + { + "description": "The inventory list ID", + "in": "path", + "minLength": 1, + "name": "inventory_list_id", + "required": true, + "type": "string" + }, + { + "description": "The product ID", + "in": "path", + "minLength": 1, + "name": "product_id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/product_inventory_record" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/product_inventory_record" + } + }, + "404": { + "description": "`InventoryListNotFoundException` - Indicates the inventory list does not exist." + }, + "409": { + "description": "`ConflictException` - Indicates a concurrent update" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "inventory_lists" + ] + } + }, + "/job_execution_search": { + "post": { + "description": "Searches for job executions.\n

\n The query attribute specifies a complex query that can be used to narrow down the search. This is the list of\n searchable attributes:\n

\n This is the list of sortable attributes:\n ", + "operationId": "postJobExecutionSearch", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/search_request" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/job_execution_search_result" + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "job_execution_search" + ] + } + }, + "/jobs/{job_id}/executions": { + "post": { + "description": "Executes the job with the given job ID by creating and returning a job execution for it. The job might still be\n executed when the job execution is returned. Note that this resource is also intended for running system jobs.\n

\n See Global Jobs for information on available system jobs.\n

", + "operationId": "postJobsByIDExecutions", + "parameters": [ + { + "description": "The ID of the job to execute.", + "in": "path", + "minLength": 1, + "name": "job_id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/string" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/job_execution" + } + }, + "400": { + "description": "`JobAlreadyRunningException` - if the job is\n already running. or `JobExecutionException` - if the job could\n not be executed. or `JobInvalidException` - if the job is invalid\n and is therefore not executable. or `JobNotRestartableException` - if the job\n does not support restarting. or `JobRestartException` - if the job could not\n be restarted." + }, + "404": { + "description": "`JobNotFoundException` - if the job with the given job ID\n doesn't exist." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "jobs" + ] + } + }, + "/jobs/{job_id}/executions/{id}": { + "delete": { + "description": "Deletes job execution information using the specified ID for the job having the specified job ID.", + "operationId": "deleteJobsByIDExecutionsByID", + "parameters": [ + { + "description": "the ID of the job.", + "in": "path", + "minLength": 1, + "name": "job_id", + "required": true, + "type": "string" + }, + { + "description": "the ID of the job execution", + "in": "path", + "name": "id", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "" + }, + "403": { + "description": "`JobExecutionNotFinishedException` - if the\n job execution is not finished." + }, + "404": { + "description": "`JobExecutionNotFoundException` - for an\n unknown job ID or job execution ID" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "jobs" + ] + }, + "get": { + "description": "Returns job execution information using the specified ID for the job having the specified job ID.", + "operationId": "getJobsByIDExecutionsByID", + "parameters": [ + { + "description": "the ID of the job.", + "in": "path", + "minLength": 1, + "name": "job_id", + "required": true, + "type": "string" + }, + { + "description": "the ID of the job execution", + "in": "path", + "name": "id", + "required": true, + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/job_execution" + } + }, + "404": { + "description": "`JobExecutionNotFoundException` - for an\n unknown job ID or job execution ID" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "jobs" + ] + } + }, + "/libraries/{library_id}/content/{content_id}": { + "delete": { + "description": "Deletes the content asset with the specified ID from the specified library. If the content asset is not found, the server returns a 404 (NotFoundException) fault. If the content asset is locked by another user, the server returns a 409 (ResourceLockedException) fault. If the connection is not secure, the server returns a 403 (SecureCommunicationRequiredException) fault.", + "operationId": "deleteLibrariesByIDContentByID", + "parameters": [ + { + "description": "ID of the shared library or the site-id in case of a private library.", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "library_id", + "required": true, + "type": "string" + }, + { + "description": "the ID of the content asset to remove.", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "content_id", + "required": true, + "type": "string" + } + ], + "responses": { + "412": { + "description": "`ResourceLockedException` - Indicates that the ID from the request body doesn't match the URL-Id." + }, + "204": { + "description": "" + }, + "404": { + "description": "`ContentNotFoundException` - Indicates that the content asset with the given id is unknown. or `LibraryNotFoundException` - Indicates that library with the given id is unknown." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "libraries" + ] + }, + "get": { + "description": "Returns a content asset using the specified ID. If the content asset cannot be found, the server returns a 404 (ContentNotFoundException) fault. If the connection is not secure, the server returns a 403 (SecureCommunicationRequiredException).", + "operationId": "getLibrariesByIDContentByID", + "parameters": [ + { + "description": "ID of the shared library or the site-id in case of a private library.", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "library_id", + "required": true, + "type": "string" + }, + { + "description": "the ID of the content asset to retrieve.", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "content_id", + "required": true, + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/content_asset" + } + }, + "404": { + "description": "`ContentNotFoundException` - Indicates that the content asset with the given id is unknown. or `LibraryNotFoundException` - Indicates that library with the given id is unknown." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "libraries" + ] + }, + "patch": { + "description": "Updates a content asset. In the request, the If-Match header is required. The value of the header is an 'ETag' representing the last known base-point information for the content asset. If the header is missing, the server returns a 409 (IfMatchRequiredException) fault. If the header value does not match the server's 'ETag', the server returns a 412 (InvalidIfMatchException) fault. The delta information for the library folder containing the content asset is updated atomically: the information is written completely or not at all. If the content asset is locked, the server returns a 409 (ResourceLockedException) fault.", + "operationId": "patchLibrariesByIDContentByID", + "parameters": [ + { + "description": "ID of the shared library or the site-id in case of a private library.", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "library_id", + "required": true, + "type": "string" + }, + { + "description": "the ID of the content asset to retrieve.", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "content_id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/content_asset" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/content_asset" + } + }, + "400": { + "description": "`ContentIdAlreadyInUseException` - Indicates that a content asset with the ID to change to is already existing." + }, + "412": { + "description": "`ResourceLockedException` - Indicates that the ID from the request body doesn't match the URL-Id." + }, + "404": { + "description": "`ContentNotFoundException` - Indicates that the content asset with the given id is unknown. or `LibraryNotFoundException` - Indicates that library with the given id is unknown." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "libraries" + ] + }, + "put": { + "description": "Creates a new content asset in the specified library, or overwrites an existing content asset. If a content asset with the specified ID already exists, the server completely overwrites the content asset. Please note: Existing folder assignments are not touched. If the existing content asset is locked, the server returns a 409 (ResourceLockedException) fault. If the connection is not secure, the server returns a 403 (SecureCommunicationRequiredException) fault.", + "operationId": "putLibrariesByIDContentByID", + "parameters": [ + { + "description": "ID of the shared library or the site-id in case of a private library.", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "library_id", + "required": true, + "type": "string" + }, + { + "description": "the ID of the content asset to retrieve.", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "content_id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/content_asset" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/content_asset" + } + }, + "400": { + "description": "`IdConflictException` - Indicates that the ID from the request body doesn't match the URL-Id." + }, + "412": { + "description": "`ResourceLockedException` - Indicates that the ID from the request body doesn't match the URL-Id." + }, + "404": { + "description": "`ContentNotFoundException` - Indicates that the content asset with the given id is unknown. or `LibraryNotFoundException` - Indicates that library with the given id is unknown." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "libraries" + ] + } + }, + "/libraries/{library_id}/content/{content_id}/folders": { + "get": { + "description": "Action to get all assigned folders of a content asset.", + "operationId": "getLibrariesByIDContentByIDFolders", + "parameters": [ + { + "description": "ID of the shared library or the site-id in case of a private library.", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "library_id", + "required": true, + "type": "string" + }, + { + "description": "The content id of the assignment.", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "content_id", + "required": true, + "type": "string" + }, + { + "description": "The result set index to return the first instance for. Default value is 0.", + "format": "int32", + "in": "query", + "minimum": 0, + "name": "start", + "type": "integer" + }, + { + "description": "The maximum number of instances per request. Default value is 25.", + "format": "int32", + "in": "query", + "maximum": 200, + "minimum": 1, + "name": "count", + "type": "integer" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/content_folder_result" + } + }, + "404": { + "description": "`ContentNotFoundException` - Indicates that the content asset with the given id is unknown. or `LibraryNotFoundException` - Indicates that library with the given id is unknown." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "libraries" + ] + } + }, + "/libraries/{library_id}/folder_assignments/{content_id}/{folder_id}": { + "delete": { + "description": "Action to unassign a content asset from the specified library folder.", + "operationId": "deleteLibrariesByIDFolderAssignmentsByIDByID", + "parameters": [ + { + "description": "ID of the shared library or the site-id in case of a private library.", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "library_id", + "required": true, + "type": "string" + }, + { + "description": "the ID of the content asset to retrieve.", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "content_id", + "required": true, + "type": "string" + }, + { + "description": "ID of a target folder.", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "folder_id", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`AssignmentNotFoundException` - Indicates that no assignment between the given content asset and folder exists or `ContentNotFoundException` - Indicates that the content asset with the given id is unknown. or `LibraryNotFoundException` - Indicates that library with the given id is unknown. or `ParentFolderNotFoundException` - Indicates that the parent folder with the given id is unknown." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "libraries" + ] + }, + "get": { + "description": "Action to get a single content to folder assignment", + "operationId": "getLibrariesByIDFolderAssignmentsByIDByID", + "parameters": [ + { + "description": "ID of the shared library or the site-id in case of a private library.", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "library_id", + "required": true, + "type": "string" + }, + { + "description": "the ID of the content asset to retrieve.", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "content_id", + "required": true, + "type": "string" + }, + { + "description": "ID of a target folder.", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "folder_id", + "required": true, + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/content_folder_assignment" + } + }, + "404": { + "description": "`AssignmentNotFoundException` - Indicates that no assignment between the given content asset and folder exists or `ContentNotFoundException` - Indicates that the content asset with the given id is unknown. or `LibraryNotFoundException` - Indicates that library with the given id is unknown. or `ParentFolderNotFoundException` - Indicates that the parent folder with the given id is unknown." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "libraries" + ] + }, + "patch": { + "description": "Action to update a single content to folder assignment. Currently only the position and default attribute can be changed.", + "operationId": "patchLibrariesByIDFolderAssignmentsByIDByID", + "parameters": [ + { + "description": "ID of the shared library or the site-id in case of a private library.", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "library_id", + "required": true, + "type": "string" + }, + { + "description": "the content id of the assignment", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "content_id", + "required": true, + "type": "string" + }, + { + "description": "ID of a target folder.", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "folder_id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/content_folder_assignment" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/content_folder_assignment" + } + }, + "404": { + "description": "`AssignmentNotFoundException` - Indicates that no assignment between the given content asset and folder exists. or `ContentNotFoundException` - Indicates that the content asset with the given id is unknown. or `FolderNotFoundException` - Indicates that the folder with the given id is unknown. or `LibraryNotFoundException` - Indicates that library with the given id is unknown." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "libraries" + ] + }, + "put": { + "description": "Action to assign a content asset to a specified folder.", + "operationId": "putLibrariesByIDFolderAssignmentsByIDByID", + "parameters": [ + { + "description": "the ID of the shared library or the site-id in case of a private library", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "library_id", + "required": true, + "type": "string" + }, + { + "description": "the content id", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "content_id", + "required": true, + "type": "string" + }, + { + "description": "the folder id", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "folder_id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/content_folder_assignment" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/content_folder_assignment" + } + }, + "404": { + "description": "`ContentNotFoundException` - Indicates that the content asset with the given id is unknown. or `LibraryNotFoundException` - Indicates that library with the given id is unknown. or `ParentFolderNotFoundException` - Indicates that the parent folder with the given id is unknown." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "libraries" + ] + } + }, + "/libraries/{library_id}/folders/{folder_id}": { + "delete": { + "description": "Delete folder", + "operationId": "deleteLibrariesByIDFoldersByID", + "parameters": [ + { + "description": "ID of the shared library or the site-id in case of a private library.", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "library_id", + "required": true, + "type": "string" + }, + { + "description": "ID of a target folder.", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "folder_id", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`LibraryNotFoundException` - Indicates that library with the given id is unknown." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "libraries" + ] + }, + "get": { + "description": "Action to get folder information.", + "operationId": "getLibrariesByIDFoldersByID", + "parameters": [ + { + "description": "ID of the shared library or the site-id in case of a private library.", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "library_id", + "required": true, + "type": "string" + }, + { + "description": "ID of a target folder.", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "folder_id", + "required": true, + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/content_folder" + } + }, + "404": { + "description": "`FolderNotFoundException` - Indicates that the folder with the given id is unknown. or `LibraryNotFoundException` - Indicates that library with the given id is unknown." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "libraries" + ] + }, + "patch": { + "description": "Updates an existing folder. In the request, the If-Match header is required. The value of the header is an 'ETag' representing the last known base-point information for the library folder. If the header is missing, the server returns a 409 (IfMatchRequiredException) fault. If the header value does not match the server's 'ETag', the server returns a 412 (InvalidIfMatchException) fault. The delta information for the library folder is updated atomically: the information is written completely or not at all.", + "operationId": "patchLibrariesByIDFoldersByID", + "parameters": [ + { + "description": "ID of the shared library or the site-id in case of a private library.", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "library_id", + "required": true, + "type": "string" + }, + { + "description": "ID of a target folder.", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "folder_id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/content_folder" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/content_folder" + } + }, + "400": { + "description": "`ContentFolderIdAlreadyInUseException` - Indicates that a content folder with the ID to change to is already existing." + }, + "404": { + "description": "`FolderNotFoundException` - Indicates that the folder with the given id is unknown. or `LibraryNotFoundException` - Indicates that library with the given id is unknown." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "libraries" + ] + }, + "put": { + "description": "Action to create a new library folder, or to replace an existing folder. This action completely overwrites existing folders. Please note: Sub folders and assignments to content assets are not touched. This action ignores the folder ID in the input document.", + "operationId": "putLibrariesByIDFoldersByID", + "parameters": [ + { + "description": "ID of the shared library or the site-id in case of a private library.", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "library_id", + "required": true, + "type": "string" + }, + { + "description": "ID of a target folder.", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "folder_id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/content_folder" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/content_folder" + } + }, + "400": { + "description": "`IdConflictException` - Indicates that the ID from the request body doesn't match the URL-Id." + }, + "404": { + "description": "`LibraryNotFoundException` - Indicates that library with the given id is unknown. or `ParentFolderNotFoundException` - Indicates that the parent folder with the given id is unknown." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "libraries" + ] + } + }, + "/libraries/{library_id}/folders/{folder_id}/content": { + "get": { + "description": "Action to get all assigned content assets of a folder.", + "operationId": "getLibrariesByIDFoldersByIDContent", + "parameters": [ + { + "description": "ID of the shared library or the site-id in case of a private library.", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "library_id", + "required": true, + "type": "string" + }, + { + "description": "ID of a target folder.", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "folder_id", + "required": true, + "type": "string" + }, + { + "description": "The result set index to return the first instance for. Default value is 0.", + "format": "int32", + "in": "query", + "minimum": 0, + "name": "start", + "type": "integer" + }, + { + "description": "The maximum number of instances per request. Default value is 25.", + "format": "int32", + "in": "query", + "maximum": 200, + "minimum": 1, + "name": "count", + "type": "integer" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/content_asset_result" + } + }, + "404": { + "description": "`FolderNotFoundException` - Indicates that the folder with the given id is unknown. or `LibraryNotFoundException` - Indicates that library with the given id is unknown." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "libraries" + ] + } + }, + "/libraries/{library_id}/folders/{folder_id}/sub_folders": { + "get": { + "description": "Action to get sub folders information.", + "operationId": "getLibrariesByIDFoldersByIDSubFolders", + "parameters": [ + { + "description": "ID of the shared library or the site-id in case of a private library.", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "library_id", + "required": true, + "type": "string" + }, + { + "description": "ID of a target folder.", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "folder_id", + "required": true, + "type": "string" + }, + { + "description": "The result set index to return the first instance for. Default value is 0.", + "format": "int32", + "in": "query", + "minimum": 0, + "name": "start", + "type": "integer" + }, + { + "description": "The maximum number of instances per request. Default value is 25.", + "format": "int32", + "in": "query", + "maximum": 200, + "minimum": 1, + "name": "count", + "type": "integer" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/content_sub_folder_result" + } + }, + "404": { + "description": "`FolderNotFoundException` - Indicates that the folder with the given id is unknown. or `LibraryNotFoundException` - Indicates that library with the given id is unknown." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "libraries" + ] + } + }, + "/locale_info/locales": { + "get": { + "description": "Action to get the set of active locales for which the user has read or write permission.", + "operationId": "getLocaleInfoLocales", + "parameters": [ + { + "description": "optional locale to return by id. If specified, that locale is looked up and returned, otherwise the\n list is returned.", + "in": "query", + "name": "id", + "type": "string" + }, + { + "description": "the set of fields to return from the request. Default is only the locale id.", + "in": "query", + "name": "select", + "type": "string" + }, + { + "description": "the start index for paging. Default is 0.", + "format": "int32", + "in": "query", + "name": "start", + "type": "integer" + }, + { + "description": "the count of the records to return in this page. Default is 25.", + "format": "int32", + "in": "query", + "name": "count", + "type": "integer" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/locale_result" + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "locale_info" + ] + } + }, + "/log_requests/ecdn": { + "post": { + "description": "Requests a LogFile-Fetching for the passed zone and time frame.", + "operationId": "postLogRequestsEcdn", + "parameters": [ + { + "description": "Request body", + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ecdn_log_fetch_request" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/ecdn_log_fetch_response" + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "log_requests" + ] + } + }, + "/log_requests/ecdn/{id}": { + "get": { + "description": "Retrieves the current execution status of the log file fetching.", + "operationId": "getLogRequestsEcdnByID", + "parameters": [ + { + "description": "ID of the log fetching execution", + "in": "path", + "name": "id", + "required": true, + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/ecdn_log_fetch_response" + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "log_requests" + ] + } + }, + "/metrics/{apitype}": { + "get": { + "description": "The metrics resource provides insights into runtimes of individual OCAPI requests against the shop or the data-API. Responses of the metrics resource are JSON wrapped metrics in Prometheus Exposition format. For each OCAPI resource, following metrics are available for the given dimension and the current time-frame (1-minute averages). Refer to the documentation of the response document for a detailed description of the metrics and dimensions exposed by this API.", + "operationId": "getMetricsByID", + "parameters": [ + { + "description": "Type of the api. Values are data or shop .", + "in": "path", + "minLength": 1, + "name": "apitype", + "required": true, + "type": "string" + }, + { + "description": "Optional offset of the result set not counting commentaries or empty lines.", + "format": "int32", + "in": "query", + "minimum": 0, + "name": "offset", + "type": "integer" + }, + { + "description": "Optional limit of the result set not counting commentaries or empty lines.", + "format": "int32", + "in": "query", + "maximum": 4500, + "minimum": 1, + "name": "limit", + "type": "integer" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/metric_response" + } + }, + "400": { + "description": "`TooManyRequestsException` - Too many requests." + }, + "403": { + "description": "`FeatureNotEnabledException` - Feature not enabled." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "metrics" + ] + } + }, + "/ocapi_configs/{clientId}": { + "delete": { + "description": "Delete a client.", + "operationId": "deleteOcapiConfigsByID", + "parameters": [ + { + "description": "Id of the client to be deleted.", + "in": "path", + "minLength": 1, + "name": "clientId", + "required": true, + "type": "string" + } + ], + "responses": { + "400": { + "description": "`InvalidOCAPIConfigException` - Indicates that the resulting config is not valid or `SelfUpdateException` - Write operation on self is not allowed. (The clientId being used for calling this API should be different from target clientId)" + }, + "204": { + "description": "" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "ocapi_configs" + ] + }, + "get": { + "description": "Get all allowed resources for the client.", + "operationId": "getOcapiConfigsByID", + "parameters": [ + { + "description": "client ID", + "in": "path", + "minLength": 1, + "name": "clientId", + "required": true, + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/ocapi_configs_api_response" + } + }, + "400": { + "description": "`InvalidOCAPIConfigException` - Indicates that at least one of the existing configs can not be parsed" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "ocapi_configs" + ] + }, + "post": { + "description": "Add a client to existing OCAPI configurations. Return errors when client already exists.", + "operationId": "postOcapiConfigsByID", + "parameters": [ + { + "description": "client ID", + "in": "path", + "minLength": 1, + "name": "clientId", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ocapi_configs_api_request" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/ocapi_configs_api_response" + } + }, + "400": { + "description": "`InvalidOCAPIConfigException` - Indicates that the resulting config is not valid or `SelfUpdateException` - Write operation on self is not allowed. (The clientId being used for calling this API should be different from target clientId)" + }, + "404": { + "description": "`SiteNotFoundException` - Indicates that at least one of the target sites is unknown" + }, + "409": { + "description": "`DuplicateClientIdException` - Indicates that the client id already exists in original OCAPI configuration" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "ocapi_configs" + ] + }, + "put": { + "description": "Add a client to existing OCAPI configurations. Overwrite config if the client already exists.", + "operationId": "putOcapiConfigsByID", + "parameters": [ + { + "description": "client ID", + "in": "path", + "minLength": 1, + "name": "clientId", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ocapi_configs_api_request" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/ocapi_configs_api_response" + } + }, + "400": { + "description": "`InvalidOCAPIConfigException` - Indicates that the resulting config is not valid or `SelfUpdateException` - Write operation on self is not allowed. (The clientId being used for calling this API should be different from target clientId)" + }, + "404": { + "description": "`SiteNotFoundException` - Indicates that at least one of the target sites is unknown" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "ocapi_configs" + ] + } + }, + "/permissions": { + "get": { + "description": "Get application specific permissions per type.", + "operationId": "getPermissions", + "parameters": [ + { + "description": "The permission expand. A comma separated list with the allowed values (bm, csc).", + "in": "query", + "items": { + "type": "string" + }, + "name": "expand", + "type": "array" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/application_permissions" + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "permissions" + ] + } + }, + "/permissions/bm": { + "get": { + "description": "Get Business Manager permissions per type.", + "operationId": "getPermissionsBm", + "parameters": [ + { + "description": "The permission expand. A comma separated list with the allowed values \n (module, functional, webdav, locale).", + "in": "query", + "items": { + "type": "string" + }, + "name": "expand", + "type": "array" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/bmpermissions" + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "permissions" + ] + } + }, + "/permissions/bm/functional": { + "get": { + "description": "Get functional permissions per scope.", + "operationId": "getPermissionsBmFunctional", + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/functional_permissions" + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "permissions" + ] + } + }, + "/permissions/bm/locale": { + "get": { + "description": "Get locale permissions per scope.", + "operationId": "getPermissionsBmLocale", + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/locale_permissions" + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "permissions" + ] + } + }, + "/permissions/bm/module": { + "get": { + "description": "Get Business Manager module permissions per scope.", + "operationId": "getPermissionsBmModule", + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/module_permissions" + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "permissions" + ] + } + }, + "/permissions/bm/webdav": { + "get": { + "description": "Get WebDAV permissions per scope.", + "operationId": "getPermissionsBmWebdav", + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/webdav_permissions" + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "permissions" + ] + } + }, + "/permissions/csc": { + "get": { + "description": "Get permissions per type.", + "operationId": "getPermissionsCsc", + "parameters": [ + { + "description": "The permission expand. A comma separated list with the allowed values \n (module, functional, webdav, locale).", + "in": "query", + "items": { + "type": "string" + }, + "name": "expand", + "type": "array" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/cscpermissions" + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "permissions" + ] + } + }, + "/permissions/csc/module": { + "get": { + "description": "Get CSC module permissions per scope.", + "operationId": "getPermissionsCscModule", + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/module_permissions" + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "permissions" + ] + } + }, + "/product_search": { + "post": { + "description": "

Searches for products.

\n\n

Note: This resource does not return information about product master and product variation relationships. Use the ProductSearch SHOP API resource to retrieve more details about product relationships.

\n\n

The query attribute specifies a complex query that can be used to narrow down the search. Attributes are grouped\n into different buckets. These are the list of searchable attributes with their corresponding buckets:

\n\n

Main:

\n \n

Catalog:

\n \n

Category:

\n \n

Special:

\n \n\n

The sortable properties are:

\n \n\n

When you specify a catalog_id or category_id, only products explicitly assigned to that catalog or \n category are returned. For example, if a product with variants is assigned to a catalog, but its \n variants are not, searching on that catalog_id only returns the main product, not the variants. This \n behavior is different from that of the product search in Business Manager, which returns products\n that inherit the selected catalog or category assignment.

\n\n

Only attributes in the same bucket can be joined using a disjunction (OR).\n For instance, when joining id and catalog_id above, only a conjunction is allowed (AND), whereas id\n and searchable can be joined using a disjunction because they are in the same bucket. If an attribute\n is used in a disjunction (OR) that violates this rule, an exception will be thrown.

\n\n

The product search retrieves additional properties of the product when expansions are used.\n\tThe available expand attribute values are:

\n ", + "operationId": "postProductSearch", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/search_request" + } + }, + { + "description": "The site context.", + "in": "query", + "name": "site_id", + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/product_search_result" + } + }, + "400": { + "description": "`MalformedSearchParameterException` - Indicates the search query is ill-formed." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "product_search" + ] + } + }, + "/products/{id}": { + "delete": { + "description": "Deletes the product by ID", + "operationId": "deleteProductsByID", + "parameters": [ + { + "description": "The product ID.", + "in": "path", + "maxLength": 100, + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`ProductNotFoundException` - Indicates the product is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + }, + "get": { + "description": "Action to get product information.", + "operationId": "getProductsByID", + "parameters": [ + { + "description": "The product ID.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "description": "The site context.", + "in": "query", + "name": "site_id", + "type": "string" + }, + { + "description": "The list of expansions that can be applied to the product. They are:\n \t\t \n Note that only variants with variation values are retrieved for a product of type variation master.", + "in": "query", + "items": { + "type": "string" + }, + "name": "expand", + "type": "array" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/product" + } + }, + "404": { + "description": "`ProductNotFoundException` - Indicates the product is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + }, + "patch": { + "description": "Update a product using the information provided.\n\n Fields that can be updated:\n name, page_description, long_description, page_title,\n page_keywords, brand, ean,upc, manufacture_sku,\n manufacture_name, searchable, unit, searchable,\n online_flag, default_variant_id, valid_to,\n valid_from, tax_class_id, localized_tax_class_id.", + "operationId": "patchProductsByID", + "parameters": [ + { + "description": "The product ID.", + "in": "path", + "maxLength": 100, + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/product" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/product" + } + }, + "400": { + "description": "`IdConflictException` - Indicates the ID in request URL does not match the ID in the product document. or `ProductDefaultVariantException` - Indicates there is a problem to set default variant for a product." + }, + "404": { + "description": "`ProductNotFoundException` - Indicates the product to be updated is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + }, + "put": { + "description": "Creates a product using the information provided. If a product exists with the same identifier, it is\n cleared and overwritten unless the request includes the header x-dw-validate-existing=true.\n Note that the following read-only attributes aren't replaced: assigned_categories , bundled_products , classification_category , creation_date , default_variant_id , image , image_groups , last_modified , owning_catalog_name , price_per_unit , primary_categories , primary_category_id , product_bundles , product_options , product_sets , set_products , type , variants , variation_attributes , variation_groups , and variation_values .", + "operationId": "putProductsByID", + "parameters": [ + { + "description": "The product ID.", + "in": "path", + "maxLength": 100, + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/product" + } + }, + { + "in": "header", + "name": "x-dw-validate-existing", + "type": "boolean" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/product" + } + }, + "400": { + "description": "`IdConflictException` - Indicates the ID in request URL does not match the ID in the product document. or `ProductDuplicateException` - Indicate the product is already existed. or `ProductInvalidException` - Indicates the catalog is not provided in the request." + }, + "404": { + "description": "`CatalogNotFoundException` - Indicates the catalog is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + } + }, + "/products/{id}/variant_search": { + "post": { + "description": "

Searches product variations for master product or variation group product.

\n \n

The query attribute specifies a complex query that can be used to narrow down the search. This is the list\n of searchable attributes:

\n \n

Sortable Fields:

\n \n\n

Note:\n The calculated value of \"online\" and \"searchable\" is used in the search/sort.

\n

A search/sort by the the site specific attributes require the Site ID query parameter to be set.\n They are \"online\", \"in_stock\", \"searchable\" and \"ats\".

\n

We assume that every field that starts with variation_attribute. is searchable and dot is followed by ATTRIBUTE_ID\".

\n\n\n

The list of expansions to retrieve product information. The expand values available are:

\n \t\t ", + "operationId": "postProductsByIDVariantSearch", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/search_request" + } + }, + { + "description": "The product id of master product or variation group product", + "in": "path", + "name": "id", + "required": true, + "type": "string" + }, + { + "description": "The id of the site to get site specific product attributes.", + "in": "query", + "name": "site_id", + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/variant_search_result" + } + }, + "400": { + "description": "`MalformedSearchParameterException` - Thrown if the query is ill-formed. or `ProductNotMasterGroupException` - Thrown if the id is not the product id of a Variation Master product or Variation Group product. or `SiteIdMissingForSiteSpecificFilterException` - Thrown if the Site ID query parameter is missing in the search of Variants by a site-specific product attribute." + }, + "404": { + "description": "`ProductNotFoundException` - Thrown if the product is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + } + }, + "/products/{master_product_id}/variation_groups": { + "get": { + "description": "Reads variation groups for a product master.", + "operationId": "getProductsByIDVariationGroups", + "parameters": [ + { + "description": "The id of the master product.", + "in": "path", + "minLength": 1, + "name": "master_product_id", + "required": true, + "type": "string" + }, + { + "description": "The site context.", + "in": "query", + "name": "site_id", + "type": "string" + }, + { + "description": "The start index of the variation groups to return (defaults to 0).", + "format": "int32", + "in": "query", + "name": "start", + "type": "integer" + }, + { + "description": "The maximum number of variation groups to return (defaults to 25).", + "format": "int32", + "in": "query", + "name": "count", + "type": "integer" + }, + { + "description": "A selector that specifies the fields to return in the variation groups document.", + "in": "query", + "name": "select", + "type": "string" + }, + { + "description": "The valid expands are {price,availability}", + "in": "query", + "items": { + "type": "string" + }, + "name": "expand", + "type": "array" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/variation_groups" + } + }, + "400": { + "description": "`ProductNotMasterException` - Indicates that the given product is not a variation master." + }, + "404": { + "description": "`ProductNotFoundException` - Indicates the master product is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + } + }, + "/products/{master_product_id}/variation_groups/{id}": { + "delete": { + "description": "Unassign a variation group product from a product master. The variation group product is not\n deleted: it remains as a normal product after unsassign.", + "operationId": "deleteProductsByIDVariationGroupsByID", + "parameters": [ + { + "in": "path", + "minLength": 1, + "name": "master_product_id", + "required": true, + "type": "string" + }, + { + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + } + ], + "responses": { + "400": { + "description": "`ProductIsNotVariationGroupException` - Indicates product specified is not a variation group. or `ProductNotMasterException` - Indicates the master product id does not represent a master product." + }, + "204": { + "description": "" + }, + "404": { + "description": "`ProductNotFoundException` - Indicates either the master product or the variation group product cannot be found. or `VariationGroupNotFoundException` - Indicates the product does not belong to the master product." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + }, + "get": { + "description": "Read a variation group for a product master.", + "operationId": "getProductsByIDVariationGroupsByID", + "parameters": [ + { + "description": "The id of the master product that contains the variation group.", + "in": "path", + "minLength": 1, + "name": "master_product_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the variation group product.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "site_id", + "type": "string" + }, + { + "description": "The valid expands are {price,availability}", + "in": "query", + "items": { + "type": "string" + }, + "name": "expand", + "type": "array" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/variation_group" + } + }, + "400": { + "description": "`ProductIsNotVariationGroupException` - Indicates the product specified is not a variation group. or `ProductNotMasterException` - Indicates the master product id does not represent a master product." + }, + "404": { + "description": "`ProductNotFoundException` - Indicates either the master product or the variation group product cannot be found. or `VariationGroupNotFoundException` - Indicates the product does not belong to the master product." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + }, + "patch": { + "description": "Update a variation group for a product master.", + "operationId": "patchProductsByIDVariationGroupsByID", + "parameters": [ + { + "description": "The id of the master product that contains the variation group.", + "in": "path", + "minLength": 1, + "name": "master_product_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the variation group product.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/variation_group" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/variation_group" + } + }, + "400": { + "description": "`ProductIsNotVariationGroupException` - Indicates product specified is not a variation group. or `ProductNotMasterException` - Indicates the master product id does not represent a master product. or `VariationValueNotValidException` - Indicates the values passed are not valid for the variation attributes." + }, + "404": { + "description": "`ProductNotFoundException` - Indicates either the master product or the variation group product cannot be found. or `VariationGroupNotFoundException` - Indicates the product does not belong to the master product." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + }, + "put": { + "description": "Assign a variation group for a product master. If the variation group product does not initially exist,\n one is created using the body passed in.", + "operationId": "putProductsByIDVariationGroupsByID", + "parameters": [ + { + "description": "The id of the master product that contains the variation group.", + "in": "path", + "minLength": 1, + "name": "master_product_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the variation group product.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/variation_group" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/variation_group" + } + }, + "400": { + "description": "`ProductNotMasterException` - Indicates the master product id does not represent a master product. or `VariationValueNotValidException` - Indicates the values passed are not valid for the variation attributes." + }, + "404": { + "description": "`ProductNotFoundException` - Indicates either the master product or the variation group product cannot be found. or `VariationAttributeValueNotFoundException` - Indicates the value passed into a variation attribute is not one found in the valid values." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + } + }, + "/products/{master_product_id}/variations": { + "get": { + "description": "Reads variation for a product master.", + "operationId": "getProductsByIDVariations", + "parameters": [ + { + "description": "The id of the master product.", + "in": "path", + "minLength": 1, + "name": "master_product_id", + "required": true, + "type": "string" + }, + { + "description": "The site context.", + "in": "query", + "name": "site_id", + "type": "string" + }, + { + "description": "The start index of the variations to return (defaults to 0).", + "format": "int32", + "in": "query", + "name": "start", + "type": "integer" + }, + { + "description": "The maximum number of variations to return (defaults to 25).", + "format": "int32", + "in": "query", + "name": "count", + "type": "integer" + }, + { + "description": "A selector that specifies the fields to return in the variations document.", + "in": "query", + "name": "select", + "type": "string" + }, + { + "description": "The valid expands are {price,availability}", + "in": "query", + "items": { + "type": "string" + }, + "name": "expand", + "type": "array" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/variants" + } + }, + "400": { + "description": "`ProductNotMasterException` - Indicates that the given product is not a variation master." + }, + "404": { + "description": "`ProductNotFoundException` - Indicates the master product is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + } + }, + "/products/{master_product_id}/variations/{id}": { + "delete": { + "description": "Unassign a variation product from a product master. The variation product is not deleted: it remains as a\n normal product after unsassign.", + "operationId": "deleteProductsByIDVariationsByID", + "parameters": [ + { + "in": "path", + "minLength": 1, + "name": "master_product_id", + "required": true, + "type": "string" + }, + { + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + } + ], + "responses": { + "400": { + "description": "`ProductIsNotVariationException` - Indicates product specified is not a variation. or `ProductNotMasterException` - Indicates the master product id does not represent a master product." + }, + "204": { + "description": "" + }, + "404": { + "description": "`ProductNotFoundException` - Indicates either the master product or the variation product cannot be found. or `VariationNotFoundException` - Indicates the product does not belong to the master product." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + }, + "get": { + "description": "Read a variation for a product master.", + "operationId": "getProductsByIDVariationsByID", + "parameters": [ + { + "description": "The id of the master product that contains the variation.", + "in": "path", + "minLength": 1, + "name": "master_product_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the variation product.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "site_id", + "type": "string" + }, + { + "description": "The valid expands are {variation,attributes,availability,prices}", + "in": "query", + "items": { + "type": "string" + }, + "name": "expand", + "type": "array" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/variant" + } + }, + "400": { + "description": "`ProductIsNotVariationException` - Indicates the product specified is not a variation. or `ProductNotMasterException` - Indicates the master product id does not represent a master product." + }, + "404": { + "description": "`ProductNotFoundException` - Indicates either the master product or the variation product cannot be found. or `VariationNotFoundException` - Indicates the product does not belong to the master product." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + }, + "patch": { + "description": "Update a variation for a product master.", + "operationId": "patchProductsByIDVariationsByID", + "parameters": [ + { + "description": "The id of the master product that contains the variation.", + "in": "path", + "minLength": 1, + "name": "master_product_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the variation product.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/variant" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/variant" + } + }, + "400": { + "description": "`ProductIsNotVariationException` - Indicates product specified is not a variation. or `ProductNotMasterException` - Indicates the master product id does not represent a master product. or `VariationValueNotValidException` - Indicates the values passed are not valid for the variation attributes." + }, + "404": { + "description": "`ProductNotFoundException` - Indicates either the master product or the variation product cannot be found. or `VariationNotFoundException` - Indicates the product does not belong to the master product." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + }, + "put": { + "description": "Assign a variation for a product master. If the variation product does not initially exist,\n one is created using the body passed in.", + "operationId": "putProductsByIDVariationsByID", + "parameters": [ + { + "description": "The id of the master product that contains the variation.", + "in": "path", + "minLength": 1, + "name": "master_product_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the variation product.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/variant" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/variant" + } + }, + "400": { + "description": "`ProductNotMasterException` - Indicates the master product id does not represent a master product. or `VariationValueNotValidException` - Indicates the values passed are not valid for the variation attributes." + }, + "404": { + "description": "`ProductNotFoundException` - Indicates either the master product or the variation product cannot be found. or `VariationAttributeValueNotFoundException` - Indicates the value passed into a variation attribute is not one found in the valid values." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + } + }, + "/products/{product_id}/product_options": { + "get": { + "description": "Read local and shared product options of a product.", + "operationId": "getProductsByIDProductOptions", + "parameters": [ + { + "description": "The id of the product.", + "in": "path", + "minLength": 1, + "name": "product_id", + "required": true, + "type": "string" + }, + { + "description": "Optional start index for retrieving the items from a given index (default 0).", + "format": "int32", + "in": "query", + "name": "start", + "type": "integer" + }, + { + "description": "Optional count for retrieving only a subset of the items (default is 25).", + "format": "int32", + "in": "query", + "name": "count", + "type": "integer" + }, + { + "description": "The property selector.", + "in": "query", + "name": "select", + "type": "string" + }, + { + "description": "The currency mnemonic for retrieving the product option values according to the sorting mode.ex:'USD'", + "in": "query", + "name": "currency", + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/product_options" + } + }, + "404": { + "description": "`ProductNotFoundException` - Indicates the product is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + } + }, + "/products/{product_id}/product_options/{id}": { + "delete": { + "description": "Deletes a local product option or unbinds a shared product option from the product.", + "operationId": "deleteProductsByIDProductOptionsByID", + "parameters": [ + { + "description": "The id of the product.", + "in": "path", + "minLength": 1, + "name": "product_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the local or shared product option.", + "in": "path", + "name": "id", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`ProductNotFoundException` - Indicates the product is not found. or `ProductOptionNotFoundException` - Indicates the local or shared product option is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + }, + "get": { + "description": "Read a local or shared product option of a product.", + "operationId": "getProductsByIDProductOptionsByID", + "parameters": [ + { + "description": "The id of the product.", + "in": "path", + "minLength": 1, + "name": "product_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the local or shared product option.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "description": "The currency mnemonic for retrieving the product option values according to the sorting mode.ex:'USD'", + "in": "query", + "name": "currency", + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/product_option" + } + }, + "404": { + "description": "`ProductNotFoundException` - Indicates the product is not found. or `ProductOptionNotFoundException` - Indicates the local or shared product option is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + }, + "patch": { + "description": "Updates a local product option with the information provided.", + "operationId": "patchProductsByIDProductOptionsByID", + "parameters": [ + { + "description": "The id of the product.", + "in": "path", + "minLength": 1, + "name": "product_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the local product option.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/product_option" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/product_option" + } + }, + "400": { + "description": "`ProductOptionUpdateException` - Indicates the shared product option cannot be updated." + }, + "404": { + "description": "`ProductNotFoundException` - Indicates the product is not found. or `ProductOptionNotFoundException` - Indicates the local product option is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + }, + "put": { + "description": "Creates a local product option using the information provided or binds a shared product option to the product.", + "operationId": "putProductsByIDProductOptionsByID", + "parameters": [ + { + "description": "The id of the product.", + "in": "path", + "minLength": 1, + "name": "product_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the local or shared product option.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/product_option" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/product_option" + } + }, + "400": { + "description": "`ProductOptionCreateException` - Indicates the local product option cannot be created for a product of type variation group." + }, + "404": { + "description": "`ProductNotFoundException` - Indicates the product is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + } + }, + "/products/{product_id}/product_options/{option_id}/values": { + "get": { + "description": "Read local product option values of a local product option in a product.", + "operationId": "getProductsByIDProductOptionsByIDValues", + "parameters": [ + { + "description": "The id of the product.", + "in": "path", + "minLength": 1, + "name": "product_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the local product option.", + "in": "path", + "minLength": 1, + "name": "option_id", + "required": true, + "type": "string" + }, + { + "description": "Optional start index for retrieving the items from a given index (default 0).", + "format": "int32", + "in": "query", + "name": "start", + "type": "integer" + }, + { + "description": "Optional count for retrieving only a subset of the items (default is 25).", + "format": "int32", + "in": "query", + "name": "count", + "type": "integer" + }, + { + "description": "The property selector.", + "in": "query", + "name": "select", + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/product_option_values" + } + }, + "404": { + "description": "`ProductNotFoundException` - Indicates the product is not found. or `ProductOptionNotFoundException` - Indicates the local product option is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + } + }, + "/products/{product_id}/product_options/{option_id}/values/{id}": { + "delete": { + "description": "Deletes a local product option value by ID.", + "operationId": "deleteProductsByIDProductOptionsByIDValuesByID", + "parameters": [ + { + "description": "The id of the product.", + "in": "path", + "minLength": 1, + "name": "product_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the local product option.", + "in": "path", + "minLength": 1, + "name": "option_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the local product option value.", + "in": "path", + "name": "id", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`ProductNotFoundException` - Indicates the product is not found. or `ProductOptionNotFoundException` - Indicates the local product option is not found. or `ProductOptionValueNotFoundException` - Indicates the local product option value is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + }, + "get": { + "description": "Read a local product option value of a local product option in a product.", + "operationId": "getProductsByIDProductOptionsByIDValuesByID", + "parameters": [ + { + "description": "The id of the product.", + "in": "path", + "minLength": 1, + "name": "product_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the local product option.", + "in": "path", + "minLength": 1, + "name": "option_id", + "required": true, + "type": "string" + }, + { + "description": "the id of local product option value.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/product_option_value" + } + }, + "404": { + "description": "`ProductNotFoundException` - Indicates the product is not found. or `ProductOptionNotFoundException` - Indicates the local product option is not found. or `ProductOptionValueNotFoundException` - Indicates the local product option value is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + }, + "patch": { + "description": "Updates a local product option value with the information provided.", + "operationId": "patchProductsByIDProductOptionsByIDValuesByID", + "parameters": [ + { + "description": "The id of the product.", + "in": "path", + "minLength": 1, + "name": "product_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the local product option.", + "in": "path", + "minLength": 1, + "name": "option_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the local product option value.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/product_option_value" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/product_option_value" + } + }, + "404": { + "description": "`ProductNotFoundException` - Indicates the product is not found. or `ProductOptionNotFoundException` - Indicates the local product option is not found. or `ProductOptionValueNotFoundException` - Indicates the local product option value is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + }, + "put": { + "description": "Creates a local product option value using the information provided.", + "operationId": "putProductsByIDProductOptionsByIDValuesByID", + "parameters": [ + { + "description": "The id of the product.", + "in": "path", + "minLength": 1, + "name": "product_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the local product option.", + "in": "path", + "minLength": 1, + "name": "option_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the local product option value.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/product_option_value" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/product_option_value" + } + }, + "404": { + "description": "`ProductNotFoundException` - Indicates the product is not found. or `ProductOptionNotFoundException` - Indicates the local product option is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + } + }, + "/products/{product_id}/variation_attributes": { + "get": { + "description": "Reads variation attributes of a product of type variant or variation master or variation group.", + "operationId": "getProductsByIDVariationAttributes", + "parameters": [ + { + "description": "The product ID of a variant or a variation master or a variation group.", + "in": "path", + "minLength": 1, + "name": "product_id", + "required": true, + "type": "string" + }, + { + "format": "int32", + "in": "query", + "name": "start", + "type": "integer" + }, + { + "format": "int32", + "in": "query", + "name": "count", + "type": "integer" + }, + { + "in": "query", + "name": "select", + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/variation_attributes" + } + }, + "404": { + "description": "`ProductNotFoundException` - Indicates the product is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + } + }, + "/products/{product_id}/variation_attributes/{attribute_id}/values": { + "get": { + "description": "Reads variation attribute values of a variation attribute bound to a product.", + "operationId": "getProductsByIDVariationAttributesByIDValues", + "parameters": [ + { + "description": "id of the product", + "in": "path", + "minLength": 1, + "name": "product_id", + "required": true, + "type": "string" + }, + { + "description": "The variation attribute ID that contains the values.", + "in": "path", + "minLength": 1, + "name": "attribute_id", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "site_id", + "type": "string" + }, + { + "description": "the first record to get in the page", + "format": "int32", + "in": "query", + "name": "start", + "type": "integer" + }, + { + "description": "the number of records to get", + "format": "int32", + "in": "query", + "name": "count", + "type": "integer" + }, + { + "description": "a string that specifies which fields to return (default is all).", + "in": "query", + "name": "select", + "type": "string" + }, + { + "description": "set of expands to retrieve additional information: {availability, image}", + "in": "query", + "items": { + "type": "string" + }, + "name": "expand", + "type": "array" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/variation_attribute_values" + } + }, + "400": { + "description": "`ProductNotMasterException` - Indicates the master product is not found." + }, + "404": { + "description": "`ProductNotFoundException` - Indicates the product is not found. or `VariationAttributeNotFoundException` - If the attribute id specified is not a valid product attribute." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + } + }, + "/products/{product_id}/variation_attributes/{attribute_id}/values/{id}": { + "delete": { + "description": "Deletes the variation attribute value of a variation attribute bound to a master product", + "operationId": "deleteProductsByIDVariationAttributesByIDValuesByID", + "parameters": [ + { + "description": "The id of the product.", + "in": "path", + "minLength": 1, + "name": "product_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the variation attribute that contains the value.", + "in": "path", + "minLength": 1, + "name": "attribute_id", + "required": true, + "type": "string" + }, + { + "description": "The id of one value to remove", + "in": "path", + "name": "id", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`ProductNotFoundException` - If the product id specified cannot be found. or `VariationAttributeNotFoundException` - If the attribute id specified is not a valid product attribute. or `VariationAttributeValueNotFoundException` - If the value id specified is not a valid value id." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + }, + "get": { + "description": "Action to get product variation attribute value information.", + "operationId": "getProductsByIDVariationAttributesByIDValuesByID", + "parameters": [ + { + "description": "The master product ID.", + "in": "path", + "minLength": 1, + "name": "product_id", + "required": true, + "type": "string" + }, + { + "description": "The variation attribute custom ID", + "in": "path", + "minLength": 1, + "name": "attribute_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the variation attribute value", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "description": "The site context.", + "in": "query", + "name": "site_id", + "type": "string" + }, + { + "description": "set of expands to retrieve additional information: {availability, image}", + "in": "query", + "items": { + "type": "string" + }, + "name": "expand", + "type": "array" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/variation_attribute_value" + } + }, + "400": { + "description": "`ProductNotMasterException` - Indicates the master product is not found." + }, + "404": { + "description": "`ProductNotFoundException` - Indicates the product is not found. or `VariationAttributeValueNotFoundException` - If the value id specified is not a valid value id." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + }, + "patch": { + "description": "Updates the variation attribute value of a variation attribute of a master product.", + "operationId": "patchProductsByIDVariationAttributesByIDValuesByID", + "parameters": [ + { + "description": "The id of the product.", + "in": "path", + "minLength": 1, + "name": "product_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the requested variation attribute.", + "in": "path", + "minLength": 1, + "name": "attribute_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the variation value.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/variation_attribute_value" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/variation_attribute_value" + } + }, + "404": { + "description": "`ProductNotFoundException` - If the product id specified cannot be found. or `VariationAttributeNotFoundException` - If the attribute id specified is not a valid product attribute. or `VariationAttributeValueNotFoundException` - If the value id specified is not a valid value id." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + }, + "put": { + "description": "Action to create a product variation attribute value.", + "operationId": "putProductsByIDVariationAttributesByIDValuesByID", + "parameters": [ + { + "description": "The master product ID.", + "in": "path", + "minLength": 1, + "name": "product_id", + "required": true, + "type": "string" + }, + { + "description": "The variation attribute ID", + "in": "path", + "minLength": 1, + "name": "attribute_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the variation attribute value", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/variation_attribute_value" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/variation_attribute_value" + } + }, + "400": { + "description": "`ProductNotMasterException` - Indicates the master product is not found." + }, + "404": { + "description": "`ProductNotFoundException` - Indicates the product is not found. or `VariationAttributeNotFoundException` - If the attribute id specified is not a valid product attribute. or `VariationAttributeValueNotFoundException` - If the value id specified is not a valid value id." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + } + }, + "/products/{product_id}/variation_attributes/{id}": { + "delete": { + "description": "Deletes a variation attribute by ID.", + "operationId": "deleteProductsByIDVariationAttributesByID", + "parameters": [ + { + "description": "The id of the product.", + "in": "path", + "minLength": 1, + "name": "product_id", + "required": true, + "type": "string" + }, + { + "description": "One variation attribute id to remove.", + "in": "path", + "name": "id", + "required": true, + "type": "string" + } + ], + "responses": { + "400": { + "description": "`ProductNotMasterException` - Indicates the master product is not found." + }, + "204": { + "description": "" + }, + "404": { + "description": "`ProductNotFoundException` - Indicates the product is not found. or `VariationAttributeNotFoundException` - Indicates that the variation attribute is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + }, + "get": { + "description": "Action to get variation attribute information only for master product.", + "operationId": "getProductsByIDVariationAttributesByID", + "parameters": [ + { + "description": "The product ID of a variant or a variation master or a variation group.", + "in": "path", + "minLength": 1, + "name": "product_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the requested variation attribute.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/variation_attribute" + } + }, + "400": { + "description": "`ProductNotMasterException` - Indicates the master product is not found." + }, + "404": { + "description": "`ProductNotFoundException` - Indicates the product is not found. or `VariationAttributeNotFoundException` - Indicates that the variation attribute is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + }, + "patch": { + "description": "Updates the variation attribute with the specified information.\n\n ", + "operationId": "patchProductsByIDVariationAttributesByID", + "parameters": [ + { + "description": "The id of the product.", + "in": "path", + "minLength": 1, + "name": "product_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the requested variation attribute.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/variation_attribute" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/variation_attribute" + } + }, + "400": { + "description": "`ProductNotMasterException` - Indicates the master product is not found." + }, + "404": { + "description": "`ProductNotFoundException` - Indicates the product is not found. or `VariationAttributeNotFoundException` - Indicates that the variation attribute is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + }, + "put": { + "description": "Creates a local variation attribute using the information provided. This endpoint can't create shared variation attributes. \n To create a shared variation attribute, use the catalogs resource.", + "operationId": "putProductsByIDVariationAttributesByID", + "parameters": [ + { + "description": "The id of the product.", + "in": "path", + "minLength": 1, + "name": "product_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the variation attribute to create.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/variation_attribute" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/variation_attribute" + } + }, + "400": { + "description": "`ProductNotMasterException` - Indicates the master product is not found. or `ProductVariationAttributeDefinitionNotUniqueException` - Indicates that the variation attribute definition is not unique. or `ProductVariationAttributeIDNotUniqueException` - Indicates that the variation attribute id is not unique." + }, + "404": { + "description": "`AttributeDefinitionNotFoundException` - If attribute definition supplied is not a product attribute. or `ProductNotFoundException` - Indicates the product is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + } + }, + "/role_search": { + "post": { + "description": "Searches for access roles.\n

The query attribute specifies a complex query that can be used to narrow down the search. These are the list\n of searchable attributes:

\n \n

Optionally, a user ID (the user login) can be specified. When it is supplied, the search for roles is limited to the\n roles assigned to this user. When expanding the permissions for the roles, all effective permissions for this user can be retrieved.

\n\n

Optionally, a (single) permission can be specified. When it is supplied, the search for roles is limited to the\n roles having this permission. When expanding the users for the roles, all users having this permission can be retrieved.

\n\n

The output of the query can also be sorted. These are the list of sortable attributes:

\n ", + "operationId": "postRoleSearch", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/role_search_request" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/role_search_result" + } + }, + "400": { + "description": "`InvalidSearchQueryException` - Throws when one of the search request restrictions is violated or `MalformedSearchParameterException` - Thrown if the query is ill-formed." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "role_search" + ] + } + }, + "/roles": { + "get": { + "description": "Action to get all the access roles with no filtering.", + "operationId": "getRoles", + "parameters": [ + { + "description": "Optional start index for retrieving the items from a given index (default 0).", + "format": "int32", + "in": "query", + "name": "start", + "type": "integer" + }, + { + "description": "Optional count for retrieving only a subset of the items (default is 25).", + "format": "int32", + "in": "query", + "name": "count", + "type": "integer" + }, + { + "description": "The property selector.", + "in": "query", + "name": "select", + "type": "string" + }, + { + "description": "List of expansions.", + "in": "query", + "items": { + "type": "string" + }, + "name": "expand", + "type": "array" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/roles" + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "roles" + ] + } + }, + "/roles/{id}": { + "delete": { + "description": "Action to delete an access role.", + "operationId": "deleteRolesByID", + "parameters": [ + { + "description": "The id of the access role to delete.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "" + }, + "403": { + "description": "`RoleOperationNotAllowedException` - Thrown if deletion of the given role is not allowed" + }, + "404": { + "description": "`RoleNotFoundException` - Thrown if the given role does not exist" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "roles" + ] + }, + "get": { + "description": "Action to get a single access role.", + "operationId": "getRolesByID", + "parameters": [ + { + "description": "The id of the requested access role.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "description": "The list of expansions.", + "in": "query", + "items": { + "type": "string" + }, + "name": "expand", + "type": "array" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/role" + } + }, + "404": { + "description": "`RoleNotFoundException` - Thrown if the access role with the given id does not exist." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "roles" + ] + }, + "put": { + "description": "Action to create an access role.", + "operationId": "putRolesByID", + "parameters": [ + { + "description": "The id of the access role to create.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/role" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/role" + } + }, + "400": { + "description": "`IdConflictException` - Thrown when id in query parameter is different from the id in the body." + }, + "403": { + "description": "`RoleOperationNotAllowedException` - Thrown when an access role with the id \"Support\" or \"Business Support\" should be created." + }, + "409": { + "description": "`RoleAlreadyExistsException` - Thrown when an access role with the given id already exists." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "roles" + ] + } + }, + "/roles/{id}/permissions": { + "get": { + "description": "Retrieves a list of permissions assigned to the given role.", + "operationId": "getRolesByIDPermissions", + "parameters": [ + { + "description": "The id of the requested access role.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/role_permissions" + } + }, + "404": { + "description": "`RoleNotFoundException` - If the specified access role does not exist." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "roles" + ] + }, + "put": { + "description": "Assigns permissions to the given role. This will replace the current permission assignments. For the 'Administrator'\n role only adjustments for custom module permissions will be processed but other given permissions will be ignored.", + "operationId": "putRolesByIDPermissions", + "parameters": [ + { + "description": "The id of the access role for which the permissions will be set.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/role_permissions" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/role_permissions" + } + }, + "400": { + "description": "`DefaultLocalePermissionMissingException` - If no permission for the 'default' locale is given (permission for 'default' locale is mandatory). or `DuplicatePermissionException` - If a permission is listed more than once within a scope. or `InvalidPermissionTypeException` - If the type of a given permission does not match the expected type. or `InvalidPermissionValueException` - If a permission value is given that is either unknown or not supported for a certain permission. or `InvalidPermissionValueScopeException` - If values are given permission multi values are used where only single values are support or vice versa (e.g. setting 'values' attribute of ModulePermissionWO in organization scope). or `SystemFlagMissingException` - If the 'system' flag is not set for a module permission. or `UnknownPermissionException` - If the id of a given permission could not be resolved to a permission. or `UnknownSiteIdException` - If a site specific permission is given for a site that is not known." + }, + "404": { + "description": "`RoleNotFoundException` - If the specified access role does not exist." + }, + "409": { + "description": "`ResourceStateConflictException` - In case of state token conflicts." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "roles" + ] + } + }, + "/roles/{id}/user_search": { + "post": { + "description": "Searches for users of the specified access role.\n

The query attribute specifies a complex query that can be used to narrow down the search. These are the list\n of searchable attributes:

\n \n\n

The output of the query can also be sorted. These are the list of sortable attributes:

\n ", + "operationId": "postRolesByIDUserSearch", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/search_request" + } + }, + { + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/user_search_result" + } + }, + "400": { + "description": "`MalformedSearchParameterException` - Thrown if the query is ill-formed." + }, + "404": { + "description": "`RoleNotFoundException` - If the specified access role does not exist." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "roles" + ] + } + }, + "/roles/{id}/users": { + "get": { + "description": "Action to get all the users assigned to the specified access role.", + "operationId": "getRolesByIDUsers", + "parameters": [ + { + "description": "ID of the access role.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "description": "Optional start index for retrieving the items from a given index (default 0).", + "format": "int32", + "in": "query", + "name": "start", + "type": "integer" + }, + { + "description": "Optional count for retrieving only a subset of the items (default is 25).", + "format": "int32", + "in": "query", + "name": "count", + "type": "integer" + }, + { + "description": "The property selector.", + "in": "query", + "name": "select", + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/users" + } + }, + "404": { + "description": "`RoleNotFoundException` - Thrown if the access role with the given id does not exist." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "roles" + ] + } + }, + "/roles/{id}/users/{login}": { + "delete": { + "description": "Action to unassign a user to an access role", + "operationId": "deleteRolesByIDUsersByID", + "parameters": [ + { + "description": "ID of the access role.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "description": "Login of the user.", + "in": "path", + "minLength": 1, + "name": "login", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "" + }, + "403": { + "description": "`UserOperationNotAllowedException` - Thrown if the admin user is unassigned from the Administrator role." + }, + "404": { + "description": "`RoleNotFoundException` - Thrown if the access role with the given id does not exist. or `UserNotFoundException` - Thrown if a user with the given login does not exist." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "roles" + ] + }, + "put": { + "description": "Action to assign a user to an access role", + "operationId": "putRolesByIDUsersByID", + "parameters": [ + { + "description": "ID of the access role.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "description": "Login of the user.", + "in": "path", + "minLength": 1, + "name": "login", + "required": true, + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/user" + } + }, + "400": { + "description": "`InvalidRoleException` - Thrown if the access role with the given id does not exist. or `InvalidUserLoginException` - Thrown if a user with the given login does not exist." + }, + "403": { + "description": "`UserOperationNotAllowedException` - Thrown if the operation is not allowed." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "roles" + ] + } + }, + "/settings/logging/custom": { + "get": { + "description": "Action to get custom log settings.", + "operationId": "getSettingsLoggingCustom", + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/custom_log_settings" + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "settings" + ] + }, + "patch": { + "description": "Updates the custom log settings.", + "operationId": "patchSettingsLoggingCustom", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/custom_log_settings" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/custom_log_settings" + } + }, + "400": { + "description": "`InvalidCustomLogCategoryException` - if one of the categories names are invalid. or `InvalidLogLevelException` - if on a production instance the configured level is DEBUG. or `InvalidRecipientEmailException` - if the email addresses are invalid." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "settings" + ] + } + }, + "/site_preferences/preference_groups/{group_id}/{instance_type}/preference_search": { + "post": { + "description": "

Search preferences across sites in the specified preference group and instance.

\n

\n

The query attribute specifies a complex query that can be used to narrow down the search.

\n\n

The following is a list of searchable fields:

\n\n \n\n

* value_type can only be joined with other attributes using a conjunction (AND).

\n

Note that only searchable attributes can be used in sorting.

\n\n

Note: If instance type sandbox is used, the preference values of development instance type will be returned as fallback.

", + "operationId": "postSitePreferencesPreferenceGroupsByIDByIDPreferenceSearch", + "parameters": [ + { + "description": "An instance type, one of {staging,development,sandbox,production}.", + "in": "path", + "name": "instance_type", + "required": true, + "type": "string" + }, + { + "description": "The ID of the preference group.", + "in": "path", + "name": "group_id", + "required": true, + "type": "string" + }, + { + "description": "The preference values of type Password are masked when set.", + "in": "query", + "name": "mask_passwords", + "type": "boolean" + }, + { + "description": "The expand \"value\" is available to retrieve value definitions of the attribute definition.", + "in": "query", + "items": { + "type": "string" + }, + "name": "expand", + "type": "array" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/search_request" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/preference_value_search_result" + } + }, + "400": { + "description": "`MalformedSearchParameterException` - Indicates the query is ill-formed." + }, + "404": { + "description": "`CustomPreferenceGroupNotFoundException` - Indicates the preference group is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "site_preferences" + ] + } + }, + "/site_preferences/preference_groups/{group_id}/{instance_type}/preferences/{preference_id}": { + "get": { + "description": "Get a preference across sites in the specified preference group and instance.\n\n

Note: If instance type sandbox is used, the preference values of development instance type will be returned as fallback.

", + "operationId": "getSitePreferencesPreferenceGroupsByIDByIDPreferencesByID", + "parameters": [ + { + "description": "An instance type, one of {staging,development,sandbox,production}.", + "in": "path", + "name": "instance_type", + "required": true, + "type": "string" + }, + { + "description": "The ID of the preference group.", + "in": "path", + "name": "group_id", + "required": true, + "type": "string" + }, + { + "description": "The ID of the preference to retrieve.", + "in": "path", + "minLength": 1, + "name": "preference_id", + "required": true, + "type": "string" + }, + { + "description": "The preference values of type Password are masked when set.", + "in": "query", + "name": "mask_passwords", + "type": "boolean" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/preference_value" + } + }, + "404": { + "description": "`CustomPreferenceGroupNotFoundException` - Indicates the preference group is not found. or `PreferenceNotFoundException` - Indicates the preference is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "site_preferences" + ] + } + }, + "/site_search": { + "post": { + "description": "

Searches for sites.

\n \n

The query attribute specifies a complex query that can be used to narrow down the search. These are the list\n of searchable attributes:

\n \n\n

The output of the query can also be sorted. These are the list of sortable attributes:

\n ", + "operationId": "postSiteSearch", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/search_request" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/site_search_result" + } + }, + "400": { + "description": "`EnumConstraintViolationException` - Thrown if the invalid value is entered for access_type or `MalformedSearchParameterException` - Thrown if the query is ill-formed." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "site_search" + ] + } + }, + "/sites": { + "get": { + "description": "Action to get all existing sites.", + "operationId": "getSites", + "parameters": [ + { + "description": "Optional start index for retrieving the items from a given index (default 0).", + "format": "int32", + "in": "query", + "name": "start", + "type": "integer" + }, + { + "description": "Optional count for retrieving only a subset of the items (default is 25).", + "format": "int32", + "in": "query", + "name": "count", + "type": "integer" + }, + { + "description": "The property selector.", + "in": "query", + "name": "select", + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/sites" + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}": { + "get": { + "description": "Action to read an existing site.", + "operationId": "getSitesByID", + "parameters": [ + { + "description": "the id of the site", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/site" + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/ab_test_search": { + "post": { + "description": "

Searches for A/B Tests.

The query attribute specifies a complex query that can be used to narrow down the search. This is the list of searchable attributes:

These fields can only be used in Queries as conjunctions (using AND). If the field is used in a disjunction (OR) an exception will be thrown.

The output of the query can also be sorted. These are the list of sortable attributes:

", + "operationId": "postSitesByIDAbTestSearch", + "parameters": [ + { + "description": "ID of the site that the A/B tests are contained within.", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/search_request" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/ab_test_search_result" + } + }, + "404": { + "description": "`SiteNotFoundException` - Indicates that site specified with the given id is unknown." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/ab_tests": { + "get": { + "description": "Action to get all the A/B tests with searching.", + "operationId": "getSitesByIDAbTests", + "parameters": [ + { + "description": "ID of the site that the A/B tests are contained within.", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "Optional start index for retrieving the items from a given index (default 0).", + "format": "int32", + "in": "query", + "minimum": 0, + "name": "start", + "type": "integer" + }, + { + "description": "Optional count for retrieving only a subset of the items (default is 25).", + "format": "int32", + "in": "query", + "minimum": 0, + "name": "count", + "type": "integer" + }, + { + "description": "The property selector.", + "in": "query", + "name": "select", + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/ab_tests" + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/ab_tests/{ab_test_id}/segments/{segment_id}/promotions/{promotion_id}": { + "delete": { + "description": "Action to unbind one promotions from a given abTest.", + "operationId": "deleteSitesByIDAbTestsByIDSegmentsByIDPromotionsByID", + "parameters": [ + { + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The abTest ID that promotions are to be unbound from", + "in": "path", + "minLength": 1, + "name": "ab_test_id", + "required": true, + "type": "string" + }, + { + "description": "the segment to bind to", + "in": "path", + "minLength": 1, + "name": "segment_id", + "required": true, + "type": "string" + }, + { + "description": "The ID of the promotion that is to be assigned to the abTest.", + "in": "path", + "minLength": 1, + "name": "promotion_id", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`ABTestNotFoundException` - Indicates that the abTest with the given abTest ID is not found. or `ABTestSegmentNotFoundException` - thrown when the segment with the given id is not found. or `PromotionNotFoundException` - thrown when promotion is not found for one of the specified promotion ids. or `SiteNotFoundException` - thrown when the site with the given id is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "put": { + "description": "Action to bind a single promotion to a given abTest.", + "operationId": "putSitesByIDAbTestsByIDSegmentsByIDPromotionsByID", + "parameters": [ + { + "description": "The ID of the site that contains the abTest and promotion.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The ID of the abTest which contains the segment.", + "in": "path", + "minLength": 1, + "name": "ab_test_id", + "required": true, + "type": "string" + }, + { + "description": "The ID of the segment to to which the promotion is to be assigned.", + "in": "path", + "minLength": 1, + "name": "segment_id", + "required": true, + "type": "string" + }, + { + "description": "The ID of the promotion that is to be assigned to the abTest.", + "in": "path", + "minLength": 1, + "name": "promotion_id", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`ABTestNotFoundException` - Indicates that the abTest with the given abTest ID is not found. or `ABTestSegmentNotFoundException` - thrown when the segment with the given id is not found. or `PromotionNotFoundException` - Indicates that the promotion with the given promotion ID is not found. or `SiteNotFoundException` - thrown when the site with the given id is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/ab_tests/{ab_test_id}/segments/{segment_id}/slot_configurations/{slot_id}/{slot_config_id}": { + "delete": { + "description": "Action to unbind a slot configuration from a given abTest.", + "operationId": "deleteSitesByIDAbTestsByIDSegmentsByIDSlotConfigurationsByIDByID", + "parameters": [ + { + "description": "The id of the abTest", + "in": "path", + "minLength": 1, + "name": "ab_test_id", + "required": true, + "type": "string" + }, + { + "in": "path", + "minLength": 1, + "name": "segment_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the site", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The of the slot", + "in": "path", + "minLength": 1, + "name": "slot_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the slot configuration", + "in": "path", + "minLength": 1, + "name": "slot_config_id", + "required": true, + "type": "string" + }, + { + "description": "The context string, which consists of three parts: the context type (which must be folder,\n category or global), an equals sign (=), and the context id (either the category id or folder id).", + "in": "query", + "minLength": 1, + "name": "context", + "type": "string" + } + ], + "responses": { + "400": { + "description": "`InvalidContextTypeException` - Indicates the slot context type is not one of \"global\", \"category\", or \"folder\"" + }, + "204": { + "description": "" + }, + "404": { + "description": "`ABTestNotFoundException` - Indicates that the abTest with the given abTest ID is not found. or `ABTestSegmentNotFoundException` - thrown when the segment with the given id is not found. or `SiteNotFoundException` - thrown when the site with the given id is not found. or `SlotConfigurationIdentifierNotFoundException` - Indicates that the slot with the given slot ID, slot configuration ID and context type is not found. or `SlotWithContextTypeNotFoundException` - Indicates that the slot with the given slot ID and context type is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "put": { + "description": "Action to bind a slot configuration to a given abTest.", + "operationId": "putSitesByIDAbTestsByIDSegmentsByIDSlotConfigurationsByIDByID", + "parameters": [ + { + "description": "The id of the abTest", + "in": "path", + "minLength": 1, + "name": "ab_test_id", + "required": true, + "type": "string" + }, + { + "in": "path", + "minLength": 1, + "name": "segment_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the site", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The of the slot", + "in": "path", + "minLength": 1, + "name": "slot_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the slot configuration", + "in": "path", + "minLength": 1, + "name": "slot_config_id", + "required": true, + "type": "string" + }, + { + "description": "The context string, which consists of three parts: the context type (which must be folder,\n category or global), an equals sign (=), and the context id (either the category id or folder id).\n If you do not set this query parameter, the global context is used by default.", + "in": "query", + "minLength": 1, + "name": "context", + "type": "string" + } + ], + "responses": { + "400": { + "description": "`InvalidContextTypeException` - Indicates the slot context type is not one of \"global\", \"category\", or \"folder\"" + }, + "204": { + "description": "" + }, + "404": { + "description": "`ABTestNotFoundException` - Indicates that the abTest with the given abTest ID is not found. or `ABTestSegmentNotFoundException` - thrown when the segment with the given id is not found. or `SiteNotFoundException` - thrown when the site with the given id is not found. or `SlotConfigurationIdentifierNotFoundException` - Indicates that the slot with the given slot ID, slot configuration ID and context type is not found. or `SlotWithContextTypeNotFoundException` - Indicates that the slot with the given slot ID and context type is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/ab_tests/{ab_test_id}/segments/{segment_id}/sorting_rules/{sorting_rule_id}/{category_id}": { + "delete": { + "description": "Action to unbind a single sorting rule from a given abTest.", + "operationId": "deleteSitesByIDAbTestsByIDSegmentsByIDSortingRulesByIDByID", + "parameters": [ + { + "description": "The ID of the site that contains the abTest, sorting rule and category.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The ID of the abTest to which the sorting rule is to be assigned.", + "in": "path", + "minLength": 1, + "name": "ab_test_id", + "required": true, + "type": "string" + }, + { + "in": "path", + "minLength": 1, + "name": "segment_id", + "required": true, + "type": "string" + }, + { + "description": "The ID of sorting rule that is to be assigned to the abTest.", + "in": "path", + "minLength": 1, + "name": "sorting_rule_id", + "required": true, + "type": "string" + }, + { + "description": "The ID of the category that is associated with the sorting rule.", + "in": "path", + "minLength": 1, + "name": "category_id", + "required": true, + "type": "string" + }, + { + "description": "the optional context of the sorting rule, either \"site\" (default) or \"global\"", + "in": "query", + "name": "rule_context", + "type": "string" + } + ], + "responses": { + "400": { + "description": "`InvalidCategoryException` - Indicates that the category with the given category ID is not found." + }, + "204": { + "description": "" + }, + "404": { + "description": "`ABTestNotFoundException` - Indicates that the abTest with the given abTest ID is not found. or `ABTestSegmentNotFoundException` - thrown when the segment with the given id is not found. or `SiteNotFoundException` - thrown when the site with the given id is not found. or `SortingRuleNotFoundException` - Indicates that the sorting rule with the given sorting rule ID is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "put": { + "description": "Action to bind a single sorting rule to a given abTest.", + "operationId": "putSitesByIDAbTestsByIDSegmentsByIDSortingRulesByIDByID", + "parameters": [ + { + "description": "The ID of the site that contains the abTest, sorting rule and category.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The ID of the abTest to which the sorting rule is to be assigned.", + "in": "path", + "minLength": 1, + "name": "ab_test_id", + "required": true, + "type": "string" + }, + { + "in": "path", + "minLength": 1, + "name": "segment_id", + "required": true, + "type": "string" + }, + { + "description": "The ID of sorting rule that is to be assigned to the abTest.", + "in": "path", + "minLength": 1, + "name": "sorting_rule_id", + "required": true, + "type": "string" + }, + { + "description": "The ID of the category that is associated with the sorting rule.", + "in": "path", + "minLength": 1, + "name": "category_id", + "required": true, + "type": "string" + }, + { + "description": "the optional context of the sorting rule, either \"site\" (default) or \"global\"", + "in": "query", + "name": "rule_context", + "type": "string" + } + ], + "responses": { + "400": { + "description": "`InvalidCategoryException` - Indicates that the category with the given category ID is not found." + }, + "204": { + "description": "" + }, + "404": { + "description": "`ABTestNotFoundException` - Indicates that the abTest with the given abTest ID is not found. or `ABTestSegmentNotFoundException` - thrown when the segment with the given id is not found. or `SiteNotFoundException` - thrown when the site with the given id is not found. or `SortingRuleNotFoundException` - Indicates that the sorting rule with the given sorting rule ID is not found." + }, + "409": { + "description": "`SortingRuleCampaignAssignConflictException` - Indicates that there is a sorting rule already assigned to the given abTest ID and category ID.\n The sorting rule with the given sorting rule ID cannot be assigned to the same abTest ID and category ID." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/ab_tests/{id}": { + "delete": { + "description": "Deletes the A/B Test by ID", + "operationId": "deleteSitesByIDAbTestsByID", + "parameters": [ + { + "description": "ID of the site that the A/B tests are contained within.", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the requested A/B Test.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`SiteNotFoundException` - Indicates that site specified with the given id is unknown. or `ABTestNotFoundException` - Thrown in case the A/B Test does not exist matching the given id" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "get": { + "description": "Action to get an A/B Test information.", + "operationId": "getSitesByIDAbTestsByID", + "parameters": [ + { + "description": "ID of the site that the A/B tests are contained within.", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the requested A/B Test.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "description": "The expand parameter. A comma separated list with the allowed values (stats, promotions, sorting_rules, slot_configs)", + "in": "query", + "items": { + "type": "string" + }, + "name": "expand", + "type": "array" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/ab_test" + } + }, + "404": { + "description": "`SiteNotFoundException` - Indicates that site specified with the given id is unknown. or `ABTestNotFoundException` - Thrown in case the A/B Test does not exist matching the given id" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "patch": { + "description": "Updates the A/B Test with the specified information.", + "operationId": "patchSitesByIDAbTestsByID", + "parameters": [ + { + "description": "ID of the site that the A/B tests are contained within.", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the requested A/B Test.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/ab_test" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/ab_test" + } + }, + "400": { + "description": "`ABTestInvalidEmailException` - Thrown if an invalid email is specified. or `ABTestInvalidPipelineException` - Thrown if an invalid pipeline is specified. or `ABTestInvalidTriggerException` - Thrown if there is missing pipline_call or categories in the specified trigger of type pipeline_call or category_view_page respectively." + }, + "404": { + "description": "`SiteNotFoundException` - Indicates that site specified with the given id is unknown. or `ABTestNotFoundException` - Thrown in case the A/B Test does not exist matching the given id" + }, + "409": { + "description": "`ABTestDuplicateException` - Thrown if an A/B Test exists already in the site with the given identifier specified in the body that is different from the identifier in the path." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "put": { + "description": "Creates an A/B Test using the information provided. If an A/B Test with the same unique identifier exists, it will be deleted and a new one will be created unless the header x-dw-validate-existing=true is passed in with the request.", + "operationId": "putSitesByIDAbTestsByID", + "parameters": [ + { + "description": "ID of the site that the A/B tests are contained within.", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the requested A/B Test.", + "in": "path", + "maxLength": 40, + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/ab_test" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/ab_test" + } + }, + "400": { + "description": "`ABTestInvalidEmailException` - Thrown if an invalid email is specified. or `ABTestInvalidPipelineException` - Thrown if an invalid pipeline is specified. or `ABTestInvalidTriggerException` - Thrown if there is missing pipline_call or categories in the specified trigger of type pipeline_call or category_view_page respectively." + }, + "404": { + "description": "`SiteNotFoundException` - Indicates that site specified with the given id is unknown. or `ABTestNotFoundException` - Thrown in case the A/B Test does not exist matching the given id" + }, + "409": { + "description": "`ABTestDuplicateException` - If an A/B Test exists already in the site with the given identifier and the header\nx-dw-validate-existing=true is passed in with the request." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/ab_tests/{id}/segments/{segment_id}": { + "delete": { + "description": "Deletes the A/B Test Segment by ID", + "operationId": "deleteSitesByIDAbTestsByIDSegmentsByID", + "parameters": [ + { + "description": "ID of the site that the A/B tests are contained within.", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the requested A/B Test.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "description": "The id of the segment in the test.", + "in": "path", + "minLength": 1, + "name": "segment_id", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`SiteNotFoundException` - Indicates that site specified with the given id is unknown. or `ABTestNotFoundException` - Thrown in case the A/B Test does not exist matching the given id or `ABTestSegmentNotFoundException` - Thrown if the segment cannot be found in the A/B Test provided" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "get": { + "description": "Gets an A/B Test segment using the information provided.", + "operationId": "getSitesByIDAbTestsByIDSegmentsByID", + "parameters": [ + { + "description": "ID of the site that the A/B tests are contained within.", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the requested A/B Test.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "description": "The id of the segment in the test.", + "in": "path", + "minLength": 1, + "name": "segment_id", + "required": true, + "type": "string" + }, + { + "description": "The expand parameter. A comma separated list with the allowed values (stats, promotions, sorting_rules, slot_configs)", + "in": "query", + "items": { + "type": "string" + }, + "name": "expand", + "type": "array" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/ab_test_segment" + } + }, + "404": { + "description": "`SiteNotFoundException` - Indicates that site specified with the given id is unknown. or `ABTestNotFoundException` - Thrown in case the A/B Test does not exist matching the given id or `ABTestSegmentNotFoundException` - Thrown if the segment cannot be found in the A/B Test provided" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "patch": { + "description": "Updates the A/B Test segment with the specified information.", + "operationId": "patchSitesByIDAbTestsByIDSegmentsByID", + "parameters": [ + { + "description": "ID of the site that the A/B tests are contained within.", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the requested A/B Test.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "description": "The id of the segment in the test.", + "in": "path", + "minLength": 1, + "name": "segment_id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/ab_test_segment" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/ab_test_segment" + } + }, + "404": { + "description": "`SiteNotFoundException` - Indicates that site specified with the given id is unknown. or `ABTestNotFoundException` - Thrown in case the A/B Test does not exist matching the given id or `ABTestSegmentNotFoundException` - Thrown if the segment cannot be found in the A/B Test provided" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "put": { + "description": "Creates an A/B Test segment using the information provided.", + "operationId": "putSitesByIDAbTestsByIDSegmentsByID", + "parameters": [ + { + "description": "ID of the site that the A/B tests are contained within.", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the requested A/B Test.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "description": "The id of the segment in the test.", + "in": "path", + "minLength": 1, + "name": "segment_id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/ab_test_segment" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/ab_test_segment" + } + }, + "404": { + "description": "`SiteNotFoundException` - Indicates that site specified with the given id is unknown. or `ABTestNotFoundException` - Thrown in case the A/B Test does not exist matching the given id or `ABTestSegmentNotFoundException` - Thrown if the segment cannot be found in the A/B Test provided" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/ai/recommender_names": { + "get": { + "description": "Get a list of available AI recommenders. Recommenders are configured in the Einstein configurator and are required with AI recommendation API requests.", + "operationId": "getSitesByIDAiRecommenderNames", + "parameters": [ + { + "description": "Site ID to get a list of recommenders for.", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/recommenders_result" + } + }, + "400": { + "description": "`CQuotientException` - If CQuotient responds with a non-success status code." + }, + "404": { + "description": "`SiteNotFoundException` - If the given site does not exist." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/campaign_search": { + "post": { + "description": "

Searches for campaigns.

\n \n

The Campaign Search document contains a search object that allows filtering on various attributes.

\n \n\n

The query attribute specifies a complex query that can be used to narrow down the search. These are the list\n of searchable attributes:

\n \n\n

These fields can only be used in Queries as conjunctions (using AND). If the field is used in a disjunction\n (OR) an exception will be thrown.

\n\n

Note that only searchable attributes (excluding the ones marked with above with an asterisk) can be used in sorting\n Additionally start_date, end_date and last_modified cannot be used in sorting.

", + "operationId": "postSitesByIDCampaignSearch", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/search_request" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/campaign_search_result" + } + }, + "400": { + "description": "`MalformedSearchParameterException` - Thrown if the query is ill-formed." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/campaigns/{campaign_id}": { + "delete": { + "description": "Deletes the campaign by ID", + "operationId": "deleteSitesByIDCampaignsByID", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "A campaign id to remove", + "in": "path", + "name": "campaign_id", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "get": { + "description": "Action to get campaign information.", + "operationId": "getSitesByIDCampaignsByID", + "parameters": [ + { + "description": "The site the requested campaign belongs to.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the requested campaign.", + "in": "path", + "minLength": 1, + "name": "campaign_id", + "required": true, + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/campaign" + } + }, + "404": { + "description": "`CampaignNotFoundException` - Thrown in case the campaign does not exist matching the given id" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "patch": { + "description": "Updates the campaign with the specified information.", + "operationId": "patchSitesByIDCampaignsByID", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the requested campaign.", + "in": "path", + "minLength": 1, + "name": "campaign_id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/campaign" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/campaign" + } + }, + "400": { + "description": "`CampaignDuplicateException` - if a campaign exists already in the site with the given campaign id." + }, + "404": { + "description": "`CampaignNotFoundException` - Thrown in case the campaign does not exist matching the given id" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "put": { + "description": "Creates a campaign using the information provided.", + "operationId": "putSitesByIDCampaignsByID", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the campaign to create.", + "in": "path", + "minLength": 1, + "name": "campaign_id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/campaign" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/campaign" + } + }, + "400": { + "description": "`IdConflictException` - if the Id in request is not the same as the ID in document." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/campaigns/{campaign_id}/coupons/{coupon_id}": { + "delete": { + "description": "Action to unbind a coupon from a given campaign.", + "operationId": "deleteSitesByIDCampaignsByIDCouponsByID", + "parameters": [ + { + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The campaign ID that coupons are to be unbound from", + "in": "path", + "minLength": 1, + "name": "campaign_id", + "required": true, + "type": "string" + }, + { + "description": "The coupon ID to unbind from a campaign", + "in": "path", + "minLength": 1, + "name": "coupon_id", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "removeInPCA", + "type": "string" + } + ], + "responses": { + "400": { + "description": "`ConstraintViolationException` - Indicates some parameter constraint violation occurs" + }, + "204": { + "description": "" + }, + "404": { + "description": "`CampaignNotFoundException` - Indicates that the campaign with the given campaign id\n \t\t\t\tis unknown." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "put": { + "description": "Action to bind a single coupon to a given campaign.", + "operationId": "putSitesByIDCampaignsByIDCouponsByID", + "parameters": [ + { + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The campaign ID that coupons are to be bound to", + "in": "path", + "minLength": 1, + "name": "campaign_id", + "required": true, + "type": "string" + }, + { + "description": "The coupon ID to bind to a campaign", + "in": "path", + "minLength": 1, + "name": "coupon_id", + "required": true, + "type": "string" + } + ], + "responses": { + "400": { + "description": "`ConstraintViolationException` - Indicates some parameter constraint violation occurs" + }, + "204": { + "description": "" + }, + "404": { + "description": "`CampaignNotFoundException` - Indicates that the campaign with the given campaign id\n \t\t\t\tis unknown." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/campaigns/{campaign_id}/customer_groups/{customer_group_id}": { + "delete": { + "description": "Action to unbind a customer group from a given campaign.", + "operationId": "deleteSitesByIDCampaignsByIDCustomerGroupsByID", + "parameters": [ + { + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The campaign ID that coupons are to be unbound from", + "in": "path", + "minLength": 1, + "name": "campaign_id", + "required": true, + "type": "string" + }, + { + "description": "The customer group ID to unbind from a campaign", + "in": "path", + "minLength": 1, + "name": "customer_group_id", + "required": true, + "type": "string" + } + ], + "responses": { + "400": { + "description": "`ConstraintViolationException` - Indicates some parameter constraint violation occurs" + }, + "204": { + "description": "" + }, + "404": { + "description": "`CampaignNotFoundException` - Indicates that the campaign with the given campaign id\n is unknown." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "put": { + "description": "Action to bind a single customer group to a given campaign.", + "operationId": "putSitesByIDCampaignsByIDCustomerGroupsByID", + "parameters": [ + { + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The campaign ID that coupons are to be bound to", + "in": "path", + "minLength": 1, + "name": "campaign_id", + "required": true, + "type": "string" + }, + { + "description": "The customer group ID to bind to a campaign", + "in": "path", + "minLength": 1, + "name": "customer_group_id", + "required": true, + "type": "string" + } + ], + "responses": { + "400": { + "description": "`ConstraintViolationException` - Indicates some parameter constraint violation occurs" + }, + "204": { + "description": "" + }, + "404": { + "description": "`CampaignNotFoundException` - Indicates that the campaign with the given campaign id\n is unknown." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/campaigns/{campaign_id}/promotions/{promotion_id}": { + "delete": { + "description": "Action to unbind a single promotion from a given campaign.", + "operationId": "deleteSitesByIDCampaignsByIDPromotionsByID", + "parameters": [ + { + "description": "The ID of the site that contains the campaign and promotion.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The ID of the campaign to which the promotion is to be assigned.", + "in": "path", + "minLength": 1, + "name": "campaign_id", + "required": true, + "type": "string" + }, + { + "description": "The ID of the promotion that is to be assigned to the campaign.", + "in": "path", + "minLength": 1, + "name": "promotion_id", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`CampaignNotFoundException` - Indicates that the campaign with the given campaign ID is not found. or `PromotionNotFoundException` - Indicates that the campaign with the given promotion ID is not found. or `SiteNotFoundException` - thrown when site with the given site id is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "patch": { + "description": "Action to update the assignment of promotion to a campaign.", + "operationId": "patchSitesByIDCampaignsByIDPromotionsByID", + "parameters": [ + { + "description": "The ID of the campaign.", + "in": "path", + "minLength": 1, + "name": "campaign_id", + "required": true, + "type": "string" + }, + { + "description": "The ID of the site.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The ID of the promotion.", + "in": "path", + "minLength": 1, + "name": "promotion_id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/promotion_campaign_assignment" + } + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`CampaignNotFoundException` - Indicates that the campaign with the given campaign ID is not found. or `CouponNotFoundException` - Indicates that the coupon with the given coupon ID is not found. or `CustomerGroupNotFoundException` - Indicates that the customer group with the given customer group ID is not\n found. or `PromotionNotFoundException` - Indicates that the promotion with the given promotion ID is not found. or `SiteNotFoundException` - thrown when site with the given site id is not found. or `SourceCodeGroupNotFoundException` - Indicates that the source code group with the given source code group ID\n is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "put": { + "description": "Action to bind a single promotion to a given campaign.", + "operationId": "putSitesByIDCampaignsByIDPromotionsByID", + "parameters": [ + { + "description": "The ID of the site that contains the campaign and promotion.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The ID of the campaign to which the promotion is to be assigned.", + "in": "path", + "minLength": 1, + "name": "campaign_id", + "required": true, + "type": "string" + }, + { + "description": "The ID of the promotion that is to be assigned to the campaign.", + "in": "path", + "minLength": 1, + "name": "promotion_id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/promotion_campaign_assignment" + } + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`CampaignNotFoundException` - Indicates that the campaign with the given campaign ID is not found. or `PromotionNotFoundException` - Indicates that the promotion with the given promotion ID is not found. or `SiteNotFoundException` - thrown when site with the given site id is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/campaigns/{campaign_id}/slot_configurations/{slot_id}/{slot_config_id}": { + "delete": { + "description": "Action to unbind a slot configuration from a given campaign.", + "operationId": "deleteSitesByIDCampaignsByIDSlotConfigurationsByIDByID", + "parameters": [ + { + "description": "The id of the campaign", + "in": "path", + "minLength": 1, + "name": "campaign_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the site", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The of the slot", + "in": "path", + "minLength": 1, + "name": "slot_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the slot configuration", + "in": "path", + "minLength": 1, + "name": "slot_config_id", + "required": true, + "type": "string" + }, + { + "description": "The context string, which consists of three parts: the context type (which must be folder,\n category or global), an equals sign (=), and the context id (either the category id or folder id).", + "in": "query", + "minLength": 1, + "name": "context", + "type": "string" + } + ], + "responses": { + "400": { + "description": "`InvalidContextTypeException` - Indicates the slot context type is not one of \"global\", \"category\", or\n \"folder\"" + }, + "204": { + "description": "" + }, + "404": { + "description": "`CampaignNotFoundException` - Indicates that the campaign with the given campaign ID is not found. or `SiteNotFoundException` - thrown when site with the given site id is not found. or `SlotConfigurationIdentifierNotFoundException` - Indicates that the slot with the given slot ID, slot\n configuration ID and context type is not found. or `SlotWithContextTypeNotFoundException` - Indicates that the slot with the given slot ID and context type is\n not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "patch": { + "description": "Action to update the assignment of slot configuration to a campaign.", + "operationId": "patchSitesByIDCampaignsByIDSlotConfigurationsByIDByID", + "parameters": [ + { + "description": "The ID of the campaign.", + "in": "path", + "minLength": 1, + "name": "campaign_id", + "required": true, + "type": "string" + }, + { + "description": "The ID of the site.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The ID of the slot.", + "in": "path", + "minLength": 1, + "name": "slot_id", + "required": true, + "type": "string" + }, + { + "description": "The ID of the slot configuration.", + "in": "path", + "minLength": 1, + "name": "slot_config_id", + "required": true, + "type": "string" + }, + { + "description": "The context string, which consists of three parts: the context type (which must be folder,\n category or global), an equals sign (=), and the context id (either the category id or folder id). If\n you do not set this query parameter, the global context is used by default.", + "in": "query", + "minLength": 1, + "name": "context", + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/slot_configuration_campaign_assignment" + } + } + ], + "responses": { + "400": { + "description": "`InvalidContextTypeException` - Indicates the slot context type is not one of \"global\", \"category\", or\n \"folder\"" + }, + "204": { + "description": "" + }, + "404": { + "description": "`CampaignNotFoundException` - Indicates that the campaign with the given campaign ID is not found. or `SiteNotFoundException` - thrown when site with the given site id is not found. or `SlotConfigurationIdentifierNotFoundException` - Indicates that the slot with the given slot ID, slot\n configuration ID and context type is not found. or `SlotWithContextTypeNotFoundException` - Indicates that the slot with the given slot ID and context type is\n not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "put": { + "description": "Action to bind a slot configuration to a given campaign.", + "operationId": "putSitesByIDCampaignsByIDSlotConfigurationsByIDByID", + "parameters": [ + { + "description": "The ID of the campaign.", + "in": "path", + "minLength": 1, + "name": "campaign_id", + "required": true, + "type": "string" + }, + { + "description": "The ID of the site.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The ID of the slot.", + "in": "path", + "minLength": 1, + "name": "slot_id", + "required": true, + "type": "string" + }, + { + "description": "The ID of the slot configuration.", + "in": "path", + "minLength": 1, + "name": "slot_config_id", + "required": true, + "type": "string" + }, + { + "description": "The context string, which consists of three parts: the context type (which must be folder,\n category or global), an equals sign (=), and the context id (either the category id or folder id). If\n you do not set this query parameter, the global context is used by default.", + "in": "query", + "minLength": 1, + "name": "context", + "type": "string" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/slot_configuration_campaign_assignment" + } + } + ], + "responses": { + "400": { + "description": "`IdConflictException` - Indicates the ID in the URL does not match the ID in the request or `InvalidContextTypeException` - Indicates the slot context type is not one of \"global\", \"category\", or\n \"folder\"" + }, + "204": { + "description": "" + }, + "404": { + "description": "`CampaignNotFoundException` - Indicates that the campaign with the given campaign ID is not found. or `SiteNotFoundException` - thrown when site with the given site id is not found. or `SlotConfigurationIdentifierNotFoundException` - Indicates that the slot with the given slot ID, slot\n configuration ID and context type is not found. or `SlotWithContextTypeNotFoundException` - Indicates that the slot with the given slot ID and context type is\n not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/campaigns/{campaign_id}/sorting_rules/{sorting_rule_id}/{category_id}": { + "delete": { + "description": "Action to unbind a single sorting rule from a given campaign.", + "operationId": "deleteSitesByIDCampaignsByIDSortingRulesByIDByID", + "parameters": [ + { + "description": "The ID of the site that contains the campaign, sorting rule and category.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The ID of the campaign to which the sorting rule is to be assigned.", + "in": "path", + "minLength": 1, + "name": "campaign_id", + "required": true, + "type": "string" + }, + { + "description": "The ID of sorting rule that is to be assigned to the campaign.", + "in": "path", + "minLength": 1, + "name": "sorting_rule_id", + "required": true, + "type": "string" + }, + { + "description": "The ID of the category that is associated with the sorting rule.", + "in": "path", + "minLength": 1, + "name": "category_id", + "required": true, + "type": "string" + }, + { + "description": "The context in which the rule lives, either \"site\" or \"global\"", + "in": "query", + "name": "rule_context", + "type": "string" + } + ], + "responses": { + "400": { + "description": "`InvalidCategoryException` - Indicates that the category with the given category ID is not found." + }, + "204": { + "description": "" + }, + "404": { + "description": "`CampaignNotFoundException` - Indicates that the campaign with the given campaign ID is not found. or `SiteNotFoundException` - thrown when site with the given site id is not found. or `SortingRuleNotFoundException` - Indicates that the sorting rule with the given sorting rule ID is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "put": { + "description": "Action to bind a single sorting rule to a given campaign.", + "operationId": "putSitesByIDCampaignsByIDSortingRulesByIDByID", + "parameters": [ + { + "description": "The ID of the site that contains the campaign, sorting rule and category.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The ID of the campaign to which the sorting rule is to be assigned.", + "in": "path", + "minLength": 1, + "name": "campaign_id", + "required": true, + "type": "string" + }, + { + "description": "The ID of sorting rule that is to be assigned to the campaign.", + "in": "path", + "minLength": 1, + "name": "sorting_rule_id", + "required": true, + "type": "string" + }, + { + "description": "The ID of the category that is associated with the sorting rule.", + "in": "path", + "minLength": 1, + "name": "category_id", + "required": true, + "type": "string" + }, + { + "description": "The context in which the rule lives, either \"site\" or \"global\"", + "in": "query", + "name": "rule_context", + "type": "string" + } + ], + "responses": { + "400": { + "description": "`InvalidCategoryException` - Indicates that the category with the given category ID is not found." + }, + "204": { + "description": "" + }, + "404": { + "description": "`CampaignNotFoundException` - Indicates that the campaign with the given campaign ID is not found. or `SiteNotFoundException` - thrown when site with the given site id is not found. or `SortingRuleNotFoundException` - Indicates that the sorting rule with the given sorting rule ID is not found." + }, + "409": { + "description": "`SortingRuleCampaignAssignConflictException` - Indicates that there is a sorting rule already assigned to the\n given campaign ID and category ID. The sorting rule with the given sorting rule ID cannot be assigned\n to the same campaign ID and category ID." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/campaigns/{campaign_id}/source_code_groups/{source_code_group_id}": { + "delete": { + "description": "Action to unbind a source code group from a given campaign.", + "operationId": "deleteSitesByIDCampaignsByIDSourceCodeGroupsByID", + "parameters": [ + { + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The campaign ID that source code groups are to be unbound from", + "in": "path", + "minLength": 1, + "name": "campaign_id", + "required": true, + "type": "string" + }, + { + "description": "The source code group ID to unbind from a campaign", + "in": "path", + "minLength": 1, + "name": "source_code_group_id", + "required": true, + "type": "string" + } + ], + "responses": { + "400": { + "description": "`ConstraintViolationException` - Indicates some parameter constraint violation occurs" + }, + "204": { + "description": "" + }, + "404": { + "description": "`CampaignNotFoundException` - Indicates that the campaign with the given campaign id\n is unknown." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "put": { + "description": "Action to bind a single source code group to a given campaign.", + "operationId": "putSitesByIDCampaignsByIDSourceCodeGroupsByID", + "parameters": [ + { + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The campaign ID that source code group are to be bound to", + "in": "path", + "minLength": 1, + "name": "campaign_id", + "required": true, + "type": "string" + }, + { + "description": "The source code group ID to bind to a campaign", + "in": "path", + "minLength": 1, + "name": "source_code_group_id", + "required": true, + "type": "string" + } + ], + "responses": { + "400": { + "description": "`ConstraintViolationException` - Indicates some parameter constraint violation occurs" + }, + "204": { + "description": "" + }, + "404": { + "description": "`CampaignNotFoundException` - Indicates that the campaign with the given campaign id\n is unknown." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/cartridges": { + "post": { + "description": "Add a cartridge to current cartridge path.", + "operationId": "postSitesByIDCartridges", + "parameters": [ + { + "description": "ID of the site.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/cartridge_path_add_request" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/cartridge_path_api_response" + } + }, + "400": { + "description": "`CartridgeAlreadyExistException` - Indicates that the cartridge already exist in cartridge path or `InvalidCartridgeException` - Indicates that the cartridge name is invalid or `InvalidOperationException` - The error may happen when position is either 'after' or 'before'. It indicates either target cartridge is not a existing custom cartridge." + }, + "404": { + "description": "`SiteNotFoundException` - Indicates that site specified with the given id is unknown." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "put": { + "description": "Overwrite cartridge path.", + "operationId": "putSitesByIDCartridges", + "parameters": [ + { + "description": "ID of the site.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/cartridge_path_create_request" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/cartridge_path_api_response" + } + }, + "400": { + "description": "`InvalidCartridgePathException` - Indicates that the cartridge path is invalid" + }, + "404": { + "description": "`SiteNotFoundException` - Indicates that site specified with the given id is unknown." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/cartridges/{cartridge_name}": { + "delete": { + "description": "Remove a cartridge from cartridge path.", + "operationId": "deleteSitesByIDCartridgesByID", + "parameters": [ + { + "description": "ID of the site.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "request body", + "in": "path", + "minLength": 1, + "name": "cartridge_name", + "required": true, + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/cartridge_path_api_response" + } + }, + "400": { + "description": "`InvalidOperationException` - It indicates either the cartridge doesn't exist in cartridge path or the cartridge can not be deleted (e.g. System Cartridge)." + }, + "404": { + "description": "`SiteNotFoundException` - Indicates that site specified with the given id is unknown." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/coupon_redemption_search": { + "post": { + "description": "

\n Searches for coupon redemptions.\n

\n

\n The Coupon Redemption Search document contains a search object that allows filtering on various attributes.\n

\n

\n The query attribute specifies a complex query that can be used to narrow down the search. These are the list of\n searchable attributes:\n

\n \n

\n Note that only searchable attributes can be used in sorting.\n

\n If the role to which the user belongs does not have View_Coupon_Codes permission, then the coupon codes returned\n will be masked.", + "operationId": "postSitesByIDCouponRedemptionSearch", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/search_request" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/coupon_redemption_search_result" + } + }, + "400": { + "description": "`MalformedSearchParameterException` - Thrown if the query is ill-formed." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/coupon_search": { + "post": { + "description": "

\n Searches for coupons.\n

\n

\n The Coupon Search document contains a search object that allows filtering on various attributes.\n

\n

\n The query attribute specifies a complex query that can be used to narrow down the search. These are the list of\n searchable attributes:\n

\n \n

\n Note that only searchable attributes can be used in sorting. In case no sorting attribute is specified the result\n is sorted by coupon_id.\n

\n

\n The stats expand value is required to return the following fields in the Coupon document:\n

\n ", + "operationId": "postSitesByIDCouponSearch", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/search_request" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/coupon_search_result" + } + }, + "400": { + "description": "`MalformedSearchParameterException` - Thrown if the query is ill-formed." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/coupons": { + "get": { + "description": "Action to get all the coupons with no filtering.\n

\n The result is sorted by by coupon_id ascending.\n

", + "operationId": "getSitesByIDCoupons", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "Optional start index for retrieving the codes from a given index (default 0).", + "format": "int32", + "in": "query", + "name": "start", + "type": "integer" + }, + { + "description": "Optional count for retrieving only a subset of the codes (default is 25).", + "format": "int32", + "in": "query", + "name": "count", + "type": "integer" + }, + { + "description": "The property selector.", + "in": "query", + "name": "select", + "type": "string" + }, + { + "in": "query", + "items": { + "type": "string" + }, + "name": "expand", + "type": "array" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/coupons" + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/coupons/{coupon_id}": { + "delete": { + "description": "Delete a coupon by id.", + "operationId": "deleteSitesByIDCouponsByID", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "Id of the coupon to delete from the site.", + "in": "path", + "minLength": 1, + "name": "coupon_id", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "get": { + "description": "Action to get coupon information.\n\n

The following fields are returned in the Coupon document when specifying the stats expand:\n

\n

\n\n If the role to which the user belongs does not have View_Coupon_Codes permission, then the coupon codes returned will be masked.", + "operationId": "getSitesByIDCouponsByID", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the requested coupon.", + "in": "path", + "minLength": 1, + "name": "coupon_id", + "required": true, + "type": "string" + }, + { + "description": "The property selector.", + "in": "query", + "name": "select", + "type": "string" + }, + { + "description": "The expand parameter. A comma separated list with the allowed values ( stats ).", + "in": "query", + "items": { + "type": "string" + }, + "name": "expand", + "type": "array" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/coupon" + } + }, + "404": { + "description": "`CouponNotFoundException` - Thrown in case the coupon does not exist matching the given id" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "patch": { + "description": "Updates the coupon with the specified information.", + "operationId": "patchSitesByIDCouponsByID", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the requested coupon.", + "in": "path", + "minLength": 1, + "name": "coupon_id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/coupon" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/coupon" + } + }, + "400": { + "description": "`CouponCodeDuplicateException` - Thrown if the code provided is in use by another coupon. or `CouponUpdateReadOnlyException` - Thrown if you try to update certain fields in a coupon after\n redeeming or exporting it. or `SystemGeneratedCouponQuotaException` - Thrown whenever a quota regarding system-generated coupons is violated" + }, + "403": { + "description": "`CouponLegacyUpdateForbiddenException` - Thrown when trying to update a legacy coupon. or `CouponUpdateForbiddenException` - Thrown when trying to update a broken coupon, that should be deleted and re-created." + }, + "404": { + "description": "`CouponNotFoundException` - Thrown if the coupon does not exist matching the given id." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "put": { + "description": "Creates a coupon using the information provided. If a coupon exists with the same unique identifier,\n the coupon is replaced completely.", + "operationId": "putSitesByIDCouponsByID", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the coupon to create.", + "in": "path", + "minLength": 1, + "name": "coupon_id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/coupon" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/coupon" + } + }, + "400": { + "description": "`CouponCodeDuplicateException` - Thrown if the code provided is in use by another coupon. or `CouponCreateSingleCodeException` - Thrown if a single code coupon does not set the coupon code properly. or `CouponInvalidException` - Thrown if the coupon passed in is not valid (the argument indicates\n the field that was invalid). or `IdConflictException` - if the Id in request is not the same as the ID in document. or `SystemGeneratedCouponQuotaException` - Thrown whenever a quota regarding system-generated coupons is violated" + }, + "403": { + "description": "`SiteAccessForbiddenException` - Thrown if the resource requires global instead of site-specific context." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/coupons/{coupon_id}/campaigns": { + "get": { + "description": "Get the campaigns that have a coupon assigned to them either directly or through promotions", + "operationId": "getSitesByIDCouponsByIDCampaigns", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the coupon that is assigned to campaigns directly or through promotions.", + "in": "path", + "name": "coupon_id", + "required": true, + "type": "string" + }, + { + "description": "Optional start index for retrieving the campaigns (default 0).", + "format": "int32", + "in": "query", + "name": "start", + "type": "integer" + }, + { + "description": "Optional count for retrieving the campaigns (default is 25).", + "format": "int32", + "in": "query", + "name": "count", + "type": "integer" + }, + { + "in": "query", + "name": "select", + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/campaigns" + } + }, + "404": { + "description": "`CouponNotFoundException` - Thrown if the coupon does not exist matching the given id." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/coupons/{coupon_id}/campaigns/{campaign_id}/promotions": { + "get": { + "description": "Get the promotions for a campaign that have a coupon assigned to them either directly or through campaigns.", + "operationId": "getSitesByIDCouponsByIDCampaignsByIDPromotions", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the coupon that is assigned to promotions directly or through campaigns.", + "in": "path", + "name": "coupon_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the campaign that we want to restrict the set of promotions for.", + "in": "path", + "name": "campaign_id", + "required": true, + "type": "string" + }, + { + "description": "Optional start index for retrieving the promotions (default 0).", + "format": "int32", + "in": "query", + "name": "start", + "type": "integer" + }, + { + "description": "Optional count for retrieving the promotions (default is 25).", + "format": "int32", + "in": "query", + "name": "count", + "type": "integer" + }, + { + "in": "query", + "name": "select", + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/promotions" + } + }, + "404": { + "description": "`CampaignNotFoundException` - Thrown if the campaign does not exist matching the given id. or `CouponNotFoundException` - Thrown if the coupon does not exist matching the given id." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/coupons/{coupon_id}/codes": { + "get": { + "description": "Get the coupon codes for the given coupon.\n\n If the role to which the user belongs does not have View_Coupon_Codes permission, then the coupon codes returned will be masked.", + "operationId": "getSitesByIDCouponsByIDCodes", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the coupon from which to delete codes (must be a multiple code coupon).", + "in": "path", + "name": "coupon_id", + "required": true, + "type": "string" + }, + { + "description": "Optional start index for retrieving the codes from a given index (default 0).", + "format": "int32", + "in": "query", + "name": "start", + "type": "integer" + }, + { + "description": "Optional count for retrieving only a subset of the codes (default is 25).", + "format": "int32", + "in": "query", + "name": "count", + "type": "integer" + }, + { + "description": "Optional select clause for getting fields from the returned JSON document.", + "in": "query", + "name": "select", + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/coupon_codes" + } + }, + "404": { + "description": "`CouponNotFoundException` - Thrown if the coupon does not exist matching the given id." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/coupons/{coupon_id}/multiple_codes": { + "post": { + "description": "Add or delete (modify) multiple codes to/from the supplied coupon.", + "operationId": "postSitesByIDCouponsByIDMultipleCodes", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the coupon to modify codes (must be multiple code coupon).", + "in": "path", + "name": "coupon_id", + "required": true, + "type": "string" + }, + { + "description": "Optional parameter for specifying when to delete multiple codes.", + "in": "query", + "name": "delete", + "type": "boolean" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/coupon_multi_codes_request" + } + } + ], + "responses": { + "400": { + "description": "`CouponCodeCreateException` - Thrown if the coupon code could not be created." + }, + "204": { + "description": "" + }, + "404": { + "description": "`CouponNotFoundException` - Thrown if the coupon does not exist matching the given id." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/coupons/{coupon_id}/promotions": { + "get": { + "description": "Get the promotions that have a coupon assigned to them either directly or through campaigns.", + "operationId": "getSitesByIDCouponsByIDPromotions", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the coupon that is assigned to promotions directly or through campaigns.", + "in": "path", + "name": "coupon_id", + "required": true, + "type": "string" + }, + { + "description": "Optional start index for retrieving the promotions (default 0).", + "format": "int32", + "in": "query", + "name": "start", + "type": "integer" + }, + { + "description": "Optional count for retrieving the promotions (default is 25).", + "format": "int32", + "in": "query", + "name": "count", + "type": "integer" + }, + { + "in": "query", + "name": "select", + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/promotions" + } + }, + "404": { + "description": "`CouponNotFoundException` - Thrown if the coupon does not exist matching the given id." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/custom_objects/{object_type}/{key}": { + "delete": { + "description": "Deletes a site specific Custom Object. If the Custom Object does not exist, this will do nothing. Note that the customization scripts are only called, if the Custom Object does exist.", + "operationId": "deleteSitesByIDCustomObjectsByIDByID", + "parameters": [ + { + "description": "the ID of the site", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "the ID of the object type", + "in": "path", + "minLength": 1, + "name": "object_type", + "required": true, + "type": "string" + }, + { + "description": "the key attribute value of the Custom Object", + "in": "path", + "minLength": 1, + "name": "key", + "required": true, + "type": "string" + } + ], + "responses": { + "400": { + "description": "`MalformedKeyParameterException` - If the object key must be an integer, but the path parameter has an invalid format" + }, + "204": { + "description": "" + }, + "404": { + "description": "`ObjectTypeNotFoundException` - For an unknown object type ID" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "get": { + "description": "Reads a site specific Custom Object with a given object type ID and a value for the key attribute of the object which represents its unique identifier.", + "operationId": "getSitesByIDCustomObjectsByIDByID", + "parameters": [ + { + "description": "the ID of the site", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "the ID of the object type", + "in": "path", + "minLength": 1, + "name": "object_type", + "required": true, + "type": "string" + }, + { + "description": "the key attribute value of the Custom Object", + "in": "path", + "minLength": 1, + "name": "key", + "required": true, + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/custom_object" + } + }, + "400": { + "description": "`MalformedKeyParameterException` - If the object key must be an integer, but the path parameter has an invalid format" + }, + "404": { + "description": "`ObjectTypeNotFoundException` - For an unknown object type ID or `CustomObjectNotFoundException` - For an unknown object key" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "patch": { + "description": "

Updates a site specific Custom Object with information from the request body. Note that only provided attributes are updated and that the key attribute is ignored. All other attributes are unchanged.

Use Custom Properties prefixed with c_ to define the Custom Object fields.
For localizable strings, structure the field to support multiple language values by using a map where each locale, for example: en_US, fr_FR, has its corresponding string value.

", + "operationId": "patchSitesByIDCustomObjectsByIDByID", + "parameters": [ + { + "description": "the ID of the site", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "the ID of the object type", + "in": "path", + "minLength": 1, + "name": "object_type", + "required": true, + "type": "string" + }, + { + "description": "the key attribute value of the Custom Object", + "in": "path", + "minLength": 1, + "name": "key", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/custom_object" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/custom_object" + } + }, + "400": { + "description": "`MalformedKeyParameterException` - If the object key must be an integer, but the path parameter has an invalid format" + }, + "404": { + "description": "`ObjectTypeNotFoundException` - For an unknown object type ID or `CustomObjectNotFoundException` - For an unknown object key" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "put": { + "description": "

Creates a site specific Custom Object from the request body. Note that an existing site specific Custom Object with the same key is overwritten by this action.

Use Custom Properties prefixed with c_ to define the Custom Object fields.
For localizable strings, structure the field to support multiple language values by using a map where each locale, for example: en_US, fr_FR, has its corresponding string value.

", + "operationId": "putSitesByIDCustomObjectsByIDByID", + "parameters": [ + { + "description": "the ID of the site", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "the ID of the object type", + "in": "path", + "minLength": 1, + "name": "object_type", + "required": true, + "type": "string" + }, + { + "description": "the key attribute value of the Custom Object", + "in": "path", + "minLength": 1, + "name": "key", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/custom_object" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/custom_object" + } + }, + "400": { + "description": "`MalformedKeyParameterException` - If the object key must be an integer, but the path parameter has an invalid format" + }, + "404": { + "description": "`ObjectTypeNotFoundException` - For an unknown object type ID or `CustomObjectNotFoundException` - For an unknown object key" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/customer_group_search": { + "post": { + "description": "

Searches for customer groups.

\n \n

The query attribute specifies a complex query that can be used to narrow down the search. These are the list\n of searchable attributes:

\n \n\n

The output of the query can also be sorted. These are the list of sortable attributes:

\n ", + "operationId": "postSitesByIDCustomerGroupSearch", + "parameters": [ + { + "description": "The id of the site.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/search_request" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/customer_group_search_result" + } + }, + "400": { + "description": "`CustomerGroupTypeInvalidException` - Thrown if the search term in term query does not match any of the customer group type. or `MalformedSearchParameterException` - Thrown if the query is ill-formed." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/customer_groups": { + "get": { + "description": "Action to get all the customer groups with no filtering.", + "operationId": "getSitesByIDCustomerGroups", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "Optional start index for retrieving the items from a given index (default 0).", + "format": "int32", + "in": "query", + "name": "start", + "type": "integer" + }, + { + "description": "Optional count for retrieving only a subset of the items (default is 25).", + "format": "int32", + "in": "query", + "name": "count", + "type": "integer" + }, + { + "description": "The property selector.", + "in": "query", + "name": "select", + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/customer_groups" + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/customer_groups/{id}": { + "delete": { + "description": "Triggers customer group deletion by ID. Be aware that the deletion happens via asynchronous batch process\n which is the reason the deletion itself is not necessarily finished after the call to this resource returned. The \n customer group that is in deletion will be provided in the response.", + "operationId": "deleteSitesByIDCustomerGroupsByID", + "parameters": [ + { + "description": "The id of the site.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "One customer group id to remove", + "in": "path", + "name": "id", + "required": true, + "type": "string" + }, + { + "description": "The attribute selector for the customer group which is now in deletion", + "in": "query", + "name": "select", + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/customer_group" + } + }, + "403": { + "description": "`SystemCustomerGroupDeleteForbiddenException` - Thrown when attempting to delete the system customer group." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "get": { + "description": "Action to get customer group information.", + "operationId": "getSitesByIDCustomerGroupsByID", + "parameters": [ + { + "description": "The id of the site.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the requested customer group.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "description": "The attribute selector. Include 'member_count' explicitly if member count per customer group is required.", + "in": "query", + "name": "select", + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/customer_group" + } + }, + "404": { + "description": "`CustomerGroupNotFoundException` - Thrown in case the customer group does not exist matching the given id" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "patch": { + "description": "Updates the customer group with the specified information.", + "operationId": "patchSitesByIDCustomerGroupsByID", + "parameters": [ + { + "description": "The id of the site.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the requested customer group.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/customer_group" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/customer_group" + } + }, + "403": { + "description": "`SystemCustomerGroupUpdateForbiddenException` - Thrown when attempting to update the system customer group." + }, + "404": { + "description": "`CustomerGroupNotFoundException` - Thrown in case the customer group does not exist matching the given id" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "put": { + "description": "Creates a customer group using the information provided.", + "operationId": "putSitesByIDCustomerGroupsByID", + "parameters": [ + { + "description": "The id of the site.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the customer group to create.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/customer_group" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/customer_group" + } + }, + "400": { + "description": "`CustomerGroupCreateException` - Thrown when there are system error in creating the customer group. or `IdConflictException` - Thrown when id in query parameter is different from the id in the body." + }, + "403": { + "description": "`SystemCustomerGroupCreateForbiddenException` - Thrown when attempting to create the system customer group." + }, + "409": { + "description": "`CustomerGroupAlreadyExistsException` - if a customer group exists already in the site with the given identifier." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/customer_groups/{id}/member_search": { + "post": { + "description": "

Searches for customer group members. For dynamic customer groups and the system groups \"Everyone\" and \"Unregistered\" no result is returned (Status Code: 204 - No Content).

\n\n

The query attribute specifies a complex query that can be used to narrow down the search. Attributes are grouped\n into different buckets. These are the list of searchable attributes with their corresponding buckets:

\n\n

Main:

\n \n

Customer Profile:

\n \n\n

Only attributes in the same bucket can be joined using a disjunction (OR).\n For instance, when joining login and customer_no above, only a conjunction is allowed (AND), whereas customer_no\n and email can be joined using a disjunction because they are in the same bucket. If an attribute\n is used in a disjunction (OR) that violates this rule, an exception will be thrown.

\n\n

The output of the query can also be sorted. These are the list of sortable attributes:

\n \n\n

If the Business manager customer search is configured to use the new Search Service, the following differences apply:\n

", + "operationId": "postSitesByIDCustomerGroupsByIDMemberSearch", + "parameters": [ + { + "description": "The id of the site.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the requested members customer group.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/search_request" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/customer_group_member_search_result" + } + }, + "400": { + "description": "`MalformedSearchParameterException` - Thrown if the query is ill-formed." + }, + "404": { + "description": "`CustomerGroupNotFoundException` - Thrown in case the customer group does not exist matching the given id" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/customer_groups/{id}/members": { + "get": { + "description": "Action to get all the customer group members with no filtering. For dynamic customer groups and the system groups \"Everyone\" and \"Unregistered\" no result is returned (Status Code: 204 - No Content).", + "operationId": "getSitesByIDCustomerGroupsByIDMembers", + "parameters": [ + { + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "description": "Optional start index for retrieving the items from a given index (default 0).", + "format": "int32", + "in": "query", + "name": "start", + "type": "integer" + }, + { + "description": "Optional count for retrieving only a subset of the items (default is 25).", + "format": "int32", + "in": "query", + "name": "count", + "type": "integer" + }, + { + "description": "The property selector.", + "in": "query", + "name": "select", + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/customer_group_members" + } + }, + "404": { + "description": "`CustomerGroupNotFoundException` - Thrown in case the customer group does not exist matching the given id" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/customer_groups/{id}/members/{customer_no}": { + "delete": { + "description": "Action to remove a customer from a (static) customer group.", + "operationId": "deleteSitesByIDCustomerGroupsByIDMembersByID", + "parameters": [ + { + "description": "The id of the site.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the customer group.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "description": "The customer number of the customer to remove from the group.", + "in": "path", + "minLength": 1, + "name": "customer_no", + "required": true, + "type": "string" + }, + { + "description": "The selector for selective response content.", + "in": "query", + "name": "select", + "type": "string" + } + ], + "responses": { + "204": { + "description": "" + }, + "403": { + "description": "`CustomerGroupUnsupportedAssignmentException` - Thrown when the customer group is not a static group." + }, + "404": { + "description": "`CustomerGroupNotFoundException` - Thrown in case the customer group does not exist matching the given id. or `CustomerNotFoundException` - Thrown in case the customer list did not exist, or the customer does not exist in the list." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "get": { + "description": "Action to get customer group member information.", + "operationId": "getSitesByIDCustomerGroupsByIDMembersByID", + "parameters": [ + { + "description": "The id of the site.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the requested members customer group.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "description": "The customer number of the requested customer group member.", + "in": "path", + "minLength": 1, + "name": "customer_no", + "required": true, + "type": "string" + }, + { + "description": "The selector for selective response content.", + "in": "query", + "name": "select", + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/customer_group_member" + } + }, + "404": { + "description": "`CustomerGroupMemberNotFoundException` - Thrown in case the customer group member did not exist, or the group is not a static group or `CustomerGroupNotFoundException` - Thrown in case the customer group does not exist matching the given id" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "put": { + "description": "Action to add customer to (static) customer group.", + "operationId": "putSitesByIDCustomerGroupsByIDMembersByID", + "parameters": [ + { + "description": "The id of the site.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the customer group.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "description": "The customer number of the customer to add to the group.", + "in": "path", + "minLength": 1, + "name": "customer_no", + "required": true, + "type": "string" + }, + { + "description": "The selector for selective response content.", + "in": "query", + "name": "select", + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/customer_group_member" + } + }, + "403": { + "description": "`CustomerGroupUnsupportedAssignmentException` - Thrown when the customer group is not a static group." + }, + "404": { + "description": "`CustomerGroupNotFoundException` - Thrown in case the customer group does not exist matching the given id. or `CustomerNotFoundException` - Thrown in case the customer list did not exist, or the customer does not exist in in the list." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/gift_certificate_search": { + "post": { + "description": "

Searches for gift certificates.

\n \n

The query attribute specifies a complex query that can be used to narrow down the search. These are the list\n of searchable attributes:

\n \n\n

* masked_gift_certificate_code, also known as just code, can only be used in a term query. If a\n four-character code is supplied, it is assumed that the search is on the unmasked portion of the code, otherwise\n the full code must be matched. Text queries are not allowed.

\n\n

* currency_mnemonic can only be joined with other attributes using a conjunction (AND).

\n\n

Note that only searchable attributes can be used in sorting. The code attribute cannot be used for sorting.

", + "operationId": "postSitesByIDGiftCertificateSearch", + "parameters": [ + { + "description": "The id of the site.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/search_request" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/gift_certificate_search_result" + } + }, + "400": { + "description": "`MalformedSearchParameterException` - Thrown if the query is ill-formed." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/gift_certificates": { + "get": { + "description": "Action to get all the gift certificates with no filtering.", + "operationId": "getSitesByIDGiftCertificates", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "Optional start index for retrieving the items from a given index (default 0).", + "format": "int32", + "in": "query", + "name": "start", + "type": "integer" + }, + { + "description": "Optional count for retrieving only a subset of the items (default is 25).", + "format": "int32", + "in": "query", + "name": "count", + "type": "integer" + }, + { + "description": "The property selector.", + "in": "query", + "name": "select", + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/gift_certificates" + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "post": { + "description": "Creates a gift certificate using the information provided.", + "operationId": "postSitesByIDGiftCertificates", + "parameters": [ + { + "description": "The id of the site.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/gift_certificate" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/gift_certificate" + } + }, + "400": { + "description": "`GiftCertificateAmountOutOfRangeException` - If the amount specified is out of range or `GiftCertificateCreateMerchantIDNotUniqueException` - If merchant id is not unique or `InvalidGiftCertificateException` - if the gift certificate passed in is not valid (the \n argument indicates the field that was invalid). or `InvalidGiftCertificateStatusException` - If gift certificate status specified is invalid or `InvalidRecipientEmailException` - If recipient email address is invalid" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/gift_certificates/{merchant_id}": { + "delete": { + "description": "Deletes the gift certificate by merchant ID", + "operationId": "deleteSitesByIDGiftCertificatesByID", + "parameters": [ + { + "description": "The id of the site.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "One gift certificate merchant id to remove", + "in": "path", + "name": "merchant_id", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "get": { + "description": "Action to get gift certificate information using merchant ID.", + "operationId": "getSitesByIDGiftCertificatesByID", + "parameters": [ + { + "description": "The id of the site.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The merchant id of the requested gift certificate.", + "in": "path", + "minLength": 1, + "name": "merchant_id", + "required": true, + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/gift_certificate" + } + }, + "404": { + "description": "`GiftCertificateNotFoundException` - Thrown in case the gift certificate does not exist matching the given merchant id" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "patch": { + "description": "Updates the gift certificate with the specified information using merchant ID.\n\n This API can not operate on the transactions attribute of the GiftCertificate request object.", + "operationId": "patchSitesByIDGiftCertificatesByID", + "parameters": [ + { + "description": "The id of the site.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The merchant id of the requested gift certificate.", + "in": "path", + "minLength": 1, + "name": "merchant_id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/gift_certificate" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/gift_certificate" + } + }, + "400": { + "description": "`InvalidGiftCertificateStatusException` - If gift certificate status specified is invalid or `InvalidRecipientEmailException` - If recipient email address is invalid" + }, + "404": { + "description": "`GiftCertificateNotFoundException` - Thrown in case the gift certificate does not exist matching the given merchant id" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/locale_info/locales": { + "get": { + "description": "Action to get the set of locales with the system given a site.", + "operationId": "getSitesByIDLocaleInfoLocales", + "parameters": [ + { + "description": "true if we want to include all the locales. Default is false.", + "in": "query", + "name": "include_all", + "type": "boolean" + }, + { + "description": "optional locale to return by id. If specified, that locale is looked up and returned, otherwise the\n list is returned.", + "in": "query", + "name": "id", + "type": "string" + }, + { + "description": "the set of fields to return from the request. Default is only the locale id.", + "in": "query", + "name": "select", + "type": "string" + }, + { + "description": "the start index for paging. Default is 0.", + "format": "int32", + "in": "query", + "name": "start", + "type": "integer" + }, + { + "description": "the count of the records to return in this page. Default is 25.", + "format": "int32", + "in": "query", + "name": "count", + "type": "integer" + }, + { + "description": "Only locales specified for the site are returned", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/locale_result" + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/orders/{order_no}": { + "patch": { + "description": "Updates the order.", + "operationId": "patchSitesByIDOrdersByID", + "parameters": [ + { + "description": "ID of the site", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The order number", + "in": "path", + "minLength": 1, + "name": "order_no", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/order_update_request" + } + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`OrderNotFoundException` - In case of the given order_no does not reference an existing order. or `SiteNotFoundException` - In case of the given site_id does not reference an existing site." + } + }, + "security": [ + { + "oauth2_application": [] + }, + { + "client_id": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/orders/{order_no}/confirmation_status": { + "put": { + "description": "Updates the order confirmation status.", + "operationId": "putSitesByIDOrdersByIDConfirmationStatus", + "parameters": [ + { + "description": "ID of the site.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The order number", + "in": "path", + "minLength": 1, + "name": "order_no", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/order_confirmation_status_update_request" + } + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`OrderNotFoundException` - In case of the given order_no does not reference an existing order. or `SiteNotFoundException` - In case of the given site_id does not reference an existing site." + } + }, + "security": [ + { + "oauth2_application": [] + }, + { + "client_id": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/orders/{order_no}/export_status": { + "put": { + "description": "Updates the order export status. Setting the status to EXPORTED will also trigger the finalization of on-order inventory transactions for this order, meaning that all inventory transactions with type on-order will be moved into final inventory transactions. This is only relevant when on-order inventory is turned on for the inventory list ordered products are in.", + "operationId": "putSitesByIDOrdersByIDExportStatus", + "parameters": [ + { + "description": "ID of the site.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The order number", + "in": "path", + "minLength": 1, + "name": "order_no", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/order_export_status_update_request" + } + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`OrderNotFoundException` - In case of the given order_no does not reference an existing order. or `SiteNotFoundException` - In case of the given site_id does not reference an existing site." + } + }, + "security": [ + { + "oauth2_application": [] + }, + { + "client_id": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/orders/{order_no}/external_status": { + "put": { + "description": "Updates the order external status.", + "operationId": "putSitesByIDOrdersByIDExternalStatus", + "parameters": [ + { + "description": "ID of the site.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The order number", + "in": "path", + "minLength": 1, + "name": "order_no", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/order_external_status_update_request" + } + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`OrderNotFoundException` - In case of the given order_no does not reference an existing order. or `SiteNotFoundException` - In case of the given site_id does not reference an existing site." + } + }, + "security": [ + { + "oauth2_application": [] + }, + { + "client_id": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/orders/{order_no}/payment_instruments/{payment_instrument_id}": { + "patch": { + "description": "Updates the payment instrument of an order.", + "operationId": "patchSitesByIDOrdersByIDPaymentInstrumentsByID", + "parameters": [ + { + "description": "ID of the site", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The order number", + "in": "path", + "minLength": 1, + "name": "order_no", + "required": true, + "type": "string" + }, + { + "description": "ID of the payment instrument", + "in": "path", + "minLength": 1, + "name": "payment_instrument_id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/payment_instrument_update_request" + } + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`OrderNotFoundException` - In case of the given order_no does not reference an existing order. or `PaymentInstrumentNotFoundException` - In case of the given payment_instrument_id does not reference an existing payment instrument. or `SiteNotFoundException` - In case of the given site_id does not reference an existing site." + } + }, + "security": [ + { + "oauth2_application": [] + }, + { + "client_id": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/orders/{order_no}/payment_instruments/{payment_instrument_id}/transaction": { + "patch": { + "description": "Updates the transaction of an order payment instrument.", + "operationId": "patchSitesByIDOrdersByIDPaymentInstrumentsByIDTransaction", + "parameters": [ + { + "description": "ID of the site", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The order number", + "in": "path", + "minLength": 1, + "name": "order_no", + "required": true, + "type": "string" + }, + { + "description": "ID of the payment instrument", + "in": "path", + "minLength": 1, + "name": "payment_instrument_id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/payment_transaction_update_request" + } + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`OrderNotFoundException` - In case of the given order_no does not reference an existing order. or `PaymentInstrumentNotFoundException` - In case of the given payment_instrument_id does not reference an existing payment instrument. or `PaymentTransactionNotFoundException` - In case of the payment instrument does not reference a payment transaction. or `SiteNotFoundException` - In case of the given site_id does not reference an existing site." + } + }, + "security": [ + { + "oauth2_application": [] + }, + { + "client_id": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/orders/{order_no}/payment_status": { + "put": { + "description": "Updates the order payment status.", + "operationId": "putSitesByIDOrdersByIDPaymentStatus", + "parameters": [ + { + "description": "ID of the site.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The order number", + "in": "path", + "minLength": 1, + "name": "order_no", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/order_payment_status_update_request" + } + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`OrderNotFoundException` - In case of the given order_no does not reference an existing order. or `SiteNotFoundException` - In case of the given site_id does not reference an existing site." + } + }, + "security": [ + { + "oauth2_application": [] + }, + { + "client_id": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/orders/{order_no}/shipments/{shipment_id}/shipping_address": { + "put": { + "description": "Updates (create or replace) the order shipment address.", + "operationId": "putSitesByIDOrdersByIDShipmentsByIDShippingAddress", + "parameters": [ + { + "description": "ID of the site", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The order number", + "in": "path", + "minLength": 1, + "name": "order_no", + "required": true, + "type": "string" + }, + { + "description": "ID of the shipment", + "in": "path", + "minLength": 1, + "name": "shipment_id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/shipping_address_update_request" + } + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`OrderNotFoundException` - In case of the given order_no does not reference an existing order. or `ShipmentNotFoundException` - In case of the given shipment_id does not reference an existing shipment. or `SiteNotFoundException` - In case of the given site_id does not reference an existing site." + } + }, + "security": [ + { + "oauth2_application": [] + }, + { + "client_id": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/orders/{order_no}/shipping_status": { + "put": { + "description": "Updates the order shipping status.", + "operationId": "putSitesByIDOrdersByIDShippingStatus", + "parameters": [ + { + "description": "ID of the site.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The order number", + "in": "path", + "minLength": 1, + "name": "order_no", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/order_shipping_status_update_request" + } + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`OrderNotFoundException` - In case of the given order_no does not reference an existing order. or `SiteNotFoundException` - In case of the given site_id does not reference an existing site." + } + }, + "security": [ + { + "oauth2_application": [] + }, + { + "client_id": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/orders/{order_no}/status": { + "put": { + "description": "Updates the order status by using the corresponding methods (fail, undoFail, place, cancel and undoCancel) from the dw.order.OrderMgr. Orders which are not in status CREATED or FAILED can not be set back.", + "operationId": "putSitesByIDOrdersByIDStatus", + "parameters": [ + { + "description": "ID of the site", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The order number", + "in": "path", + "minLength": 1, + "name": "order_no", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/order_status_update_request" + } + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`OrderNotFoundException` - In case of the given order_no does not reference an existing order. or `SiteNotFoundException` - In case of the given site_id does not reference an existing site." + }, + "409": { + "description": "`CancelOrderException` - The order could not be cancelled. or `OrderIntegrationStatusException` - The status change is not supported. An external order management system is integrated which has responsibility for further status changes on placed orders. or `OrderPreviouslyIntegratedStatusException` - The status change is not supported. The order was previously integrated with an external order management system which has responsibility for further status changes. or `OrderStatusTransitionException` - The status change is not supported. or `PlaceOrderException` - The order could not be placed. or `UndoCancelOrderException` - The cancelled order can not be reopened. or `UndoFailOrderException` - The failed order can not be reopened." + } + }, + "security": [ + { + "oauth2_application": [] + }, + { + "client_id": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/promotion_campaign_assignment_search": { + "post": { + "description": "

Searches for promotion campaign assignments.

\n \n

The PromotionCampaignAssignment Search document contains a search object that allows filtering on various attributes.

\n \n

The query attribute specifies a complex query that can be used to narrow down the search. Attributes are grouped\n into different buckets. These are the list of searchable attributes with their corresponding buckets:

\n\n

Main:

\n \n

Campaign:

\n \n

Promotion:

\n \n

Special handling:

\n \n\n

Only fields in the same bucket can be joined using a disjunction (OR). For instance, when joining\n campaign_id and rank above, only a conjunction is allowed (AND), whereas promotion_id and description can be\n joined to each other using an OR because they are in the same bucket. Special handling fields must always use\n conjunctions. If the field is used in a disjunction (OR) that violates this rule, an exception will be thrown.

\n\n

Expands that can be applied for the search request

\n \n\n

Note that only searchable attributes (excluding the ones marked with above with an asterisk) can be used in sorting.

", + "operationId": "postSitesByIDPromotionCampaignAssignmentSearch", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/search_request" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/promotion_campaign_assignment_search_result" + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/promotion_search": { + "post": { + "description": "

Searches for promotions.

\n \n

The SearchRequest document contains a search object that allows filtering on various attributes.

\n \n

The query attribute specifies a complex query that can be used to narrow down the search. These are the searchable\n attributes:

\n \n

Note that only searchable attributes can be used in sorting. Additionally, the following attribute can be used to\n sort:

\n ", + "operationId": "postSitesByIDPromotionSearch", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "name": "site_id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/search_request" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/promotion_search_result" + } + }, + "400": { + "description": "`MalformedSearchParameterException` - Thrown if the query is ill-formed." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/promotions/{id}": { + "delete": { + "description": "Deletes the promotion by ID", + "operationId": "deleteSitesByIDPromotionsByID", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "Promotion id to remove", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "get": { + "description": "Action to get promotion information.", + "operationId": "getSitesByIDPromotionsByID", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the requested promotion.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/promotion" + } + }, + "404": { + "description": "`PromotionNotFoundException` - Thrown in case the promotion does not exist matching the given id" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "patch": { + "description": "Updates the promotion with the specified information.", + "operationId": "patchSitesByIDPromotionsByID", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the requested promotion.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/promotion" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/promotion" + } + }, + "404": { + "description": "`PromotionNotFoundException` - Thrown in case the promotion does not exist matching the given id" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "put": { + "description": "Creates a promotion using the information provided.", + "operationId": "putSitesByIDPromotionsByID", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the promotion to create.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/promotion" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/promotion" + } + }, + "400": { + "description": "`IdConflictException` - if the Id in request is not the same as the ID in document." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/site_preferences/preference_groups/{group_id}/{instance_type}": { + "get": { + "description": "For the specified site and instance, read the custom preferences in the preference group.\n Specify 'current' to retrieve the preferences for the instance on which this call is being made. The system will recognize its type.", + "operationId": "getSitesByIDSitePreferencesPreferenceGroupsByIDByID", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "One of {staging,development,sandbox,production,current}.", + "in": "path", + "name": "instance_type", + "required": true, + "type": "string" + }, + { + "description": "The ID of the preference group.", + "in": "path", + "name": "group_id", + "required": true, + "type": "string" + }, + { + "description": "Set to true to mask the values of preferences of type Password.", + "in": "query", + "name": "mask_passwords", + "type": "boolean" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/site_preferences" + } + }, + "404": { + "description": "`CustomPreferenceGroupNotFoundException` - Indicates the preference group is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "patch": { + "description": "For the specified site and instance, update one or more custom preferences in the preference group.\n Preferences of type password cannot be set to \"************\" since it is a reserved value.", + "operationId": "patchSitesByIDSitePreferencesPreferenceGroupsByIDByID", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "One of {staging,development,sandbox,production}.", + "in": "path", + "name": "instance_type", + "required": true, + "type": "string" + }, + { + "description": "The ID of the preference group.", + "in": "path", + "name": "group_id", + "required": true, + "type": "string" + }, + { + "description": "Set to true to mask the values of preferences of type Password.", + "in": "query", + "name": "mask_passwords", + "type": "boolean" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/site_preferences" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/site_preferences" + } + }, + "404": { + "description": "`CustomPreferenceGroupNotFoundException` - Indicates the preference group is not found. or `ObjectTypeNotFoundException` - Indicates the SitePreferences system object is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/slot_configuration_campaign_assignment_search": { + "post": { + "description": "

Searches for slotconfiguration campaign assignments.

\n \n

The SlotConfigCampaignAssignment Search document contains a search object that allows filtering on various attributes.

\n\n

The query attribute specifies a complex query that can be used to narrow down the search. Attributes are grouped\n into different buckets. These are the list of searchable attributes with their corresponding buckets:

\n\n

Main:

\n \n

Campaign:

\n \n

Slot configuration:

\n \n\n

Only attributes in the same bucket can be joined using a disjunction (OR).\n For instance, when joining rank and description above, only a conjunction is allowed (AND), whereas slot_configuration_id\n and description can be joined using a disjunction because they are in the same bucket. If an attribute\n is used in a disjunction (OR) that violates this rule, an exception will be thrown.

\n\n

Expands that can be applied for the search request

\n \n\n

Note that only searchable attributes (excluding the ones marked with above with an asterisk) can be used in sorting.

", + "operationId": "postSitesByIDSlotConfigurationCampaignAssignmentSearch", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "name": "site_id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/search_request" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/slot_configuration_campaign_assignment_search_result" + } + }, + "400": { + "description": "`MalformedSearchParameterException` - Thrown if the query is ill-formed." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/slot_configuration_search": { + "post": { + "description": "

Searches for slot configurations.

\n\n

The query attribute specifies a complex query that can be used to narrow down the search. Attributes are grouped\n into different buckets. These are the list of searchable attributes with their corresponding buckets:

\n\n

Main:

\n \n

Slot:

\n \n\n

Only fields in the same bucket can be joined using a disjunction (OR). For instance, when joining context and\n description above, only a conjunction is allowed (AND), whereas context and slot_id can be joined to each other\n using a disjunction because they are in the same bucket. If the field is used in a disjunction (OR) that\n violates this rule, an exception will be thrown.

", + "operationId": "postSitesByIDSlotConfigurationSearch", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "name": "site_id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/search_request" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/slot_configuration_search_result" + } + }, + "400": { + "description": "`TypeMissmatchException` - Indicates that the value to search with does not match the\n type of the search field." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/slot_configurations": { + "get": { + "description": "Action to get all the slot configurations with no filtering.", + "operationId": "getSitesByIDSlotConfigurations", + "parameters": [ + { + "description": "The id of the site.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "Optional start index for retrieving the items from a given index (default 0).", + "format": "int32", + "in": "query", + "name": "start", + "type": "integer" + }, + { + "description": "Optional count for retrieving only a subset of the items (default is 25).", + "format": "int32", + "in": "query", + "name": "count", + "type": "integer" + }, + { + "description": "The property selector.", + "in": "query", + "name": "select", + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/slot_configurations" + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/slot_search": { + "post": { + "description": "

Searches for slots.

\n \n

The query attribute specifies a complex query that can be used to narrow down the search. The set of fields that\n are available to search are:

\n \n\n

Note that only searchable attributes can be used in sorting. \"context_type\" value is restricted to Global/Folder/Category.

", + "operationId": "postSitesByIDSlotSearch", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "name": "site_id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/search_request" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/slot_search_result" + } + }, + "400": { + "description": "`MalformedSearchParameterException` - Thrown if the query is ill-formed." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/slots": { + "get": { + "description": "Action to get all the slots with no filtering. Fetches the slot entities which are already populated in the database by crawling the active code.", + "operationId": "getSitesByIDSlots", + "parameters": [ + { + "description": "The id of the site.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "Optional start index for retrieving the items from a given index (default 0).", + "format": "int32", + "in": "query", + "name": "start", + "type": "integer" + }, + { + "description": "Optional count for retrieving only a subset of the items (default is 25).", + "format": "int32", + "in": "query", + "name": "count", + "type": "integer" + }, + { + "description": "The property selector.", + "in": "query", + "name": "select", + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/slots" + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/slots/{slot_id}/slot_configurations/{configuration_id}": { + "delete": { + "description": "Removes a configuration for slot in a given context from a site.", + "operationId": "deleteSitesByIDSlotsByIDSlotConfigurationsByID", + "parameters": [ + { + "description": "The id of the site for which you want to create the slot configuration.", + "in": "path", + "maxLength": 32, + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the slot.", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "slot_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the slot configuration.", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "configuration_id", + "required": true, + "type": "string" + }, + { + "description": "The context string, which consists of three parts: the context type (which must be \n folder , category or global ), an equals sign ( = ), \n and the context id (either the category id or folder id). If you do not set this \n query parameter, the global context is used by default.", + "in": "query", + "name": "context", + "type": "string" + } + ], + "responses": { + "400": { + "description": "`InvalidContextTypeException` - Thrown if the specified context type is invalid." + }, + "204": { + "description": "" + }, + "404": { + "description": "`SlotNotFoundException` - Throw if there was no slot with the specified id found for the \n requested site." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "get": { + "description": "Action to read an existing slot configuration.", + "operationId": "getSitesByIDSlotsByIDSlotConfigurationsByID", + "parameters": [ + { + "description": "The id of the site for which you want to create the slot configuration.", + "in": "path", + "maxLength": 32, + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the slot.", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "slot_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the slot configuration.", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "configuration_id", + "required": true, + "type": "string" + }, + { + "description": "The context string, which consists of three parts: the context type (which must be \n folder , category or global ), an equals sign ( = ), \n and the context id (either the category id or folder id). If you do not set this \n query parameter, the global context is used by default.", + "in": "query", + "name": "context", + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/slot_configuration" + } + }, + "400": { + "description": "`InvalidContextTypeException` - Thrown if the specified context type is invalid. or `MissingSlotConfigurationContextIdException` - Thrown if the specified context id for given context 'category' or 'folder' is missing." + }, + "404": { + "description": "`SlotConfigurationNotFoundException` - Thrown if there was no slot configuration found for the specified\n configuration id. or `SlotNotFoundException` - Throw if there was no slot with the specified id found for the \n requested site." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "patch": { + "description": "Updates an existing slot configuration. This action ignores the slot_id and\n the context information in the input document. Note that this operation will\n not touch any relational properties, which means, that e.g. the rank on a specific\n campaign assignment will not be changed, when the rank for the slot configuration\n itself is updated.", + "operationId": "patchSitesByIDSlotsByIDSlotConfigurationsByID", + "parameters": [ + { + "description": "The id of the site for which you want to create the slot configuration.", + "in": "path", + "maxLength": 32, + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the slot.", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "slot_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the slot configuration.", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "configuration_id", + "required": true, + "type": "string" + }, + { + "description": "The context string, which consists of three parts: the context type (which must be \n folder , category or global ), an equals sign ( = ), \n and the context id (either the category id or folder id). If you do not set this \n query parameter, the global context is used by default.", + "in": "query", + "name": "context", + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/slot_configuration" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/slot_configuration" + } + }, + "400": { + "description": "`InvalidContextTypeException` - Thrown if the specified context type is invalid. or `MissingSlotConfigurationContextIdException` - Thrown if the specified context id for given context 'category' or 'folder' is missing." + }, + "404": { + "description": "`ContentNotFoundException` - Thrown if content asset does not exist in the library of the current domain\n but is assigned during update. or `SlotConfigurationNotFoundException` - Thrown if there was no slot configuration found for the specified configuration \n id. or `SlotNotFoundException` - Thrown if there was no slot with the given id found for the \n requested site." + }, + "409": { + "description": "`SlotConfigurationAlreadyExistsException` - Thrown if the configuration ID should be updated into one that is already\n assigned." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "put": { + "description": "Creates a new configuration for an existing slot. If a slot configuration\n exists with the specified configuration_id, slot_id, and context, the existing\n slot configuration is overwritten.", + "operationId": "putSitesByIDSlotsByIDSlotConfigurationsByID", + "parameters": [ + { + "description": "The id of the site for which you want to create the slot configuration.", + "in": "path", + "maxLength": 32, + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the slot.", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "slot_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the slot configuration.", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "configuration_id", + "required": true, + "type": "string" + }, + { + "description": "The context string, which consists of three parts: the context type (which must be \n folder , category or global ), an equals sign ( = ), \n and the context id (either the category id or folder id). If you do not set this \n query parameter, the global context is used by default.", + "in": "query", + "name": "context", + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/slot_configuration" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/slot_configuration" + } + }, + "400": { + "description": "`IdConflictException` - if the Id in request is not the same as the ID in document. or `InvalidContextTypeException` - Thrown if the specified context type is invalid. or `MissingSlotConfigurationContextIdException` - Thrown if the specified context id for given context 'category' or 'folder' is missing." + }, + "404": { + "description": "`ContentNotFoundException` - Thrown if content asset does not exist in the library of the current domain\n but is assigned during creation of the configuration. or `SlotNotFoundException` - Thrown if there was no slot with the given id found for the \n requested site." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/slots/{slot_id}/{context_type}": { + "get": { + "description": "Action to get slot information. Fetches the slot entities which are already populated in the database by crawling the active code.", + "operationId": "getSitesByIDSlotsByIDByID", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the requested slot.", + "in": "path", + "minLength": 1, + "name": "slot_id", + "required": true, + "type": "string" + }, + { + "description": "The context type (folder, global, category).", + "in": "path", + "name": "context_type", + "required": true, + "type": "string" + }, + { + "description": "The property selector. If not passed, then the default selector will be used.", + "in": "query", + "name": "select", + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/slot" + } + }, + "404": { + "description": "`SlotNotFoundException` - Indicates the slot does not exist matching the given id." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/sorting_rule_search": { + "post": { + "description": "

Searches for product sorting rules.

\n \n

The query attribute specifies a complex query that can be used to narrow down the search. These are the list\n of searchable attributes:

\n \n\n

The output of the query can also be sorted. These are the list of sortable attributes:

\n \n\n

This resource does not support expand options.

", + "operationId": "postSitesByIDSortingRuleSearch", + "parameters": [ + { + "description": "The id of the site.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/search_request" + } + }, + { + "description": "the optional context in which the sorting rule should be looked up, either \"site\", \"global\", or \"any\" (default)", + "in": "query", + "name": "rule_context", + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/sorting_rule_search_result" + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/source_code_group_search": { + "post": { + "description": "Searches for source code groups.\n

\n The query attribute specifies a complex query that can be used to narrow down the search. These are the list\n of searchable attributes:\n

\n\n

* - These fields can only be used in Queries as conjunctions (using AND). If the field is used in a disjunction\n (OR) an exception will be thrown.

\n \n

The output of the query can also be sorted. These are the list of sortable attributes:

\n \n \n

Expands that can be applied for the search request

\n ", + "operationId": "postSitesByIDSourceCodeGroupSearch", + "parameters": [ + { + "description": "The id of the site.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/search_request" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/source_code_group_search_result" + } + }, + "400": { + "description": "`MalformedSearchParameterException` - Thrown if the query is ill-formed." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/source_code_groups": { + "get": { + "description": "Action to get all the source code groups with no filtering.", + "operationId": "getSitesByIDSourceCodeGroups", + "parameters": [ + { + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "Optional start index for retrieving the items from a given index (default 0).", + "format": "int32", + "in": "query", + "name": "start", + "type": "integer" + }, + { + "description": "Optional count for retrieving only a subset of the items (default is 25).", + "format": "int32", + "in": "query", + "name": "count", + "type": "integer" + }, + { + "description": "The property selector.", + "in": "query", + "name": "select", + "type": "string" + }, + { + "in": "query", + "items": { + "type": "string" + }, + "name": "expand", + "type": "array" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/source_code_groups" + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/source_code_groups/{id}": { + "delete": { + "description": "Deletes the source code group by ID", + "operationId": "deleteSitesByIDSourceCodeGroupsByID", + "parameters": [ + { + "description": "The id of the site.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "One source code group id to remove", + "in": "path", + "maxLength": 28, + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "get": { + "description": "Action to retrieve source code group information.", + "operationId": "getSitesByIDSourceCodeGroupsByID", + "parameters": [ + { + "description": "The id of the site.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the requested source code group.", + "in": "path", + "maxLength": 28, + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "description": "the query parameter takes an expansion list to include extra information, such as specifications. \n \t\t usage: expand=specifications.", + "in": "query", + "items": { + "type": "string" + }, + "name": "expand", + "type": "array" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/source_code_group" + } + }, + "404": { + "description": "`SourceCodeGroupNotFoundException` - Thrown in case the source code group does not exist matching the given id" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "patch": { + "description": "

Updates the source code group with the specified information.

", + "operationId": "patchSitesByIDSourceCodeGroupsByID", + "parameters": [ + { + "description": "The id of the site.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the requested source code group.", + "in": "path", + "maxLength": 28, + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/source_code_group" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/source_code_group" + } + }, + "404": { + "description": "`SourceCodeGroupNotFoundException` - Thrown in case the source code group does not exist matching the given id" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "put": { + "description": "Creates a source code group using the information provided.", + "operationId": "putSitesByIDSourceCodeGroupsByID", + "parameters": [ + { + "description": "The id of the site.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the source code group to create.", + "in": "path", + "maxLength": 28, + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/source_code_group" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/source_code_group" + } + }, + "400": { + "description": "`IdConflictException` - Thrown when the id given in request URL is different from the id provided in the source code group document or `SourceCodeGroupInvalidException` - if the source code group passed in is not valid (the argument indicates the field that was invalid)." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/store_search": { + "post": { + "description": "

\n Searches for stores.\n

\n

\n The query attribute specifies a complex query that can be used to narrow down the search. This is the list of\n searchable attributes:\n

\n ", + "operationId": "postSitesByIDStoreSearch", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "name": "site_id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/search_request" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/store_search_result" + } + }, + "400": { + "description": "`MalformedSearchParameterException` - Thrown if the query is ill-formed." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/stores": { + "get": { + "description": "Action to get all the stores with no filtering.", + "operationId": "getSitesByIDStores", + "parameters": [ + { + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "Optional start index for retrieving the items from a given index (default 0).", + "format": "int32", + "in": "query", + "name": "start", + "type": "integer" + }, + { + "description": "Optional count for retrieving only a subset of the items (default is 25).", + "format": "int32", + "in": "query", + "name": "count", + "type": "integer" + }, + { + "description": "The property selector.", + "in": "query", + "name": "select", + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/stores" + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/stores/{id}": { + "delete": { + "description": "Deletes the store by ID", + "operationId": "deleteSitesByIDStoresByID", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "One store id to remove", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`StoreNotFoundException` - Thrown in case the store does not exist matching the given id" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "get": { + "description": "Action to get store information.", + "operationId": "getSitesByIDStoresByID", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the requested store.", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "description": "the selector for the get. If not passed, then the defaultSelector will be used instead.", + "in": "query", + "name": "select", + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/store" + } + }, + "404": { + "description": "`StoreNotFoundException` - Thrown in case the store does not exist matching the given id" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "patch": { + "description": "Updates the store with the specified information.", + "operationId": "patchSitesByIDStoresByID", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the requested store.", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/store" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/store" + } + }, + "404": { + "description": "`StoreNotFoundException` - Thrown in case the store does not exist matching the given id" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "put": { + "description": "Creates a store using the information provided.", + "operationId": "putSitesByIDStoresByID", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "minLength": 1, + "name": "site_id", + "required": true, + "type": "string" + }, + { + "description": "The id of the store to create.", + "in": "path", + "maxLength": 256, + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/store" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/store" + } + }, + "400": { + "description": "`IdConflictException` - if the Id in request is not the same as the ID in document." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/system_object_definition_search": { + "post": { + "description": "

Searches for system objects.

\n \n

The query attribute specifies a complex query that can be used to narrow down the search. These are the list\n of searchable attributes:

\n \n\n

The output of the query can also be sorted. These are the list of sortable attributes:

\n ", + "operationId": "postSystemObjectDefinitionSearch", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/search_request" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/object_type_definition_search_result" + } + }, + "400": { + "description": "`MalformedSearchParameterException` - Thrown if the query is ill-formed." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "system_object_definition_search" + ] + } + }, + "/system_object_definitions": { + "get": { + "description": "Action to get all the system objects with no filtering.", + "operationId": "getSystemObjectDefinitions", + "parameters": [ + { + "description": "Optional start index for retrieving the items from a given index (default 0).", + "format": "int32", + "in": "query", + "name": "start", + "type": "integer" + }, + { + "description": "Optional count for retrieving only a subset of the items (default is 25).", + "format": "int32", + "in": "query", + "name": "count", + "type": "integer" + }, + { + "description": "The property selector.", + "in": "query", + "name": "select", + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/object_type_definitions" + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "system_object_definitions" + ] + } + }, + "/system_object_definitions/{object_type}": { + "get": { + "description": "Action to get system object information.", + "operationId": "getSystemObjectDefinitionsByID", + "parameters": [ + { + "description": "The id of the object type for the requested system object.", + "in": "path", + "minLength": 1, + "name": "object_type", + "required": true, + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/object_type_definition" + } + }, + "404": { + "description": "`SystemObjectNotFoundException` - Thrown in case the system object does not exist matching the given objectType" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "system_object_definitions" + ] + } + }, + "/system_object_definitions/{object_type}/attribute_definition_search": { + "post": { + "description": "

Searches the attribute definitions of the specified system object type.

\n

\n

The query attribute specifies a complex query that can be used to narrow down the search. Attributes are grouped\n into different buckets. These are the list of searchable attributes with their corresponding buckets:

\n\n

Main:

\n \n

Definition version:

\n \n

Group:

\n \n\n

Only attributes in the same bucket can be joined using a disjunction (OR).\n For instance, when joining localizable and description above, only a conjunction is allowed (AND), whereas display_name\n and description can be joined using a disjunction because they are in the same bucket. If an attribute\n is used in a disjunction (OR) that violates this rule, an exception will be thrown.

\n\n

* These attributes are not searchable or sortable for built in system attributes. They work normally for non\n system attributes.

\n\n

Note that only searchable attributes can be used in sorting.

", + "operationId": "postSystemObjectDefinitionsByIDAttributeDefinitionSearch", + "parameters": [ + { + "description": "The object type id that contains these definitions", + "in": "path", + "name": "object_type", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/search_request" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/object_attribute_definition_search_result" + } + }, + "400": { + "description": "`MalformedSearchParameterException` - Indicates the query is ill-formed." + }, + "404": { + "description": "`ObjectTypeNotFoundException` - in case the object type does not match an existing system type" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "system_object_definitions" + ] + } + }, + "/system_object_definitions/{object_type}/attribute_definitions": { + "get": { + "description": "Action to get all the attribute definitions with no filtering.", + "operationId": "getSystemObjectDefinitionsByIDAttributeDefinitions", + "parameters": [ + { + "in": "path", + "name": "object_type", + "required": true, + "type": "string" + }, + { + "description": "Optional start index for retrieving the items from a given index (default 0).", + "format": "int32", + "in": "query", + "name": "start", + "type": "integer" + }, + { + "description": "Optional count for retrieving only a subset of the items (default is 25).", + "format": "int32", + "in": "query", + "name": "count", + "type": "integer" + }, + { + "description": "The property selector.", + "in": "query", + "name": "select", + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/object_attribute_definitions" + } + }, + "404": { + "description": "`ObjectTypeNotFoundException` - in case the object type does not match an existing system type" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "system_object_definitions" + ] + } + }, + "/system_object_definitions/{object_type}/attribute_definitions/{id}": { + "delete": { + "description": "Deletes the attribute definition by ID", + "operationId": "deleteSystemObjectDefinitionsByIDAttributeDefinitionsByID", + "parameters": [ + { + "description": "The metadata object that contains these definitions", + "in": "path", + "name": "object_type", + "required": true, + "type": "string" + }, + { + "description": "Attribute definition id to remove", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + } + ], + "responses": { + "400": { + "description": "`AttributeDefinitionReadOnlyException` - Thrown when trying to delete an internal attribute definition" + }, + "204": { + "description": "" + }, + "404": { + "description": "`AttributeDefinitionNotFoundException` - Thrown in case the attribute definition cannot be found or `ObjectTypeNotFoundException` - Thrown in case the object type cannot be found" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "system_object_definitions" + ] + }, + "get": { + "description": "Action to get attribute definition information.", + "operationId": "getSystemObjectDefinitionsByIDAttributeDefinitionsByID", + "parameters": [ + { + "description": "The object type id that contains these definitions", + "in": "path", + "name": "object_type", + "required": true, + "type": "string" + }, + { + "description": "The id of the requested attribute definition.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "description": "The selector for the get. If not passed, then the defaultSelector will be used instead.", + "in": "query", + "name": "select", + "type": "string" + }, + { + "description": "The expansion \"value\" is available to retrieve value definitions of the attribute definition.", + "in": "query", + "items": { + "type": "string" + }, + "name": "expand", + "type": "array" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/object_attribute_definition" + } + }, + "404": { + "description": "`AttributeDefinitionNotFoundException` - Thrown in case the attribute definition does not exist matching the given id or `ObjectTypeNotFoundException` - in case the object type does not match an existing system type" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "system_object_definitions" + ] + }, + "patch": { + "description": "Updates the attribute definition with the specified information. The request must include the If-Match header, which holds\n the last known base-point information. The value of this header is an \"ETag\" representing the attribute definition state. If\n the request does not contain an If-Match header with the current server customer \"ETag\", a 409 (IfMatchRequiredException)\n fault is returned. If the If-Match header does not match the current server attribute definition \"ETag\", a 412 (InvalidIfMatchException)\n fault is returned.", + "operationId": "patchSystemObjectDefinitionsByIDAttributeDefinitionsByID", + "parameters": [ + { + "description": "The object type id that contains these definitions", + "in": "path", + "name": "object_type", + "required": true, + "type": "string" + }, + { + "description": "The id of the requested attribute definition.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "description": "must match the last eTag", + "in": "header", + "name": "If-Match", + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/object_attribute_definition" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/object_attribute_definition" + } + }, + "400": { + "description": "`AttributeDefinitionPropertyReadOnlyException` - Thrown in case a read only system attribute it tried to be changed, which is not allowed. or `AttributeDefinitionReadOnlyException` - Thrown when trying to modify a read-only field of an internal\n attribute definition" + }, + "404": { + "description": "`AttributeDefinitionNotFoundException` - Thrown in case the attribute definition does not exist matching the given id or `ObjectTypeNotFoundException` - Thrown in case the object type cannot be found" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "system_object_definitions" + ] + }, + "put": { + "description": "Creates a attribute definition using the information provided.", + "operationId": "putSystemObjectDefinitionsByIDAttributeDefinitionsByID", + "parameters": [ + { + "description": "The metadata object that contains these definitions", + "in": "path", + "name": "object_type", + "required": true, + "type": "string" + }, + { + "description": "The id of the attribute definition to create.", + "in": "path", + "name": "id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/object_attribute_definition" + } + }, + { + "in": "header", + "name": "x-dw-validate-existing", + "type": "boolean" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/object_attribute_definition" + } + }, + "400": { + "description": "`AttributeDefinitionCreateException` - if the attribute definition could not be created. or `AttributeDefinitionDuplicateException` - if a attribute definition exists already with the given attribute definition id. or `AttributeDefinitionReadOnlyException` - Thrown when trying to create an internal attribute definition or `IdConflictException` - if the Id in request is not the same as the ID in document." + }, + "404": { + "description": "`ObjectTypeNotFoundException` - Thrown in case the object type cannot be found" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "system_object_definitions" + ] + } + }, + "/system_object_definitions/{object_type}/attribute_group_search": { + "post": { + "description": "

Searches for attribute groups.

\n \n

The query attribute specifies a complex query that can be used to narrow down the search. These are the list\n of searchable attributes:

\n \n\n

The output of the query can also be sorted. These are the list of sortable attributes:

\n ", + "operationId": "postSystemObjectDefinitionsByIDAttributeGroupSearch", + "parameters": [ + { + "in": "path", + "name": "object_type", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/search_request" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/object_attribute_group_search_result" + } + }, + "400": { + "description": "`MalformedSearchParameterException` - Thrown if the query is ill-formed." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "system_object_definitions" + ] + } + }, + "/system_object_definitions/{object_type}/attribute_groups": { + "get": { + "description": "Action to get all the attribute groups with no filtering.", + "operationId": "getSystemObjectDefinitionsByIDAttributeGroups", + "parameters": [ + { + "in": "path", + "name": "object_type", + "required": true, + "type": "string" + }, + { + "description": "Optional start index for retrieving the items from a given index (default 0).", + "format": "int32", + "in": "query", + "name": "start", + "type": "integer" + }, + { + "description": "Optional count for retrieving only a subset of the items (default is 25).", + "format": "int32", + "in": "query", + "name": "count", + "type": "integer" + }, + { + "description": "The property selector.", + "in": "query", + "name": "select", + "type": "string" + }, + { + "in": "query", + "items": { + "type": "string" + }, + "name": "expand", + "type": "array" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/object_attribute_groups" + } + }, + "404": { + "description": "`ObjectTypeNotFoundException` - in case the object type does not match an existing system type" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "system_object_definitions" + ] + } + }, + "/system_object_definitions/{object_type}/attribute_groups/{group_id}/attribute_definitions/{def_id}": { + "delete": { + "description": "Un-assign an attribute definition from an attribute group.", + "operationId": "deleteSystemObjectDefinitionsByIDAttributeGroupsByIDAttributeDefinitionsByID", + "parameters": [ + { + "description": "The ID of the system object that contains the attribute definition and attribute group.", + "in": "path", + "name": "object_type", + "required": true, + "type": "string" + }, + { + "description": "The ID of the attribute group.", + "in": "path", + "minLength": 1, + "name": "group_id", + "required": true, + "type": "string" + }, + { + "description": "The ID of the attribute definition.", + "in": "path", + "minLength": 1, + "name": "def_id", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`AttributeDefinitionNotFoundException` - Indicates the specified attribute definition is not found. or `AttributeGroupNotFoundException` - Indicates the specified attribute group is not found. or `ObjectTypeNotFoundException` - Indicates the specified system object is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "system_object_definitions" + ] + }, + "put": { + "description": "Assign an attribute definition to an attribute group.", + "operationId": "putSystemObjectDefinitionsByIDAttributeGroupsByIDAttributeDefinitionsByID", + "parameters": [ + { + "description": "The ID of the system object that contains the attribute definition and attribute group.", + "in": "path", + "name": "object_type", + "required": true, + "type": "string" + }, + { + "description": "The ID of the attribute group.", + "in": "path", + "minLength": 1, + "name": "group_id", + "required": true, + "type": "string" + }, + { + "description": "The ID of the attribute definition.", + "in": "path", + "minLength": 1, + "name": "def_id", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`AttributeDefinitionNotFoundException` - Indicates the specified attribute definition is not found. or `AttributeGroupNotFoundException` - Indicates the specified attribute group is not found. or `ObjectTypeNotFoundException` - Indicates the specified system object is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "system_object_definitions" + ] + } + }, + "/system_object_definitions/{object_type}/attribute_groups/{id}": { + "delete": { + "description": "Deletes the attribute group by ID", + "operationId": "deleteSystemObjectDefinitionsByIDAttributeGroupsByID", + "parameters": [ + { + "description": "the object type id that contains this attribute group", + "in": "path", + "name": "object_type", + "required": true, + "type": "string" + }, + { + "description": "One attribute group id to remove", + "in": "path", + "name": "id", + "required": true, + "type": "string" + } + ], + "responses": { + "400": { + "description": "`AttributeGroupReadOnlyException` - Thrown when trying to delete an internal attribute group" + }, + "204": { + "description": "" + }, + "404": { + "description": "`AttributeGroupNotFoundException` - Thrown in case the attribute group cannot be found or `ObjectTypeNotFoundException` - Thrown in case the object type cannot be found" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "system_object_definitions" + ] + }, + "get": { + "description": "Action to get attribute group information.", + "operationId": "getSystemObjectDefinitionsByIDAttributeGroupsByID", + "parameters": [ + { + "description": "the object type id that contains this attribute group", + "in": "path", + "name": "object_type", + "required": true, + "type": "string" + }, + { + "description": "The id of the requested attribute group.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "select", + "type": "string" + }, + { + "in": "query", + "items": { + "type": "string" + }, + "name": "expand", + "type": "array" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/object_attribute_group" + } + }, + "404": { + "description": "`AttributeGroupNotFoundException` - Thrown in case the attribute group does not exist matching the given id or `ObjectTypeNotFoundException` - in case the object type does not match an existing system type" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "system_object_definitions" + ] + }, + "patch": { + "description": "Updates the attribute group with the specified information. The request must include the If-Match header, which holds\n the last known base-point information. The value of this header is an \"ETag\" representing the attribute group state. If\n the request does not contain an If-Match header with the current server customer \"ETag\", a 409 (IfMatchRequiredException)\n fault is returned. If the If-Match header does not match the current server attribute group \"ETag\", a 412 (InvalidIfMatchException)\n fault is returned.", + "operationId": "patchSystemObjectDefinitionsByIDAttributeGroupsByID", + "parameters": [ + { + "description": "the object type id that contains this attribute group", + "in": "path", + "name": "object_type", + "required": true, + "type": "string" + }, + { + "description": "The id of the requested attribute group.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "description": "must match the last eTag", + "in": "header", + "name": "If-Match", + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/object_attribute_group" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/object_attribute_group" + } + }, + "400": { + "description": "`AttributeGroupReadOnlyException` - Thrown when trying to modify an attribute of a field of an attribute group\n that is read only" + }, + "404": { + "description": "`AttributeGroupNotFoundException` - Thrown in case the attribute group does not exist matching the given id" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "system_object_definitions" + ] + }, + "put": { + "description": "Creates a attribute group using the information provided. If a attribute group with the same unique identifier, it will be deleted and a new one will be created unless the header x-dw-validate-existing=true is passed in with the request.", + "operationId": "putSystemObjectDefinitionsByIDAttributeGroupsByID", + "parameters": [ + { + "description": "the object type id that contains this attribute group", + "in": "path", + "name": "object_type", + "required": true, + "type": "string" + }, + { + "description": "The id of the attribute group to create.", + "in": "path", + "minLength": 1, + "name": "id", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/object_attribute_group" + } + }, + { + "description": "if true, and a attribute group already exists, will throw a AttributeGroupDuplicateException.", + "in": "header", + "name": "x-dw-validate-existing", + "type": "boolean" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/object_attribute_group" + } + }, + "400": { + "description": "`AttributeGroupDuplicateException` - if a attribute group exists already in the site with the given identifier and the header x-dw-validate-existing=true is passed in with the request. or `AttributeGroupReadOnlyException` - Thrown when trying to create an internal attribute group" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "system_object_definitions" + ] + } + }, + "/user_search": { + "post": { + "description": "Searches for users.\n

\n The query attribute specifies a complex query that can be used to narrow down the search. These are the list\n of searchable attributes:\n

\n \n\n

The output of the query can also be sorted. These are the list of sortable attributes:

\n ", + "operationId": "postUserSearch", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/search_request" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/user_search_result" + } + }, + "400": { + "description": "`MalformedSearchParameterException` - Thrown if the query is ill-formed." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "user_search" + ] + } + }, + "/users": { + "get": { + "description": "Action to get all users with no filtering.", + "operationId": "getUsers", + "parameters": [ + { + "description": "Optional start index for retrieving the items from a given index (default 0).", + "format": "int32", + "in": "query", + "name": "start", + "type": "integer" + }, + { + "description": "Optional count for retrieving only a subset of the items (default is 25).", + "format": "int32", + "in": "query", + "name": "count", + "type": "integer" + }, + { + "description": "The property selector.", + "in": "query", + "name": "select", + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/users" + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "users" + ] + } + }, + "/users/this": { + "get": { + "description": "Action to get the user password expiration information.", + "operationId": "getUsersThis", + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/user" + } + }, + "401": { + "description": "`UserIsLockedException` - If the user profile is currently locked. or `UserNotAvailableException` - If the user provided by the OAuth token cannot be found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "users" + ] + } + }, + "/users/this/password": { + "patch": { + "description": "Action to change a local user password. This action cannot change the password for a user managed by Account\n Manager.", + "operationId": "patchUsersThisPassword", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/password_change_request" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/user" + } + }, + "400": { + "description": "`InvalidPasswordException` - If the provided current user password is invalid. or `PasswordNotValidForReuseException` - If the same new password was set recently before. or `PasswordPolicyViolationException` - If the new password doesn't meet the acceptance crtiteria of a user\n password." + }, + "401": { + "description": "`UserIsLockedException` - If the user profile is currently locked. or `UserNotAvailableException` - If the user provided by the OAuth token cannot be found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "users" + ] + } + }, + "/users/{login}": { + "delete": { + "description": "Action to delete a single user.", + "operationId": "deleteUsersByID", + "parameters": [ + { + "description": "login of the user", + "in": "path", + "minLength": 1, + "name": "login", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`UserNotFoundException` - If no user with the specified login could be found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "users" + ] + }, + "get": { + "description": "Action to get a user.", + "operationId": "getUsersByID", + "parameters": [ + { + "description": "login of the user", + "in": "path", + "minLength": 1, + "name": "login", + "required": true, + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/user" + } + }, + "404": { + "description": "`UserNotFoundException` - If no user with the specified login could be found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "users" + ] + }, + "patch": { + "description": "

Action to update a user.

\n\n

Note: The locked flag and the user password cannot be updated with this resource.

", + "operationId": "patchUsersByID", + "parameters": [ + { + "description": "login of the user", + "in": "path", + "minLength": 1, + "name": "login", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/user" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/user" + } + }, + "400": { + "description": "`ExternalIdAlreadyExistsException` - If another user with the same external id already exists. or `ExternalIdNullException` - If the external id is explicitly set to null for an externally managed user or `UnknownLocaleException` - If either the Preferred UI Locale or the Preferred Data Locale are unknown. or `IdConflictException` - If the login in the request URL is different from the login in the request body." + }, + "403": { + "description": "`UserOperationNotAllowedException` - If creation or replacement of a user with the given login is not allowed." + }, + "404": { + "description": "`UserNotFoundException` - If no user with the specified login could be found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "users" + ] + }, + "put": { + "description": "Action to create or overwrite a user. \n\n If a user with the given login already exists, the existing user will be overwritten.\n If no such login exists, a new user is created.", + "operationId": "putUsersByID", + "parameters": [ + { + "description": "login of the user", + "in": "path", + "minLength": 1, + "name": "login", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/user" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/user" + } + }, + "400": { + "description": "`ExternalIdAlreadyExistsException` - If another user with the same external id already exists. or `InvalidCredentialsException` - If password or external id of the user are invalid. or `LocalUserCreationException` - If creation of a local Business Manager user is not allowed with the current server settings. or `PasswordPolicyViolationException` - If the password doesn't meet the acceptance crtiteria of a user password. or `UnknownLocaleException` - If either the Preferred UI Locale or the Preferred Data Locale are unknown. or `IdConflictException` - If the login in the request URL is different from the login in the request body." + }, + "403": { + "description": "`UserOperationNotAllowedException` - If creation or replacement of a user with the given login is not allowed." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "users" + ] + } + }, + "/users/{login}/access_key/{scope}": { + "delete": { + "description": "Deletes a single access key.", + "operationId": "deleteUsersByIDAccessKeyByID", + "parameters": [ + { + "description": "The login of the user.", + "in": "path", + "minLength": 1, + "name": "login", + "required": true, + "type": "string" + }, + { + "description": "The scope of the access key.", + "in": "path", + "name": "scope", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "" + }, + "403": { + "description": "`UserNotExternallyManagedException` - When the specified user is not externally managed. or `UserAccessForbiddenException` - When the user executing the request is missing the required functional permission 'Manage_Users_Access_Keys'." + }, + "404": { + "description": "`AccessKeyNotFoundException` - If the access key does not exist. or `AuthenticationScopeNotFoundException` - If the access scope does not exist. or `UserNotFoundException` - If no user was found for the login." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "users" + ] + }, + "get": { + "description": "Gets a single access key.", + "operationId": "getUsersByIDAccessKeyByID", + "parameters": [ + { + "description": "The login of the user.", + "in": "path", + "minLength": 1, + "name": "login", + "required": true, + "type": "string" + }, + { + "description": "The scope of the access key.", + "in": "path", + "name": "scope", + "required": true, + "type": "string" + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/access_key_details" + } + }, + "403": { + "description": "`UserNotExternallyManagedException` - When the specified user is not externally managed. or `UserAccessForbiddenException` - When the user executing the request is missing the required functional permission 'Manage_Users_Access_Keys'." + }, + "404": { + "description": "`AccessKeyNotFoundException` - If the access key does not exist. or `AuthenticationScopeNotFoundException` - If the access scope does not exist. or `UserNotFoundException` - If no user was found for the login." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "users" + ] + }, + "patch": { + "description": "Enables / disables a single access key.", + "operationId": "patchUsersByIDAccessKeyByID", + "parameters": [ + { + "description": "The login of the user.", + "in": "path", + "minLength": 1, + "name": "login", + "required": true, + "type": "string" + }, + { + "description": "The scope of the access key.", + "in": "path", + "name": "scope", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/access_key_update_request" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/access_key_details" + } + }, + "403": { + "description": "`UserNotExternallyManagedException` - When the specified user is not externally managed. or `UserAccessForbiddenException` - When the user executing the request is missing the required functional permission 'Manage_Users_Access_Keys'." + }, + "404": { + "description": "`AccessKeyNotFoundException` - If the access key does not exist. or `AuthenticationScopeNotFoundException` - If the access scope does not exist. or `UserNotFoundException` - If no user was found for the login." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "users" + ] + }, + "put": { + "description": "Creates a single access key (and removes an existing one for the same scope).", + "operationId": "putUsersByIDAccessKeyByID", + "parameters": [ + { + "description": "The login of the user.", + "in": "path", + "minLength": 1, + "name": "login", + "required": true, + "type": "string" + }, + { + "description": "The scope of the access key.", + "in": "path", + "name": "scope", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/empty_body" + } + } + ], + "responses": { + "default": { + "description": "", + "schema": { + "$ref": "#/definitions/access_key_details" + } + }, + "400": { + "description": "`AccessKeyIsExpiredException` - If the acces key is already expired." + }, + "403": { + "description": "`UserNotExternallyManagedException` - When the specified user is not externally managed. or `UserAccessForbiddenException` - When the user executing the request is missing the required functional permission 'Manage_Users_Access_Keys'." + }, + "404": { + "description": "`AuthenticationScopeNotFoundException` - If the access scope does not exist. or `UserNotFoundException` - If no user was found for the login." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "users" + ] + } + } + }, + "produces": [ + "application/json", + "text/xml", + "application/xml" + ], + "securityDefinitions": { + "oauth2_application": { + "description": "Authentication flow with client ID and password with account manager.", + "flow": "application", + "scopes": { + "x-info": "Scopes are NOT supported. This is just a dummy, because the 'scopes' field is required." + }, + "tokenUrl": "https://account.demandware.com:443/dw/oauth2/access_token", + "type": "oauth2" + }, + "client_id": { + "description": "Add client ID for application identification. Alternative as 'client_id' query parameter.", + "in": "header", + "name": "x-dw-client-id", + "type": "apiKey" + } + }, + "swagger": "2.0" +} diff --git a/data.json b/data.json new file mode 100644 index 00000000..d6a5dbe8 --- /dev/null +++ b/data.json @@ -0,0 +1 @@ +{"basePath":"/s/-/dw/data/v25_6","consumes":["application/json","text/xml","application/xml"],"definitions":{"ab_test":{"description":"

The id of the A/B Test

","properties":{"customer_groups":{"description":"The list of customer group ids assigned to the A/B Test. Defaults to 'Everyone' if not specified on create","items":{"type":"string"},"type":"array"},"description":{"description":"The optional description of the A/B Test","maxLength":4000,"type":"string"},"email_addresses":{"description":"The optional list of email addresses to send A/B Test results","items":{"type":"string"},"type":"array"},"enabled":{"description":"The flag representing the enabled state of the A/B Test. Defaults to false if not specified on create","type":"boolean"},"end_date":{"description":"The date that the A/B Test ends. Defaults to two weeks from creation date if both start and end dates are not specified on create","format":"date-time","type":"string"},"expiration_type":{"description":"The participant expiration type of the A/B Test. Defaults to 'never' if not specified on create","enum":["session","never"],"type":"string"},"id":{"description":"The id of the A/B Test","maxLength":40,"minLength":1,"type":"string"},"key_metric_id":{"description":"The key metric that is most important to the A/B Test, among the metrics collected. Defaults to 'Revenue' if not specified from test participant activity","maxLength":256,"type":"string"},"link":{"description":"The URL to get the A/B test. This is a computed attribute and cannot be modified","type":"string"},"paused":{"description":"The flag representing the paused state of the A/B Test. Defaults to false if not specified on create","type":"boolean"},"segment_count":{"description":"Segment count of A/B test. This is a computed attribute and cannot be modified","format":"int32","type":"integer"},"start_date":{"description":"The date that the A/B Test begins. Defaults to a week from creation date if both start and end dates are not specified on create","format":"date-time","type":"string"},"status":{"description":"Status of A/B test. This is a computed attribute and cannot be modified","enum":["ended","planned","running"],"type":"string"},"tags":{"description":"The optional list of tags to group similar A/B Tests so that they can be searched easily.","items":{"type":"string"},"type":"array"},"test_groups":{"description":"Test Groups created for an A/B Test. This is a read only attribute for now.","items":{"$ref":"#/definitions/ab_test_group"},"type":"array"},"test_segments":{"description":"Test Segments created for an A/B Test. This is a read only attribute for now","items":{"$ref":"#/definitions/ab_test_segment"},"type":"array"},"trigger":{"$ref":"#/definitions/ab_test_trigger","description":"The trigger that allows the test participant to be considered for an A/B Test"}}},"ab_test_group":{"description":"

Document representing an A/B Test Group

","properties":{"allocation":{"description":"Test Group percentage allocation","format":"int32","type":"integer"},"custom_experience":{"description":"Flag to determine if this Test Group is a customer experience","type":"boolean"},"description":{"description":"Test Group description","type":"string"},"id":{"description":"Test group id","type":"string"}}},"ab_test_search_result":{"description":"

Request document containing a search response for A/B test

","properties":{"count":{"description":"The number of returned documents.","format":"int32","type":"integer"},"data":{"items":{"type":"object"},"type":"array"},"db_start_record_":{"format":"int32","minimum":0,"type":"integer"},"expand":{"items":{"type":"string"},"type":"array"},"hits":{"description":"The search hits returned as an ordered list","items":{"$ref":"#/definitions/ab_test"},"type":"array"},"next":{"$ref":"#/definitions/result_page","description":"The URL of the next result page."},"previous":{"$ref":"#/definitions/result_page","description":"The URL of the previous result page."},"query":{"$ref":"#/definitions/query","x-sub_types":{"nested_query":"#/definitions/nested_query","filtered_query":"#/definitions/filtered_query","text_query":"#/definitions/text_query","match_all_query":"#/definitions/match_all_query","term_query":"#/definitions/term_query","bool_query":"#/definitions/bool_query"}},"select":{"description":"The fields that you want to select.","type":"string"},"sorts":{"items":{"$ref":"#/definitions/sort"},"type":"array"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The total number of documents.","format":"int32","type":"integer"}}},"ab_test_segment":{"description":"

Document representing an A/B Test Segment

","properties":{"allocation":{"description":"Test Group percentage allocation","format":"int32","type":"integer"},"custom_experience":{"description":"Flag to determine if this Test Group is a customer experience","type":"boolean"},"description":{"description":"Test Group description","maxLength":4000,"type":"string"},"id":{"description":"Test group id","maxLength":40,"minLength":1,"type":"string"},"link":{"description":"","type":"string"},"promotions":{"description":"Promotions which this segment has as experiences","items":{"type":"object"},"type":"array"},"slot_configs":{"description":"Slot configurations which this segment has as experiences","items":{"type":"object"},"type":"array"},"sorting_rules":{"description":"Sorting rules which this segment has as experiences","items":{"type":"object"},"type":"array"},"stats":{"$ref":"#/definitions/ab_test_segment_stats","description":"Statistics about the segment"}}},"ab_test_segment_stats":{"description":"","properties":{"adds_to_baskets":{"description":"","format":"int32","type":"integer"},"average_adds_per_basket":{"description":"","format":"double","type":"number"},"average_adds_per_basket_std_error":{"description":"","format":"double","type":"number"},"average_discount_amount":{"description":"","format":"double","type":"number"},"average_discount_amount_std_error":{"description":"","format":"double","type":"number"},"average_discount_amount_with_coupon":{"description":"","format":"double","type":"number"},"average_discount_amount_with_coupon_std_error":{"description":"","format":"double","type":"number"},"average_discount_amount_without_coupon":{"description":"The standard error for the average amount discounted for orders without using a coupon","format":"double","type":"number"},"average_discount_amount_without_coupon_std_error":{"description":"Units sold per hour","format":"double","type":"number"},"average_order_value":{"description":"","format":"double","type":"number"},"average_order_value_std_error":{"description":"","format":"double","type":"number"},"average_revenue_per_visit":{"description":"","format":"double","type":"number"},"average_revenue_per_visit_std_error":{"description":"","format":"double","type":"number"},"average_units_added_per_basket":{"description":"","format":"double","type":"number"},"average_units_adder_per_basket_std_error":{"description":"","format":"double","type":"number"},"average_units_per_order_std_error":{"description":"","format":"double","type":"number"},"average_units_per_visit":{"description":"","format":"double","type":"number"},"average_units_per_visit_std_error":{"description":"","format":"double","type":"number"},"basket_rate":{"description":"","format":"double","type":"number"},"baskets":{"description":"","format":"double","type":"number"},"checkout_rate":{"description":"","format":"double","type":"number"},"checkouts":{"description":"","format":"int32","type":"integer"},"conversion_rate":{"description":"","format":"double","type":"number"},"discount_amount_with_coupon":{"description":"","format":"double","type":"number"},"discount_amount_without_coupon":{"description":"","format":"double","type":"number"},"orders":{"description":"","format":"int32","type":"integer"},"revenue":{"description":"","format":"double","type":"number"},"total_discount_amount":{"description":"","format":"double","type":"number"},"units":{"description":"","format":"double","type":"number"},"units_added_to_baskets":{"description":"","format":"double","type":"number"},"visitors":{"description":"","format":"int32","type":"integer"},"visits":{"description":"","format":"int32","type":"integer"}}},"ab_test_trigger":{"description":"

Document representing an A/B Test trigger.

","properties":{"categories":{"description":"The list of categories. This is a modifiable attribute when trigger type is 'category_page_view' only","items":{"type":"string"},"type":"array"},"is_pipeline_based":{"description":"The flag indicating if the trigger is based on pipelines. This is a computed attribute and cannot be modified","type":"boolean"},"pipeline_calls":{"description":"The list of pipeline name and start node combinations (for example, Account-Show). This is a modifiable attribute when trigger type is 'pipeline_calls' only","items":{"type":"string"},"type":"array"},"trigger_type":{"description":"The type of the trigger. Defaults to 'immediately' if not specified on create","enum":["immediately","category_page_view","home_page_view","pipeline_call"],"type":"string"}}},"ab_tests":{"description":"

Request document containing a set of ABTests

","properties":{"count":{"format":"int32","type":"integer"},"data":{"description":"","items":{"$ref":"#/definitions/ab_test"},"type":"array"},"expand":{"items":{"type":"string"},"type":"array"},"next":{"type":"string"},"previous":{"type":"string"},"select":{"type":"string"},"start":{"format":"int32","minimum":0,"type":"integer"},"total":{"format":"int32","type":"integer"}}},"access_key_details":{"description":"

Access key information

","properties":{"access_key":{"description":"The newly created access key (only available upon access key creation, missing otherwise).","type":"string"},"enabled":{"description":"True when the access key is enabled.","type":"boolean"},"expiration_date":{"description":"The date when the access key expires.","format":"date-time","type":"string"}}},"access_key_update_request":{"description":"

Request body to enable / disable an access key.

","properties":{"enabled":{"description":"True when the access key should be enabled.","type":"boolean"}}},"account_transaction":{"description":"

Document representing an account transaction

","properties":{"amount":{"$ref":"#/definitions/money","description":"The amount of the gift certificate"},"order_no":{"description":"The order number of the gift certificate","type":"string"},"timestamp":{"description":"The timestamp of the transaction of the gift certificate","format":"date-time","type":"string"},"type_code":{"description":"The type code of the gift certificate","enum":["create","redeem","delete","enable","disable"],"type":"string"}}},"alert_descriptor":{"description":"

Document describing a single alert descriptor.

","properties":{"application_context_path":{"description":"The application context path.","minLength":1,"type":"string"},"application_id":{"description":"The application ID.","minLength":1,"type":"string"},"context_object_type":{"description":"The context object type.","type":"string"},"default_priority":{"description":"The default priority.","enum":["not_allowed","hidden","informational","warning","action_required"],"minLength":1,"type":"string"},"link":{"description":"URL for this resource.","minLength":1,"type":"string"},"message_id":{"description":"The message ID.","minLength":1,"type":"string"}}},"alert_descriptor_settings":{"description":"

Document describing settings for a single alert descriptor.

","properties":{"application_context_path":{"description":"The application context path.","minLength":1,"type":"string"},"application_id":{"description":"The application ID.","minLength":1,"type":"string"},"is_user_override":{"description":"

Flag that indicates whether the settings for this descriptor have been changed by the user.

In a PATCH request, this flag must be set to true to override the default settings. If this flag to false in a PATCH request, the default user settings for this descriptor are restored (and all other fields are ignored).

","type":"boolean"},"message_id":{"description":"The message ID.","minLength":1,"type":"string"},"priority":{"description":"The user priority.","enum":["hidden","informational","warning","action_required"],"type":"string"},"show_in_header":{"description":"Flag that indicates whether the alert is shown in the Business Manager header.","type":"boolean"},"show_on_banner":{"description":"Flag that indicates whether the alert is shown on the Business Manager banner (on every page).","type":"boolean"},"show_on_homepage":{"description":"Flag that indicates whether the alert is shown on the Business Manager homepage.","type":"boolean"}},"required":["application_context_path","application_id","is_user_override","message_id","priority","show_in_header","show_on_homepage"]},"alert_descriptors":{"description":"

Document containing a collection of alert descriptors.

","properties":{"data":{"description":"Collection of alert descriptors","items":{"$ref":"#/definitions/alert_descriptor"},"type":"array"}}},"alert_descriptors_revalidation_request":{"description":"

Contains parameters for a alert descriptor revalidation request.

","properties":{"context_object_id":{"description":"ID of the object in which context messages should be revalidated.","type":"string"}}},"alert_settings":{"description":"

Document containing the alert settings of a user.

","properties":{"settings":{"description":"Alert settings.","items":{"$ref":"#/definitions/alert_descriptor_settings"},"type":"array"}}},"application_permissions":{"description":"

Document representing the available applications for retrieving permissions.

","properties":{"applications":{"description":"The available applications (e.g. 'bm' for Business Manager).","items":{"type":"string"},"type":"array"},"bm":{"$ref":"#/definitions/bmpermissions","description":"The permissions of application 'bm'."},"csc":{"$ref":"#/definitions/cscpermissions","description":"The permissions of application 'csc'."}}},"bmpermissions":{"properties":{"functional":{"$ref":"#/definitions/functional_permissions"},"functional_link":{"type":"string"},"locale":{"$ref":"#/definitions/locale_permissions"},"locale_link":{"type":"string"},"module":{"$ref":"#/definitions/module_permissions"},"module_link":{"type":"string"},"types":{"items":{"type":"string"},"type":"array"},"webdav":{"$ref":"#/definitions/webdav_permissions"},"webdav_link":{"type":"string"}}},"bool_filter":{"description":"

Document representing a boolean filter.\n \n A boolean filter allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter\n is configured with a boolean operator (AND, OR, NOT) and a list of filters the operator relates to. If multiple\n filters are given to a boolean NOT operator, this is interpreted as a NOT upon a boolean OR of the given filters.\n \n Example: (id=\"myId\" AND coupon_id=\"couponOne\")\n

 \n  query: {\n     filtered_query: {\n         query: { match_all_query: {} },\n         filter: {\n             bool_filter: {\n                 operator: \"and\",\n                 filters: [\n                     { term_filter: { field: \"id\", operator: \"is\", values: [\"myId\"] } },\n                     { term_filter: { field: \"coupon_id\", operator: \"is\", values: [\"couponOne\"] } }\n                 ]\n             }\n         }\n     }\n  }\n   
\n Example: (id=\"holidaySale\" OR redemption_count BETWEEN(1, 20)\n
 \n     query: {\n         filtered_query: {\n             query: { match_all_query: {} },\n             filter: {\n                 bool_filter: {\n                 operator: \"or\",\n                 filters: [\n                     { term_filter: { field: \"id\", operator: \"is\", values: [\"holidaySale\"] } },\n                     { range_filter: { field: \"redemption_count\", from: 1, to: 20 } }\n                 ]\n             }\n         }\n     }\n  }\n   
\n Example: NOT(enabled=false OR coupon_id=\"special\")\n
 \n     query: {\n         filtered_query: {\n             query: { match_all_query: {} },\n             filter: {\n                 bool_filter: {\n                 operator: \"not\",\n                 filters: [\n                     { term_filter: { field: \"enabled\", operator: \"is\", values: [false] } },\n                     { term_filter: { field: \"coupon_id\", operator: \"is\", values: [\"special\"] } }\n                 ]\n             }\n         }\n     }\n  }\n   

","properties":{"filters":{"description":"A list of filters, which are logically combined by an operator.","items":{"$ref":"#/definitions/filter"},"x-sub_types":{"range_filter":"#/definitions/range_filter","bool_filter":"#/definitions/bool_filter","query_filter":"#/definitions/query_filter","term_filter":"#/definitions/term_filter","range2_filter":"#/definitions/range2_filter"},"type":"array"},"operator":{"description":"The logical operator the filters are combined with.","enum":["and","or","not"],"type":"string"}},"required":["operator"]},"bool_query":{"description":"

A boolean query allows construction of full logical expression trees consisting of other queries (usually term and text\nqueries). A boolean query basically has 3 sets of clauses that 'must', 'should' and / or 'must not' match. If 'must',\n'must_not', or 'should' appear in the same boolean query, they are combined logically using the AND operator.\nThe difference between must and should operators is that the must operator requires all subqueries to match whereas the should operator only requires one match\n \n Example: (id = 'foo' AND description LIKE 'bar')\n

 \n   query: {\n       bool_query: {\n           must: [\n               { term_query: { fields: [\"id\"], operator: \"is\", values: [\"foo\"] } },\n               { text_query: { fields: [\"description\"], search_phrase: \"bar\" } }\n           ]\n       }\n   }\n 
\n\n Example: (id = 'foo' OR description LIKE 'bar')\n
 \n   query: {\n       bool_query: {\n           should: [\n               { term_query: { fields: [\"id\"], operator: \"is\", values: [\"foo\"] } },\n               { text_query: { fields: [\"description\"], search_phrase: \"bar\" } }\n           ]\n       }\n   }\n 
\n\n Example: (NOT (id = 'foo' AND description LIKE 'bar'))\n
 \n   query: {\n       bool_query: {\n           must_not: [\n               { term_query: { fields: [\"id\"], operator: \"is\", values: [\"foo\"] } },\n               { text_query: { fields: [\"description\"], search_phrase: \"bar\" } }\n           ]\n       }\n   }\n 
\n\n Example: ((coupon_id LIKE \"limit\" AND description LIKE \"limit per customer\") AND NOT (enabled=false))\n
 \n   query: {\n       bool_query: {\n           must: [\n               { text_query: { fields: [ \"coupon_id\" ], search_phrase: \"limit\" } },\n               { text_query: { fields: [ \"description\" ], search_phrase: \"limit per customer\" } }\n           ],\n           must_not: [\n               { term_query: { fields: [ \"enabled\" ], operator: \"is\", values: [false] } }\n           ]\n       }\n   }\n 

","properties":{"must":{"description":"List of queries that must match.","items":{"$ref":"#/definitions/query"},"x-sub_types":{"nested_query":"#/definitions/nested_query","filtered_query":"#/definitions/filtered_query","text_query":"#/definitions/text_query","match_all_query":"#/definitions/match_all_query","term_query":"#/definitions/term_query","bool_query":"#/definitions/bool_query"},"type":"array"},"must_not":{"description":"List of queries that must not match.","items":{"$ref":"#/definitions/query"},"x-sub_types":{"nested_query":"#/definitions/nested_query","filtered_query":"#/definitions/filtered_query","text_query":"#/definitions/text_query","match_all_query":"#/definitions/match_all_query","term_query":"#/definitions/term_query","bool_query":"#/definitions/bool_query"},"type":"array"},"should":{"description":"List of queries that should match (i.e., at least one query must match).","items":{"$ref":"#/definitions/query"},"x-sub_types":{"nested_query":"#/definitions/nested_query","filtered_query":"#/definitions/filtered_query","text_query":"#/definitions/text_query","match_all_query":"#/definitions/match_all_query","term_query":"#/definitions/term_query","bool_query":"#/definitions/bool_query"},"type":"array"}}},"campaign":{"description":"

Document representing a campaign.

","properties":{"campaign_id":{"description":"The ID of the campaign.","x-label":{"default":"ID"},"maxLength":256,"minLength":1,"type":"string"},"coupons":{"description":"The array of assigned coupon IDs, not sorted","items":{"type":"string"},"type":"array"},"creation_date":{"description":"Returns the value of attribute 'creationDate'.","format":"date-time","x-label":{"default":"Creation Date"},"readOnly":true,"type":"string"},"customer_groups":{"description":"The array of assigned customer groups, not sorted","items":{"type":"string"},"type":"array"},"description":{"description":"The description of the campaign.","format":"text","x-label":{"default":"Description"},"maxLength":4000,"type":"string"},"enabled":{"description":"The enabled flag for campaign.","type":"boolean"},"end_date":{"description":"The date that the Scenario ends","format":"date-time","x-label":{"default":"End Date"},"type":"string"},"last_modified":{"description":"Returns the value of attribute 'lastModified'.","format":"date-time","x-label":{"default":"Last Modified"},"readOnly":true,"type":"string"},"link":{"description":"link for convenience","type":"string"},"source_code_groups":{"description":"The array of assigned source code groups, not sorted","items":{"type":"string"},"type":"array"},"start_date":{"description":"The date that the Scenario begins","format":"date-time","x-label":{"default":"Start Date"},"type":"string"}}},"campaign_search_result":{"description":"

Document representing a campaign search result.

","properties":{"count":{"description":"The number of returned documents","format":"int32","type":"integer"},"data":{"items":{"type":"object"},"type":"array"},"db_start_record_":{"description":"The zero-based index of the record that we want to start with, used to optimize special handling","format":"int32","minimum":0,"type":"integer"},"expand":{"description":"List of expansions to be applied to each search results. Expands are optional","items":{"type":"string"},"type":"array"},"hits":{"description":"The sorted array of search hits. Can be empty.","items":{"$ref":"#/definitions/campaign"},"type":"array"},"next":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the next result page."},"previous":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the previous result page."},"query":{"$ref":"#/definitions/query","description":"The query passed into the search","x-sub_types":{"nested_query":"#/definitions/nested_query","filtered_query":"#/definitions/filtered_query","text_query":"#/definitions/text_query","match_all_query":"#/definitions/match_all_query","term_query":"#/definitions/term_query","bool_query":"#/definitions/bool_query"}},"select":{"description":"The field to be selected.","type":"string"},"sorts":{"description":"The list of sort clauses configured for the search request. Sort clauses are optional.","items":{"$ref":"#/definitions/sort"},"type":"array"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The number of returned documents","format":"int32","type":"integer"}}},"campaigns":{"description":"

Document representing an unfiltered list of campaigns.

","properties":{"count":{"description":"The number of returned documents.","format":"int32","type":"integer"},"data":{"items":{"$ref":"#/definitions/campaign"},"type":"array"},"expand":{"description":"The list of expands set for the search request. Expands are optional.","items":{"type":"string"},"type":"array"},"next":{"description":"The URL of the next result page.","type":"string"},"previous":{"description":"The URL of the previous result page.","type":"string"},"select":{"description":"The fields that you want to select.","type":"string"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The total number of documents.","format":"int32","type":"integer"}}},"cartridge_path_add_request":{"description":"

Request body for post operation

","properties":{"name":{"description":"Name of the cartridge.","type":"string"},"position":{"description":"Position of the cartridge.","enum":["first","last","before","after"],"type":"string"},"target":{"description":"When position is 'before' or 'after', need to specify the target cartridge","type":"string"}},"required":["name","position"]},"cartridge_path_api_response":{"description":"

Response of cartridge path related operation

","properties":{"cartridges":{"description":"Updated cartridge path","type":"string"},"site_id":{"description":"Site id","type":"string"}}},"cartridge_path_create_request":{"description":"

Request Body for put operation

","properties":{"cartridges":{"description":"New cartridge path","type":"string"}},"required":["cartridges"]},"catalog":{"description":"

Document representing a catalog

","properties":{"assigned_product_count":{"description":"The count of products assigned to the catalog. It is read only.","format":"int32","type":"integer"},"assigned_sites":{"description":"The sites assigned to the catalog. It is read only.","items":{"$ref":"#/definitions/site"},"type":"array"},"category_count":{"description":"The category count of catalog. It is read only.","format":"int32","type":"integer"},"creation_date":{"description":"Returns the value of attribute 'creationDate'.","format":"date-time","x-label":{"default":"Creation Date"},"readOnly":true,"type":"string"},"description":{"additionalProperties":{"type":"string"},"description":"The description of catalog","format":"localized","x-label":{"default":"Description"},"type":"object"},"id":{"description":"The catalog Id","x-label":{"default":"ID"},"type":"string"},"last_modified":{"description":"Returns the value of attribute 'lastModified'.","format":"date-time","x-label":{"default":"Last Modified"},"readOnly":true,"type":"string"},"link":{"description":"URL that is used to get this instance. It is read only.","type":"string"},"name":{"additionalProperties":{"type":"string"},"description":"The catalog name","format":"localized","x-label":{"default":"Name"},"type":"object"},"online":{"description":"The online status of catalog","type":"boolean"},"owned_product_count":{"description":"The count of products owned by the catalog. It is read only.","format":"int32","type":"integer"},"recommendation_count":{"description":"The recommendation count of the catalog. It is read only.","format":"int32","type":"integer"},"root_category":{"description":"The root category of the catalog. It is read only","type":"string"}}},"catalog_category_id":{"description":"

Document representing a catalog category id.

","properties":{"catalog_id":{"description":"The id of the catalog that owns the category.","maxLength":256,"minLength":1,"type":"string"},"category_id":{"description":"The id of the category.","maxLength":256,"minLength":1,"type":"string"}}},"catalog_search_result":{"description":"

Document representing a catalog search result.

","properties":{"count":{"description":"The number of returned documents","format":"int32","type":"integer"},"data":{"items":{"type":"object"},"type":"array"},"db_start_record_":{"description":"The zero-based index of the record that we want to start with, used to optimize special handling","format":"int32","minimum":0,"type":"integer"},"expand":{"description":"List of expansions to be applied to each search results. Expands are optional","items":{"type":"string"},"type":"array"},"hits":{"description":"The sorted array of search hits. Can be empty.","items":{"$ref":"#/definitions/catalog"},"type":"array"},"next":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the next result page."},"previous":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the previous result page."},"query":{"$ref":"#/definitions/query","description":"The query passed into the search","x-sub_types":{"nested_query":"#/definitions/nested_query","filtered_query":"#/definitions/filtered_query","text_query":"#/definitions/text_query","match_all_query":"#/definitions/match_all_query","term_query":"#/definitions/term_query","bool_query":"#/definitions/bool_query"}},"select":{"description":"The field to be selected.","type":"string"},"sorts":{"description":"The list of sort clauses configured for the search request. Sort clauses are optional.","items":{"$ref":"#/definitions/sort"},"type":"array"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The number of returned documents","format":"int32","type":"integer"}}},"catalogs":{"description":"

Document representing an unfiltered list of catalogs.

","properties":{"count":{"description":"The number of returned documents.","format":"int32","type":"integer"},"data":{"description":"The collection of catalogs.","items":{"$ref":"#/definitions/catalog"},"type":"array"},"expand":{"description":"The list of expands set for the search request. Expands are optional.","items":{"type":"string"},"type":"array"},"next":{"description":"The URL of the next result page.","type":"string"},"previous":{"description":"The URL of the previous result page.","type":"string"},"select":{"description":"The fields that you want to select.","type":"string"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The total number of documents.","format":"int32","type":"integer"}}},"categories":{"description":"

Document representing an unfiltered list of categories.

","properties":{"count":{"description":"The number of returned documents.","format":"int32","type":"integer"},"data":{"items":{"$ref":"#/definitions/category"},"type":"array"},"expand":{"description":"The list of expands set for the search request. Expands are optional.","items":{"type":"string"},"type":"array"},"next":{"description":"The URL of the next result page.","type":"string"},"previous":{"description":"The URL of the previous result page.","type":"string"},"select":{"description":"The fields that you want to select.","type":"string"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The total number of documents.","format":"int32","type":"integer"}}},"category":{"description":"

Document representing a category.

","properties":{"c_alternativeUrl":{"$ref":"#/definitions/markup_text","description":"Renders an alternative URL in main navigation. Uses Commerce Cloud content url notation. For example: $url('Account-Show')$ or normal URL http://xchange.demandware.com","x-label":{"default":"Alternative URL"}},"c_catBannerID":{"description":"Used to define the content asset used to populate a grid page banner for a category. This value is applied to all sub-category navigation (cascading) if no specific catBannerID has been defined for a sub-category.","x-label":{"default":"Category Banner ID"},"type":"string"},"c_customCSSFile":{"$ref":"#/definitions/media_file","description":"Use this attribute to apply custom styles for this category.","x-label":{"default":"Custom CSS File"}},"c_enableCompare":{"description":"Used to define if/when the Compare feature is to be visualized in the storefront based on navigation. If enableCompare = FALSE, no Compare checkboxes will be displayed in the grid view. If enableCompare = TRUE, the category (and its children) will support the Compare feature.","x-label":{"default":"Enable Compare"},"type":"boolean"},"c_headerMenuBanner":{"$ref":"#/definitions/markup_text","x-label":{"default":"Header Menu Banner"}},"c_headerMenuOrientation":{"description":"Which way to orient the menu and optional header menu HTML. Vertical will list all in one line. Horizontal will list in columns.","enum":["Horizontal","Vertical"],"x-enum-labels":[{"default":"Horizontal"},{"default":"Vertical"}],"x-label":{"default":"Header Menu Orientation"},"type":"string"},"c_showInMenu":{"description":"Used to indicate that a category (such as Mens -> Footwear -> Boots) will display in the roll-over navigation. A sub-category only shows if also the parent category is marked as showInMenu. Up to three category levels are shown in roll-over navigation.","x-label":{"default":"Show in Menu Navigation"},"type":"boolean"},"c_sizeChartID":{"description":"Used to define the content asset ID of the Size Chart that is appropriate for products whose PRIMARY category is the associated category (and its children). Whenever a product detail page (or quick view) is rendered, the Size Chart link is populated based on the value of this attribute for the products primary categorization. If not defined, NO size chart link is displayed.","x-label":{"default":"Size Chart"},"type":"string"},"c_slotBannerHtml":{"additionalProperties":{"$ref":"#/definitions/markup_text"},"format":"localized","x-label":{"default":"Slot Banner HTML"},"type":"object"},"c_slotBannerImage":{"$ref":"#/definitions/media_file","description":"Image used on either the top or bottom slot on the category landing pages.","x-label":{"default":"Category Landing Slot Image"}},"catalog_id":{"description":"The id of the catalog that contains it.","x-label":{"default":"ID"},"type":"string"},"categories":{"description":"The array of sub categories for the category.","items":{"$ref":"#/definitions/category"},"type":"array"},"creation_date":{"description":"Returns the value of attribute 'creationDate'.","format":"date-time","x-label":{"default":"Creation Date"},"readOnly":true,"type":"string"},"description":{"additionalProperties":{"type":"string"},"description":"The localized description of the category.","format":"localized","x-label":{"default":"Description"},"type":"object"},"id":{"description":"The id of the category.","x-label":{"default":"ID"},"maxLength":256,"minLength":1,"type":"string"},"image":{"description":"The name of the category image. The URL to the image is computed.","x-label":{"default":"Standard Image"},"maxLength":256,"minLength":1,"type":"string"},"last_modified":{"description":"Returns the value of attribute 'lastModified'.","format":"date-time","x-label":{"default":"Last Modified"},"readOnly":true,"type":"string"},"link":{"description":"The URL to get the category. This is a computed attribute and cannot be modified.","type":"string"},"name":{"additionalProperties":{"type":"string"},"description":"The localized name of the category.","format":"localized","x-label":{"default":"Name"},"type":"object"},"online":{"description":"The online status of the category determines if it is visible in the storefront. Defaults to false if not specified on create.","x-label":{"default":"Online"},"type":"boolean"},"page_description":{"additionalProperties":{"type":"string"},"description":"The localized page description of the category.","format":"localized","x-label":{"default":"Page Description"},"type":"object"},"page_keywords":{"additionalProperties":{"type":"string"},"description":"The localized page keywords for the category.","format":"localized","x-label":{"default":"Page Keywords"},"type":"object"},"page_title":{"additionalProperties":{"type":"string"},"description":"The localized page title of the category.","format":"localized","x-label":{"default":"Page Title"},"type":"object"},"parent_category_id":{"description":"The id of the parent category. Defaults to root if not specified on create.","maxLength":256,"minLength":1,"type":"string"},"paths":{"items":{"$ref":"#/definitions/path_record"},"type":"array"},"position":{"description":"The position of the category determines the display order in the storefront.","format":"double","type":"number"},"sorting_rules":{"items":{"$ref":"#/definitions/sorting_rule"},"type":"array"},"thumbnail":{"description":"The name of the category thumbnail. The URL to the thumbnail is computed.","x-label":{"default":"Thumbnail Image"},"maxLength":256,"minLength":1,"type":"string"}}},"category_link":{"description":"

Document representing a category link

","properties":{"last_modified":{"description":"The date the link was last modified","format":"date-time","type":"string"},"link":{"description":"URL that is used to get this instance","type":"string"},"position":{"description":"The position in the source catalog / category for this link relative to the other links in the same category.","format":"double","minimum":0.0,"type":"number"},"source_catalog_id":{"description":"The source catalog for the link","type":"string"},"source_catalog_name":{"additionalProperties":{"type":"string"},"description":"The name of the source catalog","format":"localized","type":"object"},"source_category_id":{"description":"The source category for the link","type":"string"},"source_category_name":{"additionalProperties":{"type":"string"},"description":"The name of the source category","format":"localized","type":"object"},"target_catalog_id":{"description":"The target category for the link","type":"string"},"target_catalog_name":{"additionalProperties":{"type":"string"},"description":"The name of the target catalog","format":"localized","type":"object"},"target_category_id":{"description":"The target category for the link","type":"string"},"target_category_name":{"additionalProperties":{"type":"string"},"description":"The name of the target category","format":"localized","type":"object"},"type":{"description":"The link type","enum":["other","accessories","cross_selling","up_selling","spare_parts"],"type":"string"}}},"category_links":{"description":"

Document representing an unfiltered list of category links.

","properties":{"count":{"description":"The number of returned documents.","format":"int32","type":"integer"},"data":{"items":{"$ref":"#/definitions/category_link"},"type":"array"},"expand":{"description":"The list of expands set for the search request. Expands are optional.","items":{"type":"string"},"type":"array"},"next":{"description":"The URL of the next result page.","type":"string"},"previous":{"description":"The URL of the previous result page.","type":"string"},"select":{"description":"The fields that you want to select.","type":"string"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The total number of documents.","format":"int32","type":"integer"}}},"category_product_assignment":{"description":"

Document representing a category product assignment.

","properties":{"catalog_id":{"description":"The id of the catalog.","maxLength":256,"minLength":1,"type":"string"},"category_id":{"description":"The id of the category.","maxLength":256,"minLength":1,"type":"string"},"creation_date":{"format":"date-time","type":"string"},"last_modified":{"format":"date-time","type":"string"},"link":{"description":"The URL used to get the product category assignment.","type":"string"},"owning_catalog_name":{"additionalProperties":{"type":"string"},"description":"The name of the catalog that owns the product.","format":"localized","type":"object"},"position":{"description":"The position of product category assignment.","format":"double","type":"number"},"product":{"$ref":"#/definitions/product","description":"The product that is assigned to the category."},"product_id":{"description":"The id of the Product.","maxLength":256,"minLength":1,"type":"string"},"product_name":{"additionalProperties":{"type":"string"},"description":"The name of the product.","format":"localized","type":"object"}}},"category_product_assignment_search_request":{"description":"

Document representing product_search_request

","properties":{"count":{"description":"The number of returned documents","format":"int32","maximum":200,"minimum":1,"type":"integer"},"db_start_record_":{"description":"The zero-based index of the record that we want to start with, used to optimize special handling","format":"int32","minimum":0,"type":"integer"},"expand":{"description":"The list of expansions that can be applied:\n ","items":{"type":"string"},"type":"array"},"query":{"$ref":"#/definitions/query","description":"The query passed into the search","x-sub_types":{"nested_query":"#/definitions/nested_query","filtered_query":"#/definitions/filtered_query","text_query":"#/definitions/text_query","match_all_query":"#/definitions/match_all_query","term_query":"#/definitions/term_query","bool_query":"#/definitions/bool_query"}},"select":{"description":"The field to be selected.","type":"string"},"sorts":{"description":"The list of sort clauses configured for the search request. Sort clauses are optional.","items":{"$ref":"#/definitions/sort"},"type":"array"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"}},"required":["query"]},"category_product_assignment_search_result":{"description":"

Document representing a product search result.

","properties":{"count":{"description":"The number of returned documents","format":"int32","type":"integer"},"data":{"items":{"type":"object"},"type":"array"},"db_start_record_":{"description":"The zero-based index of the record that we want to start with, used to optimize special handling","format":"int32","minimum":0,"type":"integer"},"expand":{"description":"List of expansions to be applied to each search results. Expands are optional","items":{"type":"string"},"type":"array"},"hits":{"description":"The sorted array of search hits. This array can be empty.","items":{"$ref":"#/definitions/category_product_assignment"},"type":"array"},"next":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the next result page."},"previous":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the previous result page."},"query":{"$ref":"#/definitions/query","description":"The query passed into the search","x-sub_types":{"nested_query":"#/definitions/nested_query","filtered_query":"#/definitions/filtered_query","text_query":"#/definitions/text_query","match_all_query":"#/definitions/match_all_query","term_query":"#/definitions/term_query","bool_query":"#/definitions/bool_query"}},"select":{"description":"The field to be selected.","type":"string"},"sorts":{"description":"The list of sort clauses configured for the search request. Sort clauses are optional.","items":{"$ref":"#/definitions/sort"},"type":"array"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The number of returned documents","format":"int32","type":"integer"}}},"category_search_result":{"description":"

Document representing a catalog search result.

","properties":{"count":{"description":"The number of returned documents","format":"int32","type":"integer"},"data":{"items":{"type":"object"},"type":"array"},"db_start_record_":{"description":"The zero-based index of the record that we want to start with, used to optimize special handling","format":"int32","minimum":0,"type":"integer"},"expand":{"description":"List of expansions to be applied to each search results. Expands are optional","items":{"type":"string"},"type":"array"},"hits":{"description":"The sorted array of search hits. Can be empty.","items":{"$ref":"#/definitions/category"},"type":"array"},"next":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the next result page."},"previous":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the previous result page."},"query":{"$ref":"#/definitions/query","description":"The query passed into the search","x-sub_types":{"nested_query":"#/definitions/nested_query","filtered_query":"#/definitions/filtered_query","text_query":"#/definitions/text_query","match_all_query":"#/definitions/match_all_query","term_query":"#/definitions/term_query","bool_query":"#/definitions/bool_query"}},"select":{"description":"The field to be selected.","type":"string"},"sorts":{"description":"The list of sort clauses configured for the search request. Sort clauses are optional.","items":{"$ref":"#/definitions/sort"},"type":"array"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The number of returned documents","format":"int32","type":"integer"}}},"code_version":{"description":"

Document representing a code version

","properties":{"activation_time":{"description":"The code version activation time.","format":"date-time","type":"string"},"active":{"description":"Use this method to determine, if this code version is currently active.","type":"boolean"},"cartridges":{"description":"A list containing the names of all cartridges participating in this code version.","items":{"type":"string"},"type":"array"},"compatibility_mode":{"description":"The code version compatibility mode.","type":"string"},"id":{"description":"The code version id.","type":"string"},"last_modification_time":{"description":"The last time, when the code version was changed.","format":"date-time","type":"string"},"rollback":{"description":"Use this method to determine, if this code version is the current rollback version.","type":"boolean"},"total_size":{"description":"Returns the total size of the file system content of this code version in bytes.","format":"int64","type":"integer"},"web_dav_url":{"description":"Returns the HTTPS based WebDAV URL that can be used to access the code version resources.","type":"string"}}},"code_version_result":{"description":"

Result document containing an array of code versions.

","properties":{"count":{"description":"The number of returned documents.","format":"int32","type":"integer"},"data":{"description":"The array of code versions","items":{"$ref":"#/definitions/code_version"},"type":"array"},"next":{"description":"The URL of the next result page.","type":"string"},"previous":{"description":"The URL of the previous result page.","type":"string"},"select":{"description":"The fields that you want to select.","type":"string"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The total number of documents.","format":"int32","type":"integer"}}},"content_asset":{"description":"

Document representing a content asset.

","properties":{"c_Year":{"x-label":{"default":"Year"},"type":"string"},"c_body":{"additionalProperties":{"$ref":"#/definitions/markup_text"},"format":"localized","x-label":{"default":"Body"},"type":"object"},"c_customCSSFile":{"$ref":"#/definitions/media_file","description":"Use this attribute to apply custom styles for this content asset.","x-label":{"default":"Custom CSS File"}},"classification_folder_id":{"description":"The ID of the classification folder. It is only part of the response, if the assignment from this content asset to the folder is marked as 'default'. The property is read-only. To set the classification folder just create/update an assignment between this content asset and a folder and mark it as 'default'. See details in /libraries/{library_id}/folder_assignments/{content_id}/{folder_id} resource.","type":"string"},"classification_folder_link":{"description":"The link to the classification folder. It is only part of the response, if the assignment from this content asset to the folder is marked as 'default'. The property is read-only. To set the classification folder just create/update an assignment between this content asset and a folder and mark it as 'default'. See details in /libraries/{library_id}/folder_assignments/{content_id}/{folder_id} resource.","type":"string"},"creation_date":{"description":"Returns the value of attribute 'creationDate'.","format":"date-time","x-label":{"default":"Creation Date"},"readOnly":true,"type":"string"},"description":{"additionalProperties":{"type":"string"},"description":"The localized content asset description.","format":"localized","x-label":{"default":"Description"},"type":"object"},"id":{"description":"The id of the content asset.","x-label":{"default":"ID"},"maxLength":256,"minLength":1,"type":"string"},"last_modified":{"description":"Returns the value of attribute 'lastModified'.","format":"date-time","x-label":{"default":"Last Modified"},"readOnly":true,"type":"string"},"link":{"description":"The link to the content asset resource.","type":"string"},"name":{"additionalProperties":{"type":"string"},"description":"The localized content asset name.","format":"localized","x-label":{"default":"Name"},"type":"object"},"online":{"additionalProperties":{"type":"boolean"},"description":"Is the asset online?","format":"site-specific","x-label":{"default":"Online"},"type":"object"},"page_description":{"additionalProperties":{"type":"string"},"description":"The localized content asset page description.","format":"localized","x-label":{"default":"Page Description"},"type":"object"},"page_keywords":{"additionalProperties":{"type":"string"},"description":"The localized content asset page keywords.","format":"localized","x-label":{"default":"Page Keywords"},"type":"object"},"page_title":{"additionalProperties":{"type":"string"},"description":"The localized content asset page title.","format":"localized","x-label":{"default":"Page Title"},"type":"object"},"page_url":{"additionalProperties":{"type":"string"},"description":"The localized content asset page url.","format":"localized","x-label":{"default":"Page URL"},"type":"object"},"searchable":{"additionalProperties":{"type":"boolean"},"description":"Is the asset searchable?","format":"site-specific","type":"object"},"site_map_change_frequency":{"additionalProperties":{"enum":["always","daily","hourly","monthly","never","weekly","yearly"],"x-enum-labels":[{"default":"always"},{"default":"daily"},{"default":"hourly"},{"default":"monthly"},{"default":"never"},{"default":"weekly"},{"default":"yearly"}],"type":"string"},"description":"The content assets change frequency needed for the sitemap creation (always, hourly, daily, weekly, monthly, yearly, never).","format":"site-specific","x-label":{"default":"Change Frequency"},"type":"object"},"site_map_included":{"additionalProperties":{"enum":[0,1],"x-enum-labels":[{"default":"NO"},{"default":"YES"}],"format":"int32","maximum":1,"minimum":0,"type":"integer"},"description":"The status if the content asset is included into the sitemap (either 0 or 1).","format":"site-specific","x-label":{"default":"Included"},"type":"object"},"site_map_priority":{"additionalProperties":{"format":"double","maximum":1.0,"type":"number"},"description":"The content assets priority needed for the sitemap creation (0.0 for no priority defined).","format":"site-specific","x-label":{"default":"Priority"},"type":"object"},"template":{"description":"The rendering template.","x-label":{"default":"Rendering Template"},"type":"string"}}},"content_asset_result":{"description":"

Result document containing an array of content assets.

","properties":{"count":{"description":"The number of search results in the current page.","format":"int32","type":"integer"},"data":{"description":"The returned objects.","items":{"type":"object"},"type":"array"},"hits":{"description":"The sorted array of search hits. This array can be empty.","items":{"$ref":"#/definitions/content_asset"},"type":"array"},"next":{"description":"The URL of the next result page.","type":"string"},"previous":{"description":"The URL of the previous result page.","type":"string"},"select":{"description":"The fields that you want to select.","type":"string"},"start":{"description":"The zero-based index of the first search result to include in the document.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The total number of search results.","format":"int32","type":"integer"}}},"content_folder":{"description":"

Document representing a content folder.

","properties":{"c_customCSSFile":{"$ref":"#/definitions/media_file","description":"Use this attribute to apply custom styles for this category.","x-label":{"default":"Custom CSS File"}},"creation_date":{"description":"Returns the value of attribute 'creationDate'.","format":"date-time","x-label":{"default":"Creation Date"},"readOnly":true,"type":"string"},"description":{"additionalProperties":{"type":"string"},"description":"The localized content folder description.","format":"localized","x-label":{"default":"Description"},"type":"object"},"id":{"description":"The id of the content folder.","x-label":{"default":"ID"},"maxLength":256,"type":"string"},"last_modified":{"description":"Returns the value of attribute 'lastModified'.","format":"date-time","x-label":{"default":"Last Modified"},"readOnly":true,"type":"string"},"link":{"description":"The link to the content folder resource.","type":"string"},"name":{"additionalProperties":{"type":"string"},"description":"The localized content folder name.","format":"localized","x-label":{"default":"Name"},"type":"object"},"online":{"description":"A flag indicating whether the folder in online (default is false).","x-label":{"default":"Online"},"type":"boolean"},"page_description":{"additionalProperties":{"type":"string"},"description":"The localized content folder page description.","format":"localized","x-label":{"default":"Page Description"},"type":"object"},"page_keywords":{"additionalProperties":{"type":"string"},"description":"The localized content folder page keywords.","format":"localized","x-label":{"default":"Page Keywords"},"type":"object"},"page_title":{"additionalProperties":{"type":"string"},"description":"The localized content folder page title.","format":"localized","x-label":{"default":"Page Title"},"type":"object"},"page_url":{"additionalProperties":{"type":"string"},"description":"The localized content folder page URL.","format":"localized","x-label":{"default":"Page URL"},"type":"object"},"parent_folder_id":{"description":"The id of the parent content folder.","type":"string"},"parent_link":{"description":"The URL to the parent content folder.","type":"string"},"sub_folders_link":{"description":"The URL to list the content sub-folders.","type":"string"},"template":{"description":"The rendering template.","x-label":{"default":"Rendering Template"},"type":"string"}}},"content_folder_assignment":{"description":"

Document representing a content folder assignment.

","properties":{"content_id":{"description":"The content id.","maxLength":256,"type":"string"},"content_link":{"description":"The content link.","type":"string"},"default":{"description":"A flag indicating whether the assignment is the default one.","type":"boolean"},"folder_id":{"description":"The folder id.","maxLength":256,"type":"string"},"folder_link":{"description":"The folder link.","type":"string"},"position":{"description":"The position of the content asset in the folder.","format":"double","minimum":0.0,"type":"number"}}},"content_folder_result":{"description":"

Result document containing an array of content folders.

","properties":{"count":{"description":"The number of search results in the current page.","format":"int32","type":"integer"},"data":{"description":"The returned objects.","items":{"type":"object"},"type":"array"},"hits":{"description":"The sorted array of search hits. This array can be empty.","items":{"$ref":"#/definitions/content_folder"},"type":"array"},"next":{"description":"The URL of the next result page.","type":"string"},"previous":{"description":"The URL of the previous result page.","type":"string"},"select":{"description":"The fields that you want to select.","type":"string"},"start":{"description":"The zero-based index of the first search result to include in the document.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The total number of search results.","format":"int32","type":"integer"}}},"content_sub_folder_result":{"description":"

Result document containing an array of content subfolders.

","properties":{"count":{"description":"The number of search results in the current page.","format":"int32","type":"integer"},"data":{"description":"The returned objects.","items":{"type":"object"},"type":"array"},"hits":{"description":"The sorted array of search hits. This array can be empty.","items":{"$ref":"#/definitions/content_folder"},"type":"array"},"next":{"description":"The URL of the next result page.","type":"string"},"previous":{"description":"The URL of the previous result page.","type":"string"},"select":{"description":"The fields that you want to select.","type":"string"},"start":{"description":"The zero-based index of the first search result to include in the document.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The total number of search results.","format":"int32","type":"integer"}}},"coupon":{"description":"

Document representing a coupon.

","properties":{"case_insensitive":{"description":"True if a coupon is case insensitive; false otherwise. This attribute on the coupon can not be\n modified after the coupon has been created. If an attempt was made to modify this the system would return\n CouponUpdateForbiddenException","type":"boolean"},"coupon_id":{"description":"The id of the coupon.","x-label":{"default":"ID"},"maxLength":256,"minLength":1,"readOnly":true,"type":"string"},"creation_date":{"description":"Returns the value of attribute 'creationDate'.","format":"date-time","x-label":{"default":"Creation Date"},"readOnly":true,"type":"string"},"description":{"description":"The description of the coupon.","maxLength":4000,"type":"string"},"enabled":{"description":"A flag indicating whether the coupon is enabled.","x-label":{"default":"Enabled"},"type":"boolean"},"exported_code_count":{"description":"The number of coupon codes attached to the coupon that have been issued (request search only).","format":"int32","type":"integer"},"last_modified":{"description":"Returns the value of attribute 'lastModified'.","format":"date-time","x-label":{"default":"Last Modified"},"readOnly":true,"type":"string"},"link":{"description":"A link to the coupon.","type":"string"},"multiple_codes_per_basket":{"description":"True if a coupon with multiple codes can have different codes used on the same basket or order. If the coupon\n type does not support this configuration, this will return false.","type":"boolean"},"redemption_count":{"description":"The number of times the coupon has been redeemed (request search only).","format":"int32","type":"integer"},"redemption_limits":{"$ref":"#/definitions/redemption_limits","description":"The redemption limit per coupon code."},"single_code":{"description":"Single coupon code, only valid for Single Code type","maxLength":256,"minLength":1,"type":"string"},"system_codes_config":{"$ref":"#/definitions/coupon_system_code_config","description":"The configuration of system coupon codes, including pre-fix and number of codes"},"total_codes_count":{"description":"The total number of coupon codes associated with this coupon","format":"int32","type":"integer"},"type":{"description":"The type of the coupon code.","enum":["single_code","multiple_codes","system_codes"],"x-enum-labels":[{"default":"Coupon with multiple fixed codes"},{"default":"Coupon with single fixed code"},{"default":"Coupon with system generated codes"}],"x-label":{"default":"Type"},"readOnly":true,"type":"string"}}},"coupon_code":{"description":"

A coupon code with accompanying stats for redemptions and issued.

","properties":{"code":{"description":"The code used to redeem the coupon","type":"string"},"issued":{"description":"Flag indicating if the coupon code has been issued","type":"boolean"},"redemption_count":{"description":"The count of the number of redemptions associated with the code","format":"int32","type":"integer"}}},"coupon_codes":{"description":"

Document representing a set of coupon codes.

","properties":{"count":{"description":"The number of returned documents.","format":"int32","type":"integer"},"data":{"description":"The collection of coupon codes","items":{"$ref":"#/definitions/coupon_code"},"type":"array"},"expand":{"description":"The list of expands set for the search request. Expands are optional.","items":{"type":"string"},"type":"array"},"next":{"description":"The URL of the next result page.","type":"string"},"previous":{"description":"The URL of the previous result page.","type":"string"},"select":{"description":"The fields that you want to select.","type":"string"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The total number of documents.","format":"int32","type":"integer"}}},"coupon_multi_codes_request":{"description":"

A request object to add and remove coupon codes from a document

","properties":{"codes":{"description":"The list of coupon codes to add or delete","items":{"type":"string"},"type":"array"}},"required":["codes"]},"coupon_redemption":{"description":"

A redemption record returned from the coupon redemption resources

","properties":{"code":{"description":"The coupon code that was redeemed","type":"string"},"coupon_id":{"description":"The coupon id that was redeemed","type":"string"},"creation_date":{"format":"date-time","type":"string"},"customer_email":{"description":"The customer email that was used to redeem it","type":"string"},"last_modified":{"format":"date-time","type":"string"},"order_no":{"description":"The order number where the redemption occurred","type":"string"},"view_order_url":{"description":"A URL able to access the order","type":"string"}}},"coupon_redemption_search_result":{"description":"

The result of the coupon redemption search

","properties":{"count":{"description":"The number of returned documents","format":"int32","type":"integer"},"data":{"items":{"type":"object"},"type":"array"},"db_start_record_":{"description":"The zero-based index of the record that we want to start with, used to optimize special handling","format":"int32","minimum":0,"type":"integer"},"expand":{"description":"List of expansions to be applied to each search results. Expands are optional","items":{"type":"string"},"type":"array"},"hits":{"description":"The hits from the search","items":{"$ref":"#/definitions/coupon_redemption"},"type":"array"},"next":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the next result page."},"previous":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the previous result page."},"query":{"$ref":"#/definitions/query","description":"The query passed into the search","x-sub_types":{"nested_query":"#/definitions/nested_query","filtered_query":"#/definitions/filtered_query","text_query":"#/definitions/text_query","match_all_query":"#/definitions/match_all_query","term_query":"#/definitions/term_query","bool_query":"#/definitions/bool_query"}},"select":{"description":"The field to be selected.","type":"string"},"sorts":{"description":"The list of sort clauses configured for the search request. Sort clauses are optional.","items":{"$ref":"#/definitions/sort"},"type":"array"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The number of returned documents","format":"int32","type":"integer"}}},"coupon_search_result":{"description":"

Document representing a coupon search result.

","properties":{"count":{"description":"The number of returned documents","format":"int32","type":"integer"},"data":{"items":{"type":"object"},"type":"array"},"db_start_record_":{"description":"The zero-based index of the record that we want to start with, used to optimize special handling","format":"int32","minimum":0,"type":"integer"},"expand":{"description":"List of expansions to be applied to each search results. Expands are optional","items":{"type":"string"},"type":"array"},"hits":{"description":"The sorted array of search hits. Can be empty.","items":{"$ref":"#/definitions/coupon"},"type":"array"},"next":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the next result page."},"previous":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the previous result page."},"query":{"$ref":"#/definitions/query","description":"The query passed into the search","x-sub_types":{"nested_query":"#/definitions/nested_query","filtered_query":"#/definitions/filtered_query","text_query":"#/definitions/text_query","match_all_query":"#/definitions/match_all_query","term_query":"#/definitions/term_query","bool_query":"#/definitions/bool_query"}},"select":{"description":"The field to be selected.","type":"string"},"sorts":{"description":"The list of sort clauses configured for the search request. Sort clauses are optional.","items":{"$ref":"#/definitions/sort"},"type":"array"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The number of returned documents","format":"int32","type":"integer"}}},"coupon_system_code_config":{"properties":{"code_prefix":{"description":"The code prefix for system-generated coupon codes.","x-label":{"default":"Code Prefix"},"type":"string"},"number_of_codes":{"description":"The number of system coupon codes that can be issued.","format":"int32","type":"integer"}}},"coupons":{"description":"

Document representing an unfiltered list of coupons.

","properties":{"count":{"description":"The number of returned documents.","format":"int32","type":"integer"},"data":{"items":{"$ref":"#/definitions/coupon"},"type":"array"},"expand":{"description":"The list of expands set for the search request. Expands are optional.","items":{"type":"string"},"type":"array"},"next":{"description":"The URL of the next result page.","type":"string"},"previous":{"description":"The URL of the previous result page.","type":"string"},"select":{"description":"The fields that you want to select.","type":"string"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The total number of documents.","format":"int32","type":"integer"}}},"credentials":{"description":"

Document representing the credentials of a customer.

","properties":{"enabled":{"description":"A flag indicating whether the customer is enabled and can log.","type":"boolean"},"locked":{"description":"A flag indicating whether the customer account is locked.","type":"boolean"},"login":{"description":"The login of the customer.","maxLength":256,"type":"string"},"password_question":{"description":"The password question.","maxLength":256,"type":"string"}},"required":["login"]},"cscpermissions":{"properties":{"module":{"$ref":"#/definitions/module_permissions"},"module_link":{"type":"string"},"types":{"items":{"type":"string"},"type":"array"}}},"custom_log_settings":{"description":"

Document representing custom logging settings.

","properties":{"debug_permitted":{"description":"False if the current instance is production.","type":"boolean"},"debug_to_file":{"description":"Indicates if custom debug logs are written to file.","type":"boolean"},"email_to":{"description":"Email addresses for fatal log messages with a maximum length of 1000 characters.","maxLength":1000,"type":"string"},"error_to_file":{"description":"Indicates if custom error logs are written to file.","type":"boolean"},"fatal_to_file":{"description":"Indicates if custom fatal logs are written to file.","type":"boolean"},"info_to_file":{"description":"Indicates if custom info logs are written to file.","type":"boolean"},"log_categories":{"description":"Defined custom log categories.","items":{"$ref":"#/definitions/log_category"},"type":"array"},"root_level":{"description":"Custom root category log level.","type":"string"},"warn_to_file":{"description":"Indicates if custom warn logs are written to file.","type":"boolean"}}},"custom_object":{"description":"

Document representing a custom object that contains all defined custom attributes for its object type.

","properties":{"key_property":{"description":"The name of the key property for the custom object. This is ignored in input documents.","type":"string"},"key_value_integer":{"description":"The id of the custom object when the type of the key is Integer. This is ignored in input documents.","format":"int32","type":"integer"},"key_value_string":{"description":"The id of the custom object when the type of the key is String. This is ignored in input documents.","type":"string"},"object_type":{"description":"The id of the object type. This is ignored in input documents.","type":"string"}}},"custom_object_search_result":{"description":"

Document representing a custom object search result.

","properties":{"count":{"description":"The number of returned documents","format":"int32","type":"integer"},"data":{"items":{"type":"object"},"type":"array"},"db_start_record_":{"description":"The zero-based index of the record that we want to start with, used to optimize special handling","format":"int32","minimum":0,"type":"integer"},"expand":{"description":"List of expansions to be applied to each search results. Expands are optional","items":{"type":"string"},"type":"array"},"hits":{"description":"The sorted array of search hits. May be empty.","items":{"$ref":"#/definitions/custom_object"},"type":"array"},"next":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the next result page."},"previous":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the previous result page."},"query":{"$ref":"#/definitions/query","description":"The query passed into the search","x-sub_types":{"nested_query":"#/definitions/nested_query","filtered_query":"#/definitions/filtered_query","text_query":"#/definitions/text_query","match_all_query":"#/definitions/match_all_query","term_query":"#/definitions/term_query","bool_query":"#/definitions/bool_query"}},"select":{"description":"The field to be selected.","type":"string"},"sorts":{"description":"The list of sort clauses configured for the search request. Sort clauses are optional.","items":{"$ref":"#/definitions/sort"},"type":"array"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The number of returned documents","format":"int32","type":"integer"}}},"customer":{"description":"

Document representing a customer.

","properties":{"birthday":{"description":"The customer's birthday.","format":"date","x-label":{"default":"Birthday"},"type":"string"},"c_familyStatus":{"x-label":{"default":"Family Status"},"type":"string"},"company_name":{"description":"The customer's company name.","x-label":{"default":"Company"},"maxLength":256,"type":"string"},"creation_date":{"description":"Returns the value of attribute 'creationDate'.","format":"date-time","x-label":{"default":"Creation Date"},"readOnly":true,"type":"string"},"credentials":{"$ref":"#/definitions/credentials","description":"The customer's credentials."},"customer_id":{"description":"The customer's id. Both registered and guest customers have a\n customer id.","maxLength":28,"type":"string"},"customer_no":{"description":"The customer's number.","x-label":{"default":"Customer No."},"maxLength":100,"type":"string"},"email":{"description":"The customer's email address.","format":"email","x-label":{"default":"Email"},"maxLength":256,"type":"string"},"fax":{"description":"The fax number to use for the customer.\n The length is restricted to 32 characters.","x-label":{"default":"Fax Number"},"maxLength":32,"type":"string"},"first_name":{"description":"The customer's first name.","x-label":{"default":"First Name"},"maxLength":256,"type":"string"},"gender":{"description":"The customer's gender.","enum":[1,2],"x-enum-labels":[{"default":"Male"},{"default":"Female"}],"format":"int32","x-label":{"default":"Gender"},"type":"integer"},"global_party_id":{"description":"The Global Party ID is set by Customer 360 and identifies a person across multiple systems.","type":"string"},"job_title":{"description":"The customer's job title.","x-label":{"default":"Job Title"},"maxLength":256,"type":"string"},"last_login_time":{"description":"The last login time of the customer.","format":"date-time","x-label":{"default":"Last Login Time"},"readOnly":true,"type":"string"},"last_modified":{"description":"Returns the value of attribute 'lastModified'.","format":"date-time","x-label":{"default":"Last Modified"},"readOnly":true,"type":"string"},"last_name":{"description":"The customer's last name.","x-label":{"default":"Last Name"},"maxLength":256,"type":"string"},"last_visit_time":{"description":"The last visit time of the customer.","format":"date-time","x-label":{"default":"Last Visit Time"},"readOnly":true,"type":"string"},"phone_business":{"description":"The customer's business phone number.","x-label":{"default":"Business Phone"},"maxLength":32,"type":"string"},"phone_home":{"description":"The customer's home phone number.","x-label":{"default":"Home Phone"},"maxLength":32,"type":"string"},"phone_mobile":{"description":"The customer's mobile phone number.","x-label":{"default":"Mobile Phone"},"maxLength":32,"type":"string"},"preferred_locale":{"description":"The customer's preferred locale, formatted with a hyphen. (For example: en-US)\n If the request uses an underscore, as with the Java locale format, the stored value is converted to a hyphen.\n (For example: en_US is stored as en-US)","x-label":{"default":"Preferred Locale"},"readOnly":true,"type":"string"},"previous_login_time":{"description":"The time when the customer logged in previously.","format":"date-time","type":"string"},"previous_visit_time":{"description":"The time when the customer previously visited the store.","format":"date-time","type":"string"},"primary_address":{"$ref":"#/definitions/customer_address","description":"The customers primary or default address."},"salutation":{"description":"The customer's salutation.","x-label":{"default":"Salutation"},"maxLength":256,"type":"string"},"second_name":{"description":"The customer's second name.","x-label":{"default":"Second Name"},"maxLength":256,"type":"string"},"suffix":{"description":"The customer's suffix (for example, \"Jr.\" or \"Sr.\").","x-label":{"default":"Name Suffix"},"maxLength":256,"type":"string"},"title":{"description":"The customer's title (for example, \"Mrs\" or \"Mr\").","x-label":{"default":"Title"},"maxLength":256,"type":"string"}}},"customer_address":{"description":"

Document representing a customer address.

","properties":{"address1":{"description":"The customer's first address.","x-label":{"default":"Address 1"},"maxLength":256,"type":"string"},"address2":{"description":"The customer's second address value.","x-label":{"default":"Address 2"},"maxLength":256,"type":"string"},"address_id":{"description":"The customer address id.","x-label":{"default":"Address ID"},"maxLength":256,"type":"string"},"city":{"description":"The customer's city.","x-label":{"default":"City"},"maxLength":256,"type":"string"},"company_name":{"description":"The customer's company name.","x-label":{"default":"Company"},"maxLength":256,"type":"string"},"country_code":{"description":"The customer's two-character country code per ISO 3166-1 alpha-2.","enum":["CN","FR","GB","IT","JP","US"],"x-enum-labels":[{"default":"China"},{"default":"France"},{"default":"United Kingdom"},{"default":"Italy"},{"default":"Japan"},{"default":"United States"}],"x-label":{"default":"Country"},"maxLength":2,"type":"string"},"creation_date":{"description":"Returns the value of attribute 'creationDate'.","format":"date-time","x-label":{"default":"Creation Date"},"readOnly":true,"type":"string"},"etag":{"type":"string"},"first_name":{"description":"The customer's first name.","x-label":{"default":"First Name"},"maxLength":256,"type":"string"},"full_name":{"description":"The concatenation of the customer's first, middle, and last names and its suffix.","type":"string"},"job_title":{"description":"The customer's job title.","x-label":{"default":"Job Title"},"maxLength":256,"type":"string"},"last_modified":{"description":"Returns the value of attribute 'lastModified'.","format":"date-time","x-label":{"default":"Last Modified"},"readOnly":true,"type":"string"},"last_name":{"description":"The customer's last name.","x-label":{"default":"Last Name"},"maxLength":256,"type":"string"},"phone":{"description":"The customer's phone number.","x-label":{"default":"Contact Phone"},"maxLength":32,"type":"string"},"post_box":{"description":"The customer's post box.","x-label":{"default":"Post Box"},"maxLength":256,"type":"string"},"postal_code":{"description":"The customer's postal code.","x-label":{"default":"Postal Code"},"maxLength":256,"type":"string"},"salutation":{"description":"The customer's salutation.","x-label":{"default":"Salutation"},"maxLength":256,"type":"string"},"second_name":{"description":"The customer's second name.","x-label":{"default":"Second Name"},"maxLength":256,"type":"string"},"state_code":{"description":"The customer's state.","x-label":{"default":"State"},"maxLength":256,"type":"string"},"suffix":{"description":"The customer's suffix.","x-label":{"default":"Suffix"},"maxLength":256,"type":"string"},"suite":{"description":"The customer's suite.","x-label":{"default":"Suite No."},"maxLength":32,"type":"string"},"title":{"description":"The customer's title.","x-label":{"default":"Title"},"maxLength":256,"type":"string"}},"required":["address_id","country_code","last_name"]},"customer_address_result":{"description":"

Result document containing an array of customer addresses.

","properties":{"count":{"description":"The number of returned documents.","format":"int32","type":"integer"},"data":{"description":"The array of customer address documents.","items":{"$ref":"#/definitions/customer_address"},"type":"array"},"next":{"description":"The URL of the next result page.","type":"string"},"previous":{"description":"The URL of the previous result page.","type":"string"},"select":{"description":"The fields that you want to select.","type":"string"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The total number of documents.","format":"int32","type":"integer"}}},"customer_group":{"description":"

Document representing a customer group

","properties":{"creation_date":{"description":"Returns the value of attribute 'creationDate'.","format":"date-time","x-label":{"default":"Creation Date"},"readOnly":true,"type":"string"},"description":{"description":"The description for the customer group. This property is read-only for system groups.","x-label":{"default":"Description"},"type":"string"},"id":{"description":"The user specific identifier for the customer group, which must be unique across the organization. Property\n is read-only.","x-label":{"default":"ID"},"maxLength":256,"minLength":1,"readOnly":true,"type":"string"},"in_deletion":{"description":"The deletion status of this customer group.","type":"boolean"},"last_modified":{"description":"Returns the value of attribute 'lastModified'.","format":"date-time","x-label":{"default":"Last Modified"},"readOnly":true,"type":"string"},"link":{"description":"URL that is used to get this instance. This property is computed and cannot be modified.","type":"string"},"member_count":{"description":"The number of members in this customer group.","format":"int32","type":"integer"},"rule":{"$ref":"#/definitions/rule","description":"The rule of this customer group. Only available for dynamic customer groups."},"type":{"description":"The type of the customer group. This property is read-only.","enum":["system","dynamic","static"],"type":"string"}}},"customer_group_member":{"description":"

Document representing a customer group member

","properties":{"active":{"description":"A flag indicating whether the customer is enabled and can log in.","type":"boolean"},"c_familyStatus":{"x-label":{"default":"Family Status"},"type":"string"},"creation_date":{"description":"Returns the value of attribute 'creationDate'.","format":"date-time","x-label":{"default":"Creation Date"},"readOnly":true,"type":"string"},"customer_link":{"description":"The link to the customer resource.","maxLength":256,"type":"string"},"customer_no":{"description":"The customers number (id).","x-label":{"default":"Customer No."},"maxLength":100,"type":"string"},"email":{"description":"The customer's email address.","format":"email","x-label":{"default":"Email"},"maxLength":256,"type":"string"},"first_name":{"description":"The customer's first name.","x-label":{"default":"First Name"},"maxLength":256,"type":"string"},"last_modified":{"description":"Returns the value of attribute 'lastModified'.","format":"date-time","x-label":{"default":"Last Modified"},"readOnly":true,"type":"string"},"last_name":{"description":"The customer's last name.","x-label":{"default":"Last Name"},"maxLength":256,"type":"string"},"link":{"description":"The link to the customer group member resource.","maxLength":256,"type":"string"},"login":{"description":"The login of the customer.","maxLength":256,"type":"string"}}},"customer_group_member_search_result":{"description":"

Document representing a customer group member search result.

","properties":{"count":{"description":"The number of returned documents","format":"int32","type":"integer"},"data":{"items":{"type":"object"},"type":"array"},"db_start_record_":{"description":"The zero-based index of the record that we want to start with, used to optimize special handling","format":"int32","minimum":0,"type":"integer"},"expand":{"description":"List of expansions to be applied to each search results. Expands are optional","items":{"type":"string"},"type":"array"},"hits":{"description":"The sorted array of search hits. Can be empty.","items":{"$ref":"#/definitions/customer_group_member"},"type":"array"},"next":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the next result page."},"previous":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the previous result page."},"query":{"$ref":"#/definitions/query","description":"The query passed into the search","x-sub_types":{"nested_query":"#/definitions/nested_query","filtered_query":"#/definitions/filtered_query","text_query":"#/definitions/text_query","match_all_query":"#/definitions/match_all_query","term_query":"#/definitions/term_query","bool_query":"#/definitions/bool_query"}},"select":{"description":"The field to be selected.","type":"string"},"sorts":{"description":"The list of sort clauses configured for the search request. Sort clauses are optional.","items":{"$ref":"#/definitions/sort"},"type":"array"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The number of returned documents","format":"int32","type":"integer"}}},"customer_group_members":{"description":"

Document representing an unfiltered list of customer groups.

","properties":{"count":{"description":"The number of returned documents.","format":"int32","type":"integer"},"data":{"items":{"$ref":"#/definitions/customer_group_member"},"type":"array"},"expand":{"description":"The list of expands set for the search request. Expands are optional.","items":{"type":"string"},"type":"array"},"next":{"description":"The URL of the next result page.","type":"string"},"previous":{"description":"The URL of the previous result page.","type":"string"},"select":{"description":"The fields that you want to select.","type":"string"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The total number of documents.","format":"int32","type":"integer"}}},"customer_group_search_result":{"description":"

Document representing a customer group search result.

","properties":{"count":{"description":"The number of returned documents","format":"int32","type":"integer"},"data":{"items":{"type":"object"},"type":"array"},"db_start_record_":{"description":"The zero-based index of the record that we want to start with, used to optimize special handling","format":"int32","minimum":0,"type":"integer"},"expand":{"description":"List of expansions to be applied to each search results. Expands are optional","items":{"type":"string"},"type":"array"},"hits":{"description":"The sorted array of search hits. Can be empty.","items":{"$ref":"#/definitions/customer_group"},"type":"array"},"next":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the next result page."},"previous":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the previous result page."},"query":{"$ref":"#/definitions/query","description":"The query passed into the search","x-sub_types":{"nested_query":"#/definitions/nested_query","filtered_query":"#/definitions/filtered_query","text_query":"#/definitions/text_query","match_all_query":"#/definitions/match_all_query","term_query":"#/definitions/term_query","bool_query":"#/definitions/bool_query"}},"select":{"description":"The field to be selected.","type":"string"},"sorts":{"description":"The list of sort clauses configured for the search request. Sort clauses are optional.","items":{"$ref":"#/definitions/sort"},"type":"array"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The number of returned documents","format":"int32","type":"integer"}}},"customer_groups":{"description":"

Document representing an unfiltered list of customer groups.

","properties":{"count":{"description":"The number of returned documents.","format":"int32","type":"integer"},"data":{"items":{"$ref":"#/definitions/customer_group"},"type":"array"},"expand":{"description":"The list of expands set for the search request. Expands are optional.","items":{"type":"string"},"type":"array"},"next":{"description":"The URL of the next result page.","type":"string"},"previous":{"description":"The URL of the previous result page.","type":"string"},"select":{"description":"The fields that you want to select.","type":"string"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The total number of documents.","format":"int32","type":"integer"}}},"customer_list":{"description":"

Document representing a customer list.

","properties":{"id":{"description":"The id of the customer list.","minLength":1,"type":"string"},"preferences":{"$ref":"#/definitions/customer_list_preferences","description":"The preferences of the customer list."}},"required":["id"]},"customer_list_link":{"description":"

Document representing a link to a customer list.

","properties":{"customer_list_id":{"description":"The customerlist id.","type":"string"},"link":{"description":"The target of the link.","type":"string"},"title":{"additionalProperties":{"type":"string"},"description":"The link title.","format":"localized","type":"object"}}},"customer_list_preferences":{"description":"

Document representing customer list preferences:\n

","properties":{"customer_no_sequence_enabled":{"description":"Used to determine if the customer number sequence is separated by customer list.","type":"boolean"},"data_retention_age":{"description":"The number days to retain customer data (null or 0 <= x <= 99999).","format":"int32","type":"integer"},"force_password_contains_alpha":{"description":"Used to determine if the password must contain an alphabetic character.","type":"boolean"},"force_password_contains_numeric":{"description":"Used to determine if the password must contain a numeric character.","type":"boolean"},"force_password_mixed_case":{"description":"Used to determine if the password must be mixed case.","type":"boolean"},"lockout_effective_period":{"description":"The customer lockout period in minutes (one of 1, 30, 60, 120, 1440, 14400).","format":"int32","type":"integer"},"lockout_enabled":{"description":"Used to determine if customers can be locked out.","type":"boolean"},"login_attempt_reset_time":{"description":"The period after which the customer login attempt count resets in minutes (one of 0, 5, 30, 60, 120, 1440).\n\n 1440)","format":"int32","type":"integer"},"max_failed_logins":{"description":"The maximum number of failed logins before a customer lockout can occur (1 <= x <= 200).","format":"int32","type":"integer"},"max_password_age":{"description":"The maximum age of the customer password in days (one of 7, 10, 14, 30, 60, 90, 365000).","format":"int32","type":"integer"},"max_password_reset_token_age":{"description":"The maximum age of the customer password reset token in minutes (one of 30, 60, 120, 360, 720, 1440).","format":"int32","type":"integer"},"min_password_length":{"description":"The minimum number of characters required for a customer password (one of 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,\n 13, 14, 15, 20).\n\n 12, 13, 14, 15, 20)","format":"int32","type":"integer"},"min_password_special_chars":{"description":"The minimum number of special characters required within a customer password (one of 0, 1, 2, 3, 4, 5).","format":"int32","type":"integer"}},"required":["customer_no_sequence_enabled","data_retention_age","force_password_contains_alpha","force_password_contains_numeric","force_password_mixed_case","lockout_effective_period","lockout_enabled","login_attempt_reset_time","max_failed_logins","max_password_age","max_password_reset_token_age","min_password_length","min_password_special_chars"]},"customer_search_hit":{"description":"

Document representing a customer search hit.

","properties":{"data":{"$ref":"#/definitions/customer","description":"The search hit data"},"relevance":{"description":"The hit's relevance score.","format":"double","type":"number"}}},"customer_search_result":{"description":"

Document representing a customer search result.

","properties":{"count":{"description":"The number of returned documents.","format":"int32","type":"integer"},"data":{"items":{"type":"object"},"type":"array"},"db_start_record_":{"format":"int32","minimum":0,"type":"integer"},"expand":{"description":"The list of expands set. Can be empty.","items":{"type":"string"},"type":"array"},"hits":{"description":"The sorted array of search hits. Can be empty.","items":{"$ref":"#/definitions/customer_search_hit"},"type":"array"},"next":{"$ref":"#/definitions/result_page","description":"The URL of the next result page."},"previous":{"$ref":"#/definitions/result_page","description":"The URL of the previous result page."},"query":{"$ref":"#/definitions/query","description":"The requested query string.","x-sub_types":{"nested_query":"#/definitions/nested_query","filtered_query":"#/definitions/filtered_query","text_query":"#/definitions/text_query","match_all_query":"#/definitions/match_all_query","term_query":"#/definitions/term_query","bool_query":"#/definitions/bool_query"}},"select":{"description":"The fields that you want to select.","type":"string"},"sorts":{"items":{"$ref":"#/definitions/sort"},"type":"array"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The total number of documents.","format":"int32","type":"integer"}}},"ecdn_log_fetch_request":{"description":"

Input-Document for requesting a Log-Fetch process.

","properties":{"end_time":{"description":"Optional end time for log file entries, in Unix time stamp format. Must not be more than 1 hour after the start time. If not passed, a one hour time frame is assumed for the log file.","format":"date-time","type":"string"},"start_time":{"description":"Start time for log file entries, in Unix time stamp format. Must not be more than 7 days in the past","format":"date-time","type":"string"},"zone_id":{"description":"zone id is optional but if it is provided then zone_name is not considered","type":"string"},"zone_name":{"description":"The internationalized domain name representation (from RFC 3490) of the zone name","type":"string"}},"required":["start_time","zone_name"]},"ecdn_log_fetch_response":{"description":"

Response object, providing the status of the current log fetch request.

","properties":{"id":{"description":"ID of the log fetch request","type":"string"},"link":{"description":"HTTPS Download link to the fetched log file, which has a lifetime of 30 minutes. This link will only appear, if the current status of the log fetching is 'finished'.","type":"string"},"message":{"description":"message for the log fetch request","type":"string"},"status":{"description":"Current status of the log fetch request","enum":["pending","running","finished"],"type":"string"}}},"empty_body":{},"filter":{"description":"

Document representing a filter.\n \n A filter contains a set of objects that define criteria used to select records. A filter\n can contain one of the following:\n

"},"filtered_query":{"description":"

A filtered query allows to filter the result of a (possibly complex) query using a (possibly complex) filter.\n \n Example: \n

 \n    query : {\n        filtered_query: {\n            query: {\n                text_query: { fields: [\"coupon_id\"], search_phrase: \"disabled\" }\n            },\n            filter: {\n                term_filter: {\n                    field: \"enabled\", operator: \"is\", values: [ false ]\n                }\n            }\n        }\n    }\n  

","properties":{"filter":{"$ref":"#/definitions/filter","description":"The (possibly complex) filter object.","x-sub_types":{"range_filter":"#/definitions/range_filter","bool_filter":"#/definitions/bool_filter","query_filter":"#/definitions/query_filter","term_filter":"#/definitions/term_filter","range2_filter":"#/definitions/range2_filter"}},"query":{"$ref":"#/definitions/query","description":"The query object.","x-sub_types":{"nested_query":"#/definitions/nested_query","filtered_query":"#/definitions/filtered_query","text_query":"#/definitions/text_query","match_all_query":"#/definitions/match_all_query","term_query":"#/definitions/term_query","bool_query":"#/definitions/bool_query"}}},"required":["filter","query"]},"functional_permission":{"description":"

Document representing a functional permission.

","properties":{"description":{"additionalProperties":{"type":"string"},"description":"The description of the functional permission.","format":"localized","type":"object"},"display_name":{"additionalProperties":{"type":"string"},"description":"The display name of the functional permission.","format":"localized","type":"object"},"name":{"description":"The name of the functional permission.","type":"string"},"type":{"description":"The permission type.","type":"string"},"values":{"description":"The list of possible values for the functional permission, e.g. ACCESS or READONLY.","items":{"type":"string"},"type":"array"}}},"functional_permissions":{"description":"

Document representing the available functional permissions.

","properties":{"organization":{"description":"The collection of available organization functional permissions.","items":{"$ref":"#/definitions/functional_permission"},"type":"array"},"scopes":{"description":"The available functional permission scopes (e.g. organization, site).","items":{"type":"string"},"type":"array"},"site":{"description":"The list of available site functional permissions.","items":{"$ref":"#/definitions/functional_permission"},"type":"array"}}},"gift_certificate":{"description":"

Document representing a gift certificate

","properties":{"amount":{"$ref":"#/definitions/money","description":"The gift certificate amount.\n The user cannot change the gift certificate amount after the creation of the gift certificate."},"balance":{"$ref":"#/definitions/money","description":"The gift certificate balance.\n This is a computed attribute and cannot be modified."},"creation_date":{"description":"Returns the value of attribute 'creationDate'.","format":"date-time","x-label":{"default":"Creation Date"},"readOnly":true,"type":"string"},"description":{"description":"The description of the gift certificate.","x-label":{"default":"Description"},"maxLength":4000,"type":"string"},"enabled":{"description":"The enabled flag of the gift certificate.","x-label":{"default":"Enabled"},"type":"boolean"},"last_modified":{"description":"Returns the value of attribute 'lastModified'.","format":"date-time","x-label":{"default":"Last Modified"},"readOnly":true,"type":"string"},"link":{"description":"The URL to get the gift certificate.\n This is a computed attribute and cannot be modified.","type":"string"},"masked_gift_certificate_code":{"description":"The masked gift certificate code with all but the\n last 4 characters replaced with a '*' character.\n This is a computed attribute and cannot be modified.","type":"string"},"merchant_id":{"description":"The merchant ID of the gift certificate.\n This is a unique attribute.\n This is a computed attribute and cannot be modified.\n This is used to get, update and the delete gift certificates.","x-label":{"default":"Merchant ID"},"type":"string"},"message":{"description":"The message to the recipient of the gift certificate.","x-label":{"default":"Message"},"maxLength":4000,"type":"string"},"order_no":{"description":"The order number of the gift certificate.","x-label":{"default":"Order Number"},"type":"string"},"recipient_email":{"description":"The email address of the recipient of the gift certificate.","x-label":{"default":"Recipient Email"},"type":"string"},"recipient_name":{"description":"The recipient of the gift certificate.","x-label":{"default":"Recipient Name"},"maxLength":256,"type":"string"},"sender_name":{"description":"The sender of the gift certificate.","x-label":{"default":"Sender Name"},"maxLength":256,"type":"string"},"status":{"description":"The status of the gift certificate.\n While creating a gift certificate, user can set the status\n to either \"pending\" or \"issued\" only.","enum":["issued","partially_redeemed","pending","redeemed"],"x-label":{"default":"Status"},"type":"string"},"transactions":{"description":"The transactions of the gift certificate. This attribute is only available as part of the response.","items":{"$ref":"#/definitions/account_transaction"},"type":"array"}}},"gift_certificate_search_result":{"description":"

Document representing a gift certificate search result.

","properties":{"count":{"description":"The number of returned documents","format":"int32","type":"integer"},"data":{"items":{"type":"object"},"type":"array"},"db_start_record_":{"description":"The zero-based index of the record that we want to start with, used to optimize special handling","format":"int32","minimum":0,"type":"integer"},"expand":{"description":"List of expansions to be applied to each search results. Expands are optional","items":{"type":"string"},"type":"array"},"hits":{"description":"The sorted array of search hits. Can be empty.","items":{"$ref":"#/definitions/gift_certificate"},"type":"array"},"next":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the next result page."},"previous":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the previous result page."},"query":{"$ref":"#/definitions/query","description":"The query passed into the search","x-sub_types":{"nested_query":"#/definitions/nested_query","filtered_query":"#/definitions/filtered_query","text_query":"#/definitions/text_query","match_all_query":"#/definitions/match_all_query","term_query":"#/definitions/term_query","bool_query":"#/definitions/bool_query"}},"select":{"description":"The field to be selected.","type":"string"},"sorts":{"description":"The list of sort clauses configured for the search request. Sort clauses are optional.","items":{"$ref":"#/definitions/sort"},"type":"array"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The number of returned documents","format":"int32","type":"integer"}}},"gift_certificates":{"description":"

Document representing an unfiltered list of gift certificates.

","properties":{"count":{"description":"The number of returned documents.","format":"int32","type":"integer"},"data":{"items":{"$ref":"#/definitions/gift_certificate"},"type":"array"},"expand":{"description":"The list of expands set for the search request. Expands are optional.","items":{"type":"string"},"type":"array"},"next":{"description":"The URL of the next result page.","type":"string"},"previous":{"description":"The URL of the previous result page.","type":"string"},"select":{"description":"The fields that you want to select.","type":"string"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The total number of documents.","format":"int32","type":"integer"}}},"image_group":{"description":"

Document representing an image group containing a list of images for a particular view type and an optional variation value.

","properties":{"images":{"description":"The images of the image group.","items":{"$ref":"#/definitions/media_file"},"type":"array"},"variation_attributes":{"description":"Returns a list of variation attributes applying to this image group.","items":{"$ref":"#/definitions/variation_attribute"},"type":"array"},"view_type":{"description":"The image view type.","type":"string"}}},"inventory_list":{"description":"

Document representing a inventorylist

","properties":{"assigned_sites":{"description":"The list of sites this inventory list is assigned to. The assigned sites is a computed attribute, and cannot be\n directly modified.","items":{"type":"string"},"type":"array"},"creation_date":{"description":"Returns the value of attribute 'creationDate'.","format":"date-time","x-label":{"default":"Creation Date"},"readOnly":true,"type":"string"},"default_in_stock":{"description":"True if the default for the inventory list is to be in stock. THe default value is false if not specified.","type":"boolean"},"description":{"description":"The user supplied description of this instance.","x-label":{"default":"Description"},"type":"string"},"id":{"description":"The id for the inventory list, which is required and must be unique.","x-label":{"default":"ID"},"type":"string"},"last_modified":{"description":"Returns the value of attribute 'lastModified'.","format":"date-time","x-label":{"default":"Last Modified"},"readOnly":true,"type":"string"},"link":{"description":"URL that is used to get this instance. The URL is a computed attribute, and cannot be modified.","type":"string"},"on_order_inventory_enabled":{"description":"True if the on order flag is enabled. The default value is false if not specified.","type":"boolean"},"use_bundle_inventory_only":{"description":"True if the inventory list is used in bundle inventory only. The default value is false if not specified.","type":"boolean"}}},"inventory_list_search_result":{"description":"

Document representing a inventorylist search result.

","properties":{"count":{"description":"The number of returned documents","format":"int32","type":"integer"},"data":{"items":{"type":"object"},"type":"array"},"db_start_record_":{"description":"The zero-based index of the record that we want to start with, used to optimize special handling","format":"int32","minimum":0,"type":"integer"},"expand":{"description":"List of expansions to be applied to each search results. Expands are optional","items":{"type":"string"},"type":"array"},"hits":{"description":"The sorted array of search hits. Can be empty.","items":{"$ref":"#/definitions/inventory_list"},"type":"array"},"next":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the next result page."},"previous":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the previous result page."},"query":{"$ref":"#/definitions/query","description":"The query passed into the search","x-sub_types":{"nested_query":"#/definitions/nested_query","filtered_query":"#/definitions/filtered_query","text_query":"#/definitions/text_query","match_all_query":"#/definitions/match_all_query","term_query":"#/definitions/term_query","bool_query":"#/definitions/bool_query"}},"select":{"description":"The field to be selected.","type":"string"},"sorts":{"description":"The list of sort clauses configured for the search request. Sort clauses are optional.","items":{"$ref":"#/definitions/sort"},"type":"array"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The number of returned documents","format":"int32","type":"integer"}}},"inventory_lists":{"description":"

Document representing an unfiltered list of inventory lists.

","properties":{"count":{"description":"The number of returned documents.","format":"int32","type":"integer"},"data":{"items":{"$ref":"#/definitions/inventory_list"},"type":"array"},"expand":{"description":"The list of expands set for the search request. Expands are optional.","items":{"type":"string"},"type":"array"},"next":{"description":"The URL of the next result page.","type":"string"},"previous":{"description":"The URL of the previous result page.","type":"string"},"select":{"description":"The fields that you want to select.","type":"string"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The total number of documents.","format":"int32","type":"integer"}}},"job_execution":{"description":"","properties":{"client_id":{"description":"When the execution was started by a client, this represents the client's id.","type":"string"},"continue_information":{"$ref":"#/definitions/job_execution_continue_information","description":"The continuation information of this execution if available."},"creation_date":{"format":"date-time","type":"string"},"duration":{"description":"Time in milliseconds, the execution was or is running.","format":"int64","type":"integer"},"effective_duration":{"description":"Time in milliseconds, the job has done work. Paused times are evicted.","format":"int64","type":"integer"},"end_time":{"description":"Timestamp, when execution was finished.","format":"date-time","type":"string"},"executed_server_id":{"description":"The ID of the server that executed the job.","type":"string"},"execution_scopes":{"description":"Sorted set of all execution scopes, used by individual steps.","items":{"type":"string"},"type":"array"},"execution_status":{"description":"The current execution status.","enum":["pending","running","pausing","paused","resuming","resumed","restarting","restarted","retrying","retried","aborting","aborted","finished","unknown"],"type":"string"},"exit_status":{"$ref":"#/definitions/status","description":"The exit status of the execution, if the execution is in execution status 'finished', 'paused' or 'aborted' and\n is not executed currently anymore."},"id":{"description":"ID of the execution object.","type":"string"},"is_log_file_existing":{"description":"True if the log file exists, otherwise false.","type":"boolean"},"is_restart":{"description":"True if this execution represents a job restart.","type":"boolean"},"job_description":{"description":"Description of the job, this execution belongs to.","type":"string"},"job_id":{"description":"ID of the job, this execution belongs to.","type":"string"},"last_modified":{"format":"date-time","type":"string"},"log_file_path":{"description":"Full WebDAV path of the log file, containing execution log.","type":"string"},"modification_time":{"description":"Timestamp of the last modification time for the execution.","format":"date-time","type":"string"},"parameters":{"description":"List of all job execution parameters.","items":{"$ref":"#/definitions/job_execution_parameter"},"type":"array"},"retry_information":{"$ref":"#/definitions/job_execution_retry_information","description":"The retry information of this execution if available."},"start_time":{"description":"Timestamp, when execution was started.","format":"date-time","type":"string"},"status":{"description":"The current status. If the execution is currently executed the execution status is returned. If the execution is\n not executed currently anymore the exit status code of the execution.","type":"string"},"status_metadata":{"$ref":"#/definitions/status_metadata","description":"The metadata of the status."},"step_executions":{"description":"List of all steps, called for job execution.","items":{"$ref":"#/definitions/job_step_execution"},"type":"array"},"user_login":{"description":"When the execution was started by a registered user, this represents the user's login.","type":"string"}}},"job_execution_continue_information":{"description":"

Information for a job execution continuation.

","properties":{"continue_status":{"description":"Returns the status, this job execution will get on continuation if continuation is pending.","enum":["pending","running","pausing","paused","resuming","resumed","restarting","restarted","retrying","retried","aborting","aborted","aborting_for_restart","aborted_for_restart","finished","unknown"],"type":"string"},"is_pending":{"description":"Returns true if the continuation of this job execution is pending and will be started soon,\n false otherwise.","type":"boolean"}}},"job_execution_parameter":{"description":"

Specification of a parameter for a job execution.
\n
\n Request example to execute the job in all storefront sites:\n

 \n POST /dw/data/v19_10/jobs/CustomerImportJob/executions\n Host: example.com\n Authorization: Bearer af7f5c90-ffc1-4ea4-9613-f5b375b7dc19\n Content-Type: application/json; charset=UTF-8\n {\n    \"parameters\": [\n       {\n           \"name\": \"SiteScope\",\n           \"value\": \"{\\\"all_storefront_sites\\\":true}\"\n       }\n    ]\n }\n  

\n Request example to execute the job in specified sites only:\n
 \n POST /dw/data/v19_10/jobs/CustomerImportJob/executions\n Host: example.com\n Authorization: Bearer af7f5c90-ffc1-4ea4-9613-f5b375b7dc19\n Content-Type: application/json; charset=UTF-8\n {\n    \"parameters\": [\n       {\n           \"name\": \"SiteScope\",\n           \"value\": \"{\\\"named_sites\\\":[\\\"SiteGenesis\\\", \\\"SiteGenesisGlobal\\\"]}\"\n       }\n    ]\n }\n  

","properties":{"name":{"description":"The name of the parameter.","maxLength":256,"minLength":1,"pattern":"\\S|(\\S(.*)\\S)","type":"string"},"value":{"description":"The value of the parameter.","maxLength":1000,"pattern":"\\S|(\\S(.*)\\S)","type":"string"}},"required":["name","value"]},"job_execution_retry_information":{"description":"

Retry information for a previous failed job execution.

","properties":{"current_retry_attempt":{"description":"The current attempt to retry the previous failed job execution.","format":"int32","type":"integer"},"max_retries":{"description":"The maximum number of retries.","format":"int32","type":"integer"}}},"job_execution_search_result":{"description":"

Document representing a job execution search result.

","properties":{"count":{"description":"The number of returned documents","format":"int32","type":"integer"},"data":{"items":{"type":"object"},"type":"array"},"db_start_record_":{"description":"The zero-based index of the record that we want to start with, used to optimize special handling","format":"int32","minimum":0,"type":"integer"},"expand":{"description":"List of expansions to be applied to each search results. Expands are optional","items":{"type":"string"},"type":"array"},"hits":{"description":"The sorted array of search hits. May be empty.","items":{"$ref":"#/definitions/job_execution"},"type":"array"},"next":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the next result page."},"previous":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the previous result page."},"query":{"$ref":"#/definitions/query","description":"The query passed into the search","x-sub_types":{"nested_query":"#/definitions/nested_query","filtered_query":"#/definitions/filtered_query","text_query":"#/definitions/text_query","match_all_query":"#/definitions/match_all_query","term_query":"#/definitions/term_query","bool_query":"#/definitions/bool_query"}},"select":{"description":"The field to be selected.","type":"string"},"sorts":{"description":"The list of sort clauses configured for the search request. Sort clauses are optional.","items":{"$ref":"#/definitions/sort"},"type":"array"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The number of returned documents","format":"int32","type":"integer"}}},"job_step_execution":{"description":"","properties":{"chunk_size":{"description":"The chunk size for a chunk oriented step execution, otherwise null.","format":"int32","type":"integer"},"duration":{"description":"Time in milliseconds, the execution was or is running.","format":"int64","type":"integer"},"end_time":{"description":"Timestamp, when execution was finished.","format":"date-time","type":"string"},"execution_scope":{"description":"The ID of the scope this step is or was executed for.","type":"string"},"execution_status":{"description":"Current execution status of the step.\n ","enum":["pending","running","pausing","paused","resuming","resumed","restarting","restarted","retrying","retried","aborting","aborted","finished","unknown"],"type":"string"},"exit_status":{"$ref":"#/definitions/status","description":"The exit status of the step execution, if the step execution is in execution status 'finished', 'paused' or\n 'aborted' and is not executed currently anymore."},"id":{"description":"ID of the execution object.","type":"string"},"include_steps_from_job_id":{"description":"ID of the job the step of this step execution was included from, if the step was included from another job.","type":"string"},"is_chunk_oriented":{"description":"True if this execution represents a chunk oriented step execution.","type":"boolean"},"item_filter_count":{"description":"The current number of items that have been filtered for a chunk oriented step execution, otherwise null.","format":"int32","type":"integer"},"item_write_count":{"description":"The current number of items that have been written for a chunk oriented step execution, otherwise null.","format":"int32","type":"integer"},"modification_time":{"description":"Timestamp of the last modification time for the execution.","format":"date-time","type":"string"},"start_time":{"description":"Timestamp, when execution was started.","format":"date-time","type":"string"},"status":{"description":"The current status. If the step execution is currently executed (execution status is one of 'pending', 'running',\n 'pausing') the execution status is returned. If the step execution is not executed currently anymore (execution\n status is one one 'finished', 'paused' or 'aborted') the exit status code of the step execution is returned.","type":"string"},"status_metadata":{"$ref":"#/definitions/status_metadata","description":"The metadata of the status."},"step_description":{"description":"Description of the step, this execution belongs to.ID of the step","type":"string"},"step_id":{"description":"ID of the step, this execution belongs to.ID of the step","type":"string"},"step_type_id":{"description":"ID of the step's type at the time it is or was executed.","type":"string"},"step_type_info":{"description":"Additional information regarding the step's type at the time it is or was executed (e.g. name of a script module\n and function).","type":"string"},"total_item_count":{"description":"The total number of items that will be processed for a chunk oriented step execution (null if unknown), otherwise\n null.","format":"int64","type":"integer"}}},"locale":{"description":"

Document that describes a single locale.

","properties":{"active":{"description":"Flag that is true if the locale is currently active in the system.","type":"boolean"},"country":{"description":"The uppercase ISO 3166 2-letter country/region code for this Locale.\n If no country has been specified for this Locale, this value is an empty string.","type":"string"},"default":{"description":"Flag that is true if the locale is the default one to use if an explicit locale is not specified.","type":"boolean"},"display_country":{"description":"The display name of this Locale's country, in this Locale's language,\n not in the session locale's language.\n If no country has been specified for this Locale, this value is an empty string.","type":"string"},"display_language":{"description":"The display name of this Locale's language, in this Locale's language,\n not in the session locale's language.\n If no country has been specified for this Locale, this value is an empty string.","type":"string"},"display_name":{"description":"The display name of this Locale, in this Locale's language,\n not in the session locale's language.\n If no display name has been specified for this Locale, this value is an empty string.","type":"string"},"id":{"description":"Returns the String representation of the localeID.\n \n

Combines the language and the country key, concatenated with \"-\". \n For example: \"en-US\". This attribute is the primary key of the class.

","type":"string"},"iso3_country":{"description":"The uppercase ISO 3166 3-letter country/region code for this Locale.\n If no country has been specified for this Locale, this value is an empty string.","type":"string"},"iso3_language":{"description":"The 3-letter ISO 639 language code for this Locale.\n If no language has been specified for this Locale, this value is an empty string.","type":"string"},"language":{"description":"The lowercase ISO 639 language code for this Locale.\n If no language has been specified for this Locale, this value is an empty string.","type":"string"},"name":{"description":"The display name of the Locale. Uses the current\n request locale to localize the value.","type":"string"}}},"locale_permission":{"description":"

Document representing a locale permission.

","properties":{"display_name":{"additionalProperties":{"type":"string"},"description":"The display name of the locale.","format":"localized","type":"object"},"locale_id":{"description":"The id of the locale.","type":"string"},"type":{"description":"The permission type.","type":"string"},"values":{"description":"The list of possible values for the locale permission, e.g. ACCESS or READONLY.","items":{"type":"string"},"type":"array"}}},"locale_permissions":{"description":"

Document representing the available locale permissions.

","properties":{"scopes":{"description":"The available Locale permission scopes (e.g. unscoped).","items":{"type":"string"},"type":"array"},"unscoped":{"description":"The collection of available unscoped Locale permissions.","items":{"$ref":"#/definitions/locale_permission"},"type":"array"}}},"locale_result":{"description":"

Contains the result of getting the system locales.

","properties":{"count":{"description":"The number of returned documents.","format":"int32","type":"integer"},"data":{"items":{"type":"object"},"type":"array"},"hits":{"description":"The locales found by the request","items":{"$ref":"#/definitions/locale"},"type":"array"},"id":{"description":"The input locale (none specifies get all locales)","type":"string"},"include_all":{"description":"True to get the all the hits for all the locales, not just the active allowed ones","type":"boolean"},"next":{"description":"The URL of the next result page.","type":"string"},"previous":{"description":"The URL of the previous result page.","type":"string"},"select":{"description":"The string describing the set of fields to return in the result.","type":"string"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The total number of documents.","format":"int32","type":"integer"}}},"log_category":{"description":"

Document representing log category settings.

","properties":{"enabled":{"description":"Returns true if the log category is enabled.","type":"boolean"},"level":{"description":"Level of the log category.","type":"string"},"name":{"description":"Log category name.","type":"string"}}},"markup_text":{"properties":{"markup":{"description":"The rendered HTML (read only)","type":"string"},"source":{"description":"The raw markup text\n (only this needs to be provided in update request)","type":"string"}}},"master":{"description":"

Document representing a variation master.

","properties":{"link":{"description":"The URL addressing the master product.","type":"string"},"master_id":{"description":"The id (SKU) of the master product.","maxLength":100,"minLength":1,"type":"string"},"orderable":{"description":"A flag indicating whether at least one of the variants is orderable.","type":"boolean"},"price":{"description":"The minimum sales price of the related variants.","format":"double","type":"number"},"price_max":{"description":"The maximum sales of related variants.","format":"double","type":"number"},"price_per_unit":{"description":"The minimum sales price per unit of the related variants.","format":"double","type":"number"},"price_per_unit_max":{"description":"The maximum sales price per unit of the related variants.","format":"double","type":"number"},"prices":{"additionalProperties":{"format":"double","type":"number"},"type":"object"}},"required":["master_id"]},"match_all_query":{"description":"

A match all query simply matches all documents (namespace and document type). This query comes in\n handy if you just want to filter a search result or really do not have any constraints.\n\n Example: \n

 \n    query: {\n        match_all_query: {}\n    }\n  

"},"media_file":{"properties":{"abs_url":{"description":"The absolute URL with request protocol (read only)","type":"string"},"alt":{"additionalProperties":{"type":"string"},"description":"The alternative image text","format":"localized","type":"object"},"dis_base_url":{"description":"The DIS base URL only for product images","type":"string"},"path":{"description":"The raw media file path\n (only this needs to be provided in update request)","type":"string"},"title":{"additionalProperties":{"type":"string"},"description":"The image title","format":"localized","type":"object"}}},"menu_action":{"description":"

Document representing a menu action.

","properties":{"description":{"additionalProperties":{"type":"string"},"description":"The description of the menu action.","format":"localized","type":"object"},"display_name":{"additionalProperties":{"type":"string"},"description":"The display name of the menu action.","format":"localized","type":"object"},"module_type":{"description":"The module type of the menu action (BM or CC).","type":"string"},"name":{"description":"The name of the menu action.","type":"string"},"system":{"description":"{\n action.","type":"boolean"},"type":{"description":"The permission type.","type":"string"},"values":{"description":"The list of possible values for the menu action, e.g. ACCESS or READONLY.","items":{"type":"string"},"type":"array"}}},"menu_item":{"description":"

Document representing a menu item.

","properties":{"display_name":{"additionalProperties":{"type":"string"},"description":"The display name of the menu item.","format":"localized","type":"object"},"menu_actions":{"description":"The collection of available menu actions.","items":{"$ref":"#/definitions/menu_action"},"type":"array"},"module_type":{"description":"The module type of the menu item (BM or CC).","type":"string"},"name":{"description":"The name of the menu item.","type":"string"},"type":{"description":"The permission type.","type":"string"}}},"metric_response":{"description":"

Metrics in Prometheus Exposition Format wrapped as Json array of strings.

","properties":{"limit":{"description":"Page size of result page","format":"int32","type":"integer"},"metrics":{"description":"Metrics in Prometheus Exposition Format.

A single metric is represented by a single line. They have a name, labels (dimensions), a value and a time-stamp.

Example:

OCAPI request: GET /v21.10/products/{Id}/prices

total time metric: products_Id_prices{method=\\\"GET\\\",version=\\\"v21.10\\\",path1=\\\"products\\\",path2=\\\"prices\\\",status=\\\"2xx\\\"} 112.718755 1620735785000

The individual elements of a metric line are the metric name, metric dimensions (denoted by label / value pairs in curly braces), the actual metric value (in milliseconds or in operations / second for metrics ending in _m1rate) and a time-stamp in milliseconds since 01/01/1970 UTC.

name

The metric name will have both path segments and parameters separated by '`_`'. Path segments in the metric name are in lower-case whereas path parameters are formatted in camel-case.

method

the HTTP method of the OCAPI request, one of GET, PUT, POST, DELETE

version

the version of the OCAPI request, e.g. v20.8

path1 .. pathN

The path segments (not including the path-parameters) of the OCAPI request, from the example above, the path segments will be mapped to labels as: path1=\\\"products\\\", path2=\\\"prices\\\"

breakdown

Sub-timings of the request, in particular:

status

quantile

serviceId (only for metrics where breakdown = thirdParty)

the id of the third party service that was invoked during the request. If multiple services were invoked, timings for each individual service are available

","items":{"type":"string"},"type":"array"},"offset":{"description":"Offset of result page","format":"int32","type":"integer"},"total":{"description":"Total number of metrics","format":"int32","type":"integer"}}},"module_permissions":{"description":"

Document representing the available module permissions in shape of menu items and menu actions.

","properties":{"organization":{"description":"The collection of available organization menu items.","items":{"$ref":"#/definitions/menu_item"},"type":"array"},"scopes":{"description":"The available menu item scopes (e.g. organization, site).","items":{"type":"string"},"type":"array"},"site":{"description":"The list of available site menu items.","items":{"$ref":"#/definitions/menu_item"},"type":"array"}}},"money":{"properties":{"currency_mnemonic":{"description":"The mnemonic for the money.","type":"string"},"value":{"description":"The value for the money.","format":"double","type":"number"}}},"nested_query":{"description":"

A nested query queries nested documents that are part of a larger document. The classical example is a\n product master with variants (in one big document) where you want to constrain a search to masters that have\n variants that match multiple constraints (like color = blue AND size = M).\n This query is not compatible with some search types. \n Example: finds all the documents that has firstname = \"John\" and lastname = \"Doe\"\n

 \n  {\n   \"query\": {\n     \"bool_query\": {\n       \"must\": [\n         {\n           \"nested_query\": {\n             \"path\": \"order.shipping_addresses\",\n             \"query\": {\n               \"bool_query\": {\n                 \"must\": [\n                   {\n                     \"bool_query\": {\n                       \"must\": [\n                         {\n                           \"term_query\": {\n                             \"fields\": [ \"order.shipping_addresses.first_name\" ],\n                             \"operator\": \"is\",\n                             \"values\": [ \"John\" ]\n                           }\n                         }\n                       ]\n                     }\n                   },\n                   {\n                     \"bool_query\": {\n                       \"must\": [\n                         {\n                           \"term_query\": {\n                             \"fields\": [ \"order.shipping_addresses.last_name\" ],\n                             \"operator\": \"is\",\n                             \"values\": [ \"Doe\" ]\n                           }\n                         }\n                       ]\n                     }\n                   }\n                 ]\n               }\n             },\n             \"score_mode\": \"avg\"\n           }\n         }\n       ]\n     }\n   }\n }\n  

","properties":{"path":{"description":"","type":"string"},"query":{"$ref":"#/definitions/query","description":"","x-sub_types":{"nested_query":"#/definitions/nested_query","filtered_query":"#/definitions/filtered_query","text_query":"#/definitions/text_query","match_all_query":"#/definitions/match_all_query","term_query":"#/definitions/term_query","bool_query":"#/definitions/bool_query"}},"score_mode":{"description":"","enum":["avg","total","max","none"],"type":"string"}},"required":["path","query"]},"object_attribute_definition":{"description":"

Document representing a attribute definition

","properties":{"creation_date":{"format":"date-time","type":"string"},"default_value":{"$ref":"#/definitions/object_attribute_value_definition","description":"The default value of this attribute. It can be updated, but not created."},"description":{"additionalProperties":{"type":"string"},"description":"The localized description of the attribute.","format":"localized","type":"object"},"display_name":{"additionalProperties":{"type":"string"},"description":"The localized name presented to the user in forms.","format":"localized","type":"object"},"effective_id":{"description":"The effective ID, which is c_id if the attribute is custom, and just the id otherwise. It is read only.","type":"string"},"externally_defined":{"description":"Flag indicating if this attribute is externally defined.","type":"boolean"},"externally_managed":{"description":"Flag indicating if this attribute is externally managed.","type":"boolean"},"field_height":{"description":"The height of the field for this attribute in the editor.","format":"int32","type":"integer"},"field_length":{"description":"The length of the field for this attribute in the editor.","format":"int32","type":"integer"},"id":{"description":"The user supplied ID of the attribute.","type":"string"},"key":{"description":"Flag indicating if this is a key attribute.","type":"boolean"},"last_modified":{"format":"date-time","type":"string"},"link":{"description":"The URL that is used to get this instance. Value is computed and read-only.","type":"string"},"localizable":{"description":"Flag indicating if this attribute can be localized.","type":"boolean"},"mandatory":{"description":"Flag indicating if a value is mandatory for the attribute.","type":"boolean"},"max_value":{"description":"The maximum possible value for this attribute.","format":"double","type":"number"},"min_length":{"description":"The minimum length of the field for this attribute.","format":"int32","type":"integer"},"min_value":{"description":"The minimum possible value for this attribute.","format":"double","type":"number"},"multi_value_type":{"description":"

True if the attribute can have multiple values.

\n

Attributes of the following types are multi-value capable:

\n \n

Additionally, attributes of the following types can be multi-value\n enabled:

\n ","type":"boolean"},"order_required":{"description":"Flag indicating if this attribute is required for order of the attribute model's product. The set of these can be used\n in order line items.","type":"boolean"},"queryable":{"description":"Returns true if the attribute definition is explicitly marked queryable. If no explicit queryable is found\n and the attribute value type belongs to a queryable type, true is returned too. In all other cases false is returned.\n Value is computed and read-only.","type":"boolean"},"read_only":{"description":"Flag indicating if this attribute is read-only. It is read only.","type":"boolean"},"regular_expression":{"description":"A regular expression that defines the legal values for this attribute.","type":"string"},"requires_encoding":{"description":"Flag indicating if this attribute can be encoded using the encoding=\"off\" flag in ISML templates. It is read only.","type":"boolean"},"scale":{"description":"The minimum number of fraction digits for a value of this attribute.","format":"int32","type":"integer"},"searchable":{"description":"Flag indicating if this attribute is searchable.","type":"boolean"},"set_value_type":{"description":"Flag indicating if this attribute is of type 'Set of'. It is read only.","type":"boolean"},"site_specific":{"description":"Flag indicating if this attribute is site-specific.","type":"boolean"},"system":{"description":"Flag indicating if this attribute is a system attribute.","type":"boolean"},"unit":{"additionalProperties":{"type":"string"},"description":"The unit of measure for this attribute.","format":"localized","type":"object"},"value_definitions":{"description":"A set of values that are possible for this attribute. It is read only.","items":{"$ref":"#/definitions/object_attribute_value_definition"},"type":"array"},"value_type":{"description":"The type of this attribute.","enum":["string","int","double","text","html","date","image","boolean","money","quantity","datetime","email","password","set_of_string","set_of_int","set_of_double","enum_of_string","enum_of_int","unknown"],"type":"string"},"visible":{"description":"Flag indicating if this attribute is visible.","type":"boolean"}}},"object_attribute_definition_search_result":{"description":"

Document representing an attributedefinition search result.

","properties":{"count":{"description":"The number of returned documents","format":"int32","type":"integer"},"data":{"items":{"type":"object"},"type":"array"},"db_start_record_":{"description":"The zero-based index of the record that we want to start with, used to optimize special handling","format":"int32","minimum":0,"type":"integer"},"expand":{"description":"List of expansions to be applied to each search results. Expands are optional","items":{"type":"string"},"type":"array"},"hits":{"description":"The sorted array of search hits. Can be empty.","items":{"$ref":"#/definitions/object_attribute_definition"},"type":"array"},"next":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the next result page."},"previous":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the previous result page."},"query":{"$ref":"#/definitions/query","description":"The query passed into the search","x-sub_types":{"nested_query":"#/definitions/nested_query","filtered_query":"#/definitions/filtered_query","text_query":"#/definitions/text_query","match_all_query":"#/definitions/match_all_query","term_query":"#/definitions/term_query","bool_query":"#/definitions/bool_query"}},"select":{"description":"The field to be selected.","type":"string"},"sorts":{"description":"The list of sort clauses configured for the search request. Sort clauses are optional.","items":{"$ref":"#/definitions/sort"},"type":"array"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The number of returned documents","format":"int32","type":"integer"}}},"object_attribute_definitions":{"description":"

Document representing an unfiltered list of object attribute definitions.

","properties":{"count":{"description":"The number of returned documents.","format":"int32","type":"integer"},"data":{"items":{"$ref":"#/definitions/object_attribute_definition"},"type":"array"},"expand":{"description":"The list of expands set for the search request. Expands are optional.","items":{"type":"string"},"type":"array"},"next":{"description":"The URL of the next result page.","type":"string"},"previous":{"description":"The URL of the previous result page.","type":"string"},"select":{"description":"The fields that you want to select.","type":"string"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The total number of documents.","format":"int32","type":"integer"}}},"object_attribute_group":{"description":"

Document representing a attribute group

","properties":{"attribute_definitions":{"description":"Attributes with the group displayed when expand=definition","items":{"$ref":"#/definitions/object_attribute_definition"},"type":"array"},"attribute_definitions_count":{"description":"The count of the attributes within the group. This is a computed attribute and is read-only","format":"int32","type":"integer"},"creation_date":{"format":"date-time","type":"string"},"description":{"additionalProperties":{"type":"string"},"description":"The free-form text description of the group by locale","format":"localized","type":"object"},"display_name":{"additionalProperties":{"type":"string"},"description":"The name used to display the group by locale.","format":"localized","type":"object"},"id":{"description":"The group's user specified identifier, used to retrieve the group","type":"string"},"internal":{"description":"True if the group is meant only for internal use, false otherwise. This property is read-only.","type":"boolean"},"last_modified":{"format":"date-time","type":"string"},"link":{"description":"URL that is used to get this instance. This is a computed attribute and is read-only","type":"string"},"position":{"description":"The position of the group relative to other groups.","format":"double","minimum":0.0,"type":"number"}}},"object_attribute_group_search_result":{"description":"

Document representing a attributegroup search result.

","properties":{"count":{"description":"The number of returned documents","format":"int32","type":"integer"},"data":{"items":{"type":"object"},"type":"array"},"db_start_record_":{"description":"The zero-based index of the record that we want to start with, used to optimize special handling","format":"int32","minimum":0,"type":"integer"},"expand":{"description":"List of expansions to be applied to each search results. Expands are optional","items":{"type":"string"},"type":"array"},"hits":{"description":"The sorted array of search hits. Can be empty.","items":{"$ref":"#/definitions/object_attribute_group"},"type":"array"},"next":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the next result page."},"previous":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the previous result page."},"query":{"$ref":"#/definitions/query","description":"The query passed into the search","x-sub_types":{"nested_query":"#/definitions/nested_query","filtered_query":"#/definitions/filtered_query","text_query":"#/definitions/text_query","match_all_query":"#/definitions/match_all_query","term_query":"#/definitions/term_query","bool_query":"#/definitions/bool_query"}},"select":{"description":"The field to be selected.","type":"string"},"sorts":{"description":"The list of sort clauses configured for the search request. Sort clauses are optional.","items":{"$ref":"#/definitions/sort"},"type":"array"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The number of returned documents","format":"int32","type":"integer"}}},"object_attribute_groups":{"description":"

Document representing an unfiltered list of object group definitions.

","properties":{"count":{"description":"The number of returned documents.","format":"int32","type":"integer"},"data":{"items":{"$ref":"#/definitions/object_attribute_group"},"type":"array"},"expand":{"description":"The list of expands set for the search request. Expands are optional.","items":{"type":"string"},"type":"array"},"next":{"description":"The URL of the next result page.","type":"string"},"previous":{"description":"The URL of the previous result page.","type":"string"},"select":{"description":"The fields that you want to select.","type":"string"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The total number of documents.","format":"int32","type":"integer"}}},"object_attribute_value_definition":{"description":"

Document representing a attribute definition

","properties":{"description":{"additionalProperties":{"type":"string"},"description":"A description of the attribute value.","format":"localized","type":"object"},"display_value":{"additionalProperties":{"type":"string"},"description":"A display name that can be used to present this value in\n the user interface. For example, the value might be '1' but the display\n name might be 'Order Exported'.","format":"localized","type":"object"},"id":{"description":"The ID of the attribute value.","type":"string"},"position":{"description":"The position of the attribute value within the set of attribute values.","format":"double","type":"number"},"value":{"description":"The value of the attribute.","type":"object"}}},"object_type_definition":{"description":"

Document representing a object type definition

","properties":{"attribute_definition_count":{"description":"Returns the number of attribute definitions contained by the type. This is a computed attribute and cannot be changed.","format":"int32","type":"integer"},"attribute_group_count":{"description":"Returns the number of attribute groups contained by the type. This is a computed attribute and cannot be changed.","format":"int32","type":"integer"},"content_object":{"description":"True if the object type definition is marked as a content object","type":"boolean"},"creation_date":{"format":"date-time","type":"string"},"description":{"additionalProperties":{"type":"string"},"description":"The user entered description for the type (localizable)","format":"localized","type":"object"},"display_name":{"additionalProperties":{"type":"string"},"description":"The user entered display name (localizable)","format":"localized","type":"object"},"last_modified":{"format":"date-time","type":"string"},"link":{"description":"URL that is used to get this instance. This is a computed attribute and cannot be changed.","type":"string"},"object_type":{"description":"The object type identifier","type":"string"},"queryable":{"description":"True if the system object type is queryable, false otherwise. Default is true.","type":"boolean"},"read_only":{"description":"True if the system object is read-only, false otherwise. This is a computed attribute and cannot be changed.","type":"boolean"}}},"object_type_definition_search_result":{"description":"

Document representing a systemobject search result.

","properties":{"count":{"description":"The number of returned documents","format":"int32","type":"integer"},"data":{"items":{"type":"object"},"type":"array"},"db_start_record_":{"description":"The zero-based index of the record that we want to start with, used to optimize special handling","format":"int32","minimum":0,"type":"integer"},"expand":{"description":"List of expansions to be applied to each search results. Expands are optional","items":{"type":"string"},"type":"array"},"hits":{"description":"The sorted array of search hits. Can be empty.","items":{"$ref":"#/definitions/object_type_definition"},"type":"array"},"next":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the next result page."},"previous":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the previous result page."},"query":{"$ref":"#/definitions/query","description":"The query passed into the search","x-sub_types":{"nested_query":"#/definitions/nested_query","filtered_query":"#/definitions/filtered_query","text_query":"#/definitions/text_query","match_all_query":"#/definitions/match_all_query","term_query":"#/definitions/term_query","bool_query":"#/definitions/bool_query"}},"select":{"description":"The field to be selected.","type":"string"},"sorts":{"description":"The list of sort clauses configured for the search request. Sort clauses are optional.","items":{"$ref":"#/definitions/sort"},"type":"array"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The number of returned documents","format":"int32","type":"integer"}}},"object_type_definitions":{"description":"

Document representing an unfiltered list of system object types.

","properties":{"count":{"description":"The number of returned documents.","format":"int32","type":"integer"},"data":{"items":{"$ref":"#/definitions/object_type_definition"},"type":"array"},"expand":{"description":"The list of expands set for the search request. Expands are optional.","items":{"type":"string"},"type":"array"},"next":{"description":"The URL of the next result page.","type":"string"},"previous":{"description":"The URL of the previous result page.","type":"string"},"select":{"description":"The fields that you want to select.","type":"string"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The total number of documents.","format":"int32","type":"integer"}}},"ocapi_configs_api_request":{"description":"

OCAPI configuration APIs request

","properties":{"resource_info":{"$ref":"#/definitions/resource_info","description":"Information of resources to be added"},"sites":{"description":"Sites to be updated","items":{"type":"string"},"type":"array"}},"required":["resource_info","sites"]},"ocapi_configs_api_response":{"description":"

OCAPI configuration APIs response. It contains all available resources for a client

","properties":{"global":{"description":"Global configuration","items":{"$ref":"#/definitions/site_resource_info"},"type":"array"},"sites":{"description":"Site configurations","items":{"$ref":"#/definitions/site_resource_info"},"type":"array"}}},"order_confirmation_status_update_request":{"description":"

Request body to update the order confirmation status.

","properties":{"status":{"description":"The new confirmation status for an order.","enum":["confirmed","not_confirmed"],"type":"string"}},"required":["status"]},"order_export_status_update_request":{"description":"

Request body to update the order export status.

","properties":{"status":{"description":"The new export status for an order.","enum":["exported","not_exported","ready","failed"],"type":"string"}},"required":["status"]},"order_external_status_update_request":{"description":"

Request body to update the order external status.

","properties":{"status":{"description":"The new external status for an order.","maxLength":256,"minLength":1,"type":"string"}},"required":["status"]},"order_payment_status_update_request":{"description":"

Request body to update the order payment status.

","properties":{"status":{"description":"The new payment status for an order.","enum":["paid","part_paid","not_paid"],"type":"string"}},"required":["status"]},"order_shipping_status_update_request":{"description":"

Request body to update the order shipping status.

","properties":{"status":{"description":"The new shipping status for an order.","enum":["shipped","part_shipped","not_shipped"],"type":"string"}},"required":["status"]},"order_status_update_request":{"description":"

Request body to update the order status.

","properties":{"status":{"description":"The new status for an order.","enum":["created","new","open","completed","cancelled","failed","failed_with_reopen"],"type":"string"}},"required":["status"]},"order_update_request":{"description":"

Request body to update an order.

"},"organization_preferences":{"description":"

Represents a set of preferences attached at the organization level.

","properties":{"link":{"description":"A URL that returns the full details for a custom preference","type":"string"},"site_preferences":{"description":"The list of site preferences, returned with expand=sites","items":{"$ref":"#/definitions/site_preferences"},"type":"array"}}},"password_change_request":{"properties":{"current_password":{"description":"The current user password","minLength":1,"type":"string"},"password":{"description":"The new user password","minLength":1,"type":"string"}},"required":["current_password","password"]},"path_record":{"description":"

Document representing most basic info (id and name) of a category or catalog.

","properties":{"id":{"description":"The id of the category path.","x-label":{"default":"ID"},"type":"string"},"name":{"additionalProperties":{"type":"string"},"description":"The name of the category path.","format":"localized","x-label":{"default":"Name"},"type":"object"}}},"payment_instrument_update_request":{"description":"

Request body to update an order payment instrument.

"},"payment_transaction_update_request":{"description":"

Request body to update an order payment transaction.

"},"preference_value":{"description":"

Represents a single preference value

","properties":{"attribute_definition":{"$ref":"#/definitions/object_attribute_definition","description":"The attribute definition for this preference"},"description":{"additionalProperties":{"type":"string"},"description":"Description of the attribute","format":"localized","type":"object"},"display_name":{"additionalProperties":{"type":"string"},"description":"Display name for the attribute","format":"localized","type":"object"},"id":{"description":"The id of the attribute","type":"string"},"site_values":{"additionalProperties":{"type":"object"},"description":"The value of this attribute","type":"object"},"value_type":{"description":"The type of this attribute.","enum":["string","int","double","text","html","date","image","boolean","money","quantity","datetime","email","password","set_of_string","set_of_int","set_of_double","enum_of_string","enum_of_int","unknown"],"type":"string"}}},"preference_value_search_result":{"description":"

Document representing a preference value search result.

","properties":{"count":{"description":"The number of returned documents","format":"int32","type":"integer"},"data":{"items":{"type":"object"},"type":"array"},"db_start_record_":{"description":"The zero-based index of the record that we want to start with, used to optimize special handling","format":"int32","minimum":0,"type":"integer"},"expand":{"description":"List of expansions to be applied to each search results. Expands are optional","items":{"type":"string"},"type":"array"},"hits":{"description":"The sorted array of search hits. Can be empty.","items":{"$ref":"#/definitions/preference_value"},"type":"array"},"next":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the next result page."},"previous":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the previous result page."},"query":{"$ref":"#/definitions/query","description":"The query passed into the search","x-sub_types":{"nested_query":"#/definitions/nested_query","filtered_query":"#/definitions/filtered_query","text_query":"#/definitions/text_query","match_all_query":"#/definitions/match_all_query","term_query":"#/definitions/term_query","bool_query":"#/definitions/bool_query"}},"select":{"description":"The field to be selected.","type":"string"},"sorts":{"description":"The list of sort clauses configured for the search request. Sort clauses are optional.","items":{"$ref":"#/definitions/sort"},"type":"array"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The number of returned documents","format":"int32","type":"integer"}}},"product":{"description":"

Document representing a product

","properties":{"assigned_categories":{"description":"The catalog categories that the product is assigned to","items":{"$ref":"#/definitions/catalog_category_id"},"type":"array"},"ats":{"description":"The ATS(Available To Sell) inventory value of the product. This is a calculated value.","format":"double","type":"number"},"brand":{"description":"The brand of the product.","x-label":{"default":"Brand"},"type":"string"},"bundled_products":{"description":"The array of bundled products which the product includes.","items":{"$ref":"#/definitions/product"},"type":"array"},"c_availableForInStorePickup":{"description":"Signals if there are inventory lists for brick-and-mortar stores associated with this product.","x-label":{"default":"Available for In Store Pickup"},"type":"boolean"},"c_batteryLife":{"x-label":{"default":"Battery Life"},"type":"string"},"c_batteryType":{"x-label":{"default":"Battery Type"},"type":"string"},"c_bootType":{"description":"Type of Boot for search refinement.","items":{"enum":["0010","0020","0030","0040","0050","0060","0070"],"x-enum-labels":[{"default":"Winter"},{"default":"Waterproof"},{"default":"Classic"},{"default":"Ankle & Mid"},{"default":"Tall"},{"default":"6\""},{"default":"Casual"}],"type":"string"},"x-label":{"default":"Boot Type"},"type":"array"},"c_bottomType":{"description":"Bottom type for search refinement","items":{"enum":["0010","0020","0030","0040","0050","0060","0070","0080"],"x-enum-labels":[{"default":"Khakis"},{"default":"Denim"},{"default":"Dress"},{"default":"Casual"},{"default":"Shorts"},{"default":"Work"},{"default":"Cargo"},{"default":"Fleece"}],"type":"string"},"x-label":{"default":"Bottom Type"},"type":"array"},"c_color":{"description":"Product color used for variation attribute","x-label":{"default":"Color"},"type":"string"},"c_consoleWarranty":{"x-label":{"default":"Extended Warranty"},"type":"string"},"c_customCSSFile":{"$ref":"#/definitions/media_file","description":"Use this attribute to apply custom styles for this product.","x-label":{"default":"Custom CSS File"}},"c_digitalCameraFeatures":{"items":{"enum":["0010","0020","0030","0040","0050","0060","0070","0080","0090","0100","0110","0120","0130","0140","0150","0160","0170","0180","0190","0200","0210","0220","0230","0240","0250","0260","0270","0280"],"x-enum-labels":[{"default":"Built In Flash"},{"default":"HD Video"},{"default":"GPS Geo Tagging"},{"default":"Variable Self Timer"},{"default":"Image Optimizer"},{"default":"Stop Motion Video"},{"default":"Self Cleaning"},{"default":"Pro Performance"},{"default":"51 Area Autofocus"},{"default":"Super Fast Startup"},{"default":"Easy to Learn"},{"default":"Wide Angle Optical Zoom"},{"default":"Manual Controls"},{"default":"Wired LAN"},{"default":"GPS Enabled"},{"default":"In Camera Red Eye Reduction"},{"default":"Large LCD"},{"default":"Optical Zoom"},{"default":"Anti-Shake"},{"default":"Touch Screen"},{"default":"Image Stabilization"},{"default":"Fast Shutter"},{"default":"Slim"},{"default":"35mm Full Frame Sensor"},{"default":"Wide Angle|Continuous Shooting"},{"default":"Continuous Shooting"},{"default":"ISO 1600"},{"default":"Red Eye Reduction"}],"type":"string"},"x-label":{"default":"Digital Camera Features"},"type":"array"},"c_digitalCameraPixels":{"x-label":{"default":"Digital Camera Pixels"},"type":"string"},"c_digitalCameraType":{"x-label":{"default":"Digital Camera Type"},"type":"string"},"c_digitalCameraWarranty":{"x-label":{"default":"Extended Warranty"},"type":"string"},"c_dimDepth":{"x-label":{"default":"Depth"},"type":"string"},"c_dimHeight":{"x-label":{"default":"Height"},"type":"string"},"c_dimWeight":{"x-label":{"default":"Weight"},"type":"string"},"c_dimWidth":{"x-label":{"default":"Width"},"type":"string"},"c_displaySize":{"x-label":{"default":"Display Size"},"type":"string"},"c_gameGenre":{"items":{"enum":["Action","Educational","Kids","Racing","Role-Playing","Sports","Strategy"],"x-enum-labels":[{"default":"Action"},{"default":"Educational"},{"default":"Kids"},{"default":"Racing"},{"default":"Role-Playing"},{"default":"Sports"},{"default":"Strategy"}],"type":"string"},"x-label":{"default":"Genre"},"type":"array"},"c_gameRating":{"x-label":{"default":"Game Rating"},"type":"string"},"c_gameSystemType":{"x-label":{"default":"Gaming System"},"type":"string"},"c_gpsFeatures":{"items":{"enum":["0010","0020","0030","0040","0050","0060","0070","0080","0090","0100","0110","0120","0130","0140","0150","0160","0170","0180","0190","0200","0210","0230"],"x-enum-labels":[{"default":"Preloaded"},{"default":"Voice Prompts"},{"default":"3D"},{"default":"Touch Screen"},{"default":"FM Traffic"},{"default":"MSN Direct"},{"default":"MP3 Player"},{"default":"Picture Viewer"},{"default":"Bluetooth®"},{"default":"Speech Recognition"},{"default":"XM Navtraffic"},{"default":"Waterproof"},{"default":"Motorcycle Ready"},{"default":"Lunar Tracking"},{"default":"Wrist Wear"},{"default":"Barometer"},{"default":"Compass"},{"default":"Geocaching"},{"default":"Jeppesen Enabled"},{"default":"Built-in HIS"},{"default":"Auto Logbook"},{"default":"Automotive Friendly"}],"type":"string"},"x-label":{"default":"GPS Features"},"type":"array"},"c_gpsType":{"items":{"enum":["0010","0020","0030","0040"],"x-enum-labels":[{"default":"Automotive"},{"default":"Personal"},{"default":"Outdoor"},{"default":"Aviation"}],"type":"string"},"x-label":{"default":"GPS Type"},"type":"array"},"c_gpsWarranty":{"x-label":{"default":"Extended Warranty"},"type":"string"},"c_imageAspectRatio":{"x-label":{"default":"Image Aspect Ratio"},"type":"string"},"c_isNew":{"x-label":{"default":"New Arrival?"},"type":"boolean"},"c_isNewtest":{"description":"This indiciates if the product is a new arrival.","x-label":{"default":"New Arrival?"},"type":"boolean"},"c_isSale":{"description":"This is the help text. It is used for sorting rules.","x-label":{"default":"On sale?"},"type":"boolean"},"c_kidsAge":{"description":"Kids Age used for search refinements","enum":["0010","0020","0030","0040","0050","0060","0070"],"x-enum-labels":[{"default":"Infant (0-1 yr)"},{"default":"Toddler (1-5 yrs)"},{"default":"Youth (5-9 yrs)"},{"default":"Junior (9-12 yrs)"},{"default":"Newborn (1-6 mths)"},{"default":"Infant (9 mnths - 3 yrs)"},{"default":"Junior (4-12 yrs)"}],"x-label":{"default":"Age"},"type":"string"},"c_length":{"description":"This attribute is used for mens and womens pants lengths.","x-label":{"default":"Length"},"type":"string"},"c_lensAperture":{"x-label":{"default":"Lens Aperture"},"type":"string"},"c_materialTest":{"items":{"enum":["cotton","polyester","wool"],"x-enum-labels":[{"default":"Cotton"},{"default":"Polyester"},{"default":"Wool"}],"type":"string"},"x-label":{"default":"Material"},"type":"array"},"c_mediaFormat":{"description":"Media Format","items":{"enum":["0010","0020","0030","0040","0050","0060","0070","0080","0090","0100"],"x-enum-labels":[{"default":"MP3"},{"default":"WMA"},{"default":"JPEG"},{"default":"WAV"},{"default":"FM Tuner"},{"default":"AAC"},{"default":"WMP"},{"default":"MPEG4"},{"default":"AVC"},{"default":"ASP"}],"type":"string"},"x-label":{"default":"Media Format"},"type":"array"},"c_memorySize":{"description":"Memory Size","x-label":{"default":"Memory Size"},"type":"string"},"c_memoryType":{"items":{"enum":["0010","0020","0030","0040","0050","0060","0070","0080","0090"],"x-enum-labels":[{"default":"SD"},{"default":"Memory Stick Pro DUO"},{"default":"Compact Flash"},{"default":"MMC"},{"default":"SDHC"},{"default":"CF Card"},{"default":"External Media"},{"default":"Micro SD"},{"default":"Garmin Data Card"}],"type":"string"},"x-label":{"default":"Memory Type"},"type":"array"},"c_musicStorage":{"x-label":{"default":"Music Storage"},"type":"string"},"c_opticalZoom":{"x-label":{"default":"Optical Zoom"},"type":"string"},"c_outerwearType":{"description":"Type of Outerwear for search refinement","enum":["0010","0020","0030","0040","0050","0060","0070","0080"],"x-enum-labels":[{"default":"Waterproof"},{"default":"Jackets"},{"default":"Vest"},{"default":"Pants"},{"default":"Casual"},{"default":"Sweater"},{"default":"Outdoor"},{"default":"Fleece"}],"x-label":{"default":"Outerwear Type"},"type":"string"},"c_portableAudioType":{"items":{"enum":["0010","0020","0030"],"x-enum-labels":[{"default":"Audio"},{"default":"Video"},{"default":"Internet"}],"type":"string"},"x-label":{"default":"Portable Audio Type"},"type":"array"},"c_refinementColor":{"enum":["beige","black","blue","brown","green","grey","miscellaneous","navy","orange","pink","purple","red","white","yellow"],"x-enum-labels":[{"default":"Beige"},{"default":"Black"},{"default":"Blue"},{"default":"Brown"},{"default":"Green"},{"default":"Grey"},{"default":"Miscellaneous"},{"default":"Navy"},{"default":"Orange"},{"default":"Pink"},{"default":"Purple"},{"default":"Red"},{"default":"White"},{"default":"Yellow"}],"x-label":{"default":"Refinement Color"},"type":"string"},"c_resolution":{"x-label":{"default":"Resolution"},"type":"string"},"c_sandalType":{"description":"Type of Sandal for search refinement","enum":["0010","0020","0030"],"x-enum-labels":[{"default":"Sport"},{"default":"Casual"},{"default":"Thong"}],"x-label":{"default":"Sandal Type"},"type":"string"},"c_sheets":{"description":"test attribute","items":{"enum":["value1","value2","value3"],"x-enum-labels":[{"default":"Value 1"},{"default":"Value 2"},{"default":"Value 3"}],"type":"string"},"x-label":{"default":"Sheets"},"type":"array"},"c_shoeType":{"description":"Type of Shoe for search refinements","enum":["0010","0020","0030","0040","0050","0060","0070","0080","0090","0100","0110"],"x-enum-labels":[{"default":"Chukka"},{"default":"Lace Up"},{"default":"Slip On"},{"default":"Clog"},{"default":"Boat"},{"default":"Oxford"},{"default":"Loafer"},{"default":"Waterproof"},{"default":"Flats"},{"default":"Ballerina"},{"default":"Heeled"}],"x-label":{"default":"Shoe Type"},"type":"string"},"c_size":{"description":"This attribute is used for all footwear, apparel and accessory sizing for men, women and kids products.","x-label":{"default":"Size"},"type":"string"},"c_skinConcern":{"items":{"enum":["comprehensive","dryTight","liftingLossFirm"],"x-enum-labels":[{"default":"Comprehensive Protection"},{"default":"Dry, Tight Skin"},{"default":"Lifting & Loss of Firmness"}],"type":"string"},"x-label":{"default":"Skin Concern"},"type":"array"},"c_styleNumber":{"x-label":{"default":"Style Number"},"type":"string"},"c_tabDescription":{"$ref":"#/definitions/markup_text","x-label":{"default":"Description"}},"c_tabDetails":{"$ref":"#/definitions/markup_text","x-label":{"default":"Details"}},"c_topType":{"description":"Type of tops in clothing","x-label":{"default":"Top Type"},"type":"string"},"c_tvSignalFormat":{"x-label":{"default":"TV Signal Format"},"type":"string"},"c_tvSize":{"x-label":{"default":"Size"},"type":"string"},"c_tvType":{"enum":["0010","0020","0030","0040"],"x-enum-labels":[{"default":"Plasma"},{"default":"LCD"},{"default":"DLP"},{"default":"Projection"}],"x-label":{"default":"TV Type"},"type":"string"},"c_tvWarranty":{"x-label":{"default":"Extended Warranty"},"type":"string"},"c_videoStorage":{"x-label":{"default":"Video Storage"},"type":"string"},"c_waist":{"description":"Attribute used for apparel waist sizing.","x-label":{"default":"Waist"},"type":"string"},"c_width":{"description":"This attribute is used for shoe widths for mens, womens and kids.","x-label":{"default":"Width"},"type":"string"},"classification_category":{"$ref":"#/definitions/catalog_category_id","description":"The classification category (default category) of the product"},"creation_date":{"description":"Returns the value of attribute 'creationDate'.","format":"date-time","x-label":{"default":"Creation Date"},"readOnly":true,"type":"string"},"default_variant_id":{"description":"The ID of the product's default variant.","type":"string"},"ean":{"description":"The European Article Number of the product.","x-label":{"default":"EAN"},"type":"string"},"id":{"description":"The ID (SKU) of the product.","x-label":{"default":"ID","en":"SKUAGE"},"maxLength":100,"minLength":1,"type":"string"},"image":{"$ref":"#/definitions/media_file","description":"The image(s) assigned to the product.","x-label":{"default":"Standard Image"}},"image_groups":{"description":"The array of product image groups.","items":{"$ref":"#/definitions/image_group"},"type":"array"},"in_stock":{"description":"The flag that indicates if the product is in stock, or not. This is a calculated value.","type":"boolean"},"last_modified":{"description":"Returns the value of attribute 'lastModified'.","format":"date-time","x-label":{"default":"Last Modified"},"readOnly":true,"type":"string"},"link":{"description":"A link to the product.","type":"string"},"localized_tax_class_id":{"additionalProperties":{"type":"string"},"format":"localized","x-label":{"default":"Localized Tax Class"},"type":"object"},"long_description":{"additionalProperties":{"$ref":"#/definitions/markup_text"},"description":"The localized long description of the product.","format":"localized","x-label":{"default":"Product Details"},"type":"object"},"manufacturer_name":{"description":"The name of the product's manufacturer.","x-label":{"default":"Manufacturer"},"type":"string"},"manufacturer_sku":{"description":"The SKU of the product's manufacturer.","x-label":{"default":"Manufacturer Product ID"},"type":"string"},"master":{"$ref":"#/definitions/master","description":"The master of the product. This is applicable for product types \"variation_group\" and \"variant\" only."},"name":{"additionalProperties":{"type":"string"},"description":"The localized name of the product.","format":"localized","x-label":{"default":"Name"},"type":"object"},"online":{"description":"The flag that indicates if the product is online, or not. This is a calculated value.","type":"boolean"},"online_flag":{"additionalProperties":{"type":"boolean"},"description":"The site specific online status of the product.","format":"site-specific","x-label":{"default":"Online"},"type":"object"},"owning_catalog_id":{"description":"The ID of the catalog that owns the product.","type":"string"},"owning_catalog_name":{"additionalProperties":{"type":"string"},"description":"The localized name of the catalog that owns the product.","format":"localized","type":"object"},"page_description":{"additionalProperties":{"type":"string"},"description":"The localized page description of the product.","format":"localized","x-label":{"default":"Page Description"},"type":"object"},"page_keywords":{"additionalProperties":{"type":"string"},"description":"The localized page keywords of the product.","format":"localized","x-label":{"default":"Page Keywords"},"type":"object"},"page_title":{"additionalProperties":{"type":"string"},"description":"The localized page title of the product.","format":"localized","x-label":{"default":"Page Title"},"type":"object"},"price":{"description":"The price of the product.","format":"double","type":"number"},"price_currency":{"description":"The currency code for product's price.","type":"string"},"price_per_unit":{"description":"The price per unit of the product","format":"double","type":"number"},"primary_categories":{"description":"The catalog categories that are primary for the product","items":{"$ref":"#/definitions/catalog_category_id"},"type":"array"},"primary_category_id":{"description":"The id of the products primary category.","type":"string"},"product_bundles":{"description":"The array of product bundles which the product belongs to.","items":{"$ref":"#/definitions/product"},"type":"array"},"product_options":{"description":"The array of product options. This is applicable for products of type \"option\".","items":{"$ref":"#/definitions/product_option"},"type":"array"},"product_sets":{"description":"The array of product sets which the product belongs to.","items":{"$ref":"#/definitions/product"},"type":"array"},"searchable":{"additionalProperties":{"type":"boolean"},"description":"The site specific searchable status of the product.","format":"site-specific","x-label":{"default":"Searchable"},"type":"object"},"set_products":{"description":"The array of set products which the product includes.","items":{"$ref":"#/definitions/product"},"type":"array"},"short_description":{"additionalProperties":{"$ref":"#/definitions/markup_text"},"description":"The localized short description of the product.","format":"localized","x-label":{"default":"Description"},"type":"object"},"tax_class_id":{"description":"The catalog categories that the product is assigned to","x-label":{"default":"Tax Class"},"type":"string"},"type":{"$ref":"#/definitions/product_type","description":"The type of the product. It can have one or more of the values \"item\", \"master\", \"variation_group\", \"variant\", \"bundle\", and \"set\"."},"unit":{"description":"The sales unit of the product.","x-label":{"default":"Sales Unit"},"type":"string"},"unit_measure":{"description":"The unitMeasure of the product.","x-label":{"default":"Unit Measure"},"type":"string"},"unit_quantity":{"description":"The unitQuantity of the product.","format":"double","x-label":{"default":"Unit Quantity"},"type":"number"},"upc":{"description":"The Universal Product Code of the product.","x-label":{"default":"UPC"},"type":"string"},"valid_from":{"additionalProperties":{"format":"date-time","type":"string"},"description":"The time when product is valid from.","format":"site-specific","x-label":{"default":"Online From"},"type":"object"},"valid_to":{"additionalProperties":{"format":"date-time","type":"string"},"description":"The time when product is valid to.","format":"site-specific","x-label":{"default":"Online To"},"type":"object"},"variants":{"description":"The array of variants of the product. This is applicable for product types \"master\" and \"variation_group\" only.","items":{"$ref":"#/definitions/variant"},"type":"array"},"variation_attributes":{"description":"The sorted array of variation attributes assigned to the product. This is applicable for product types \"master\",\n \"variation_group\" and \"variant\" only.","items":{"$ref":"#/definitions/variation_attribute"},"type":"array"},"variation_groups":{"description":"The array of variation groups in the product. This is applicable for product type \"master\" only.","items":{"$ref":"#/definitions/variation_group"},"type":"array"},"variation_values":{"additionalProperties":{"type":"string"},"description":"The variation values selected for the product in variation attribute id and value pairs. This is applicable for product types \"variant\" and\n \"variation_group\" only.\n\n Only for type variant and variation group.","type":"object"}}},"product_inventory_record":{"description":"

Document representing a product inventory record.

","properties":{"allocation":{"$ref":"#/definitions/product_inventory_record_allocation","description":"The allocation quantity and reset date."},"ats":{"description":"The quantity of items available to sell (ATS). This is calculated as the allocation plus the\n preorderBackorderAllocation minus the turnover.","format":"double","type":"number"},"creation_date":{"description":"Returns the value of attribute 'creationDate'.","format":"date-time","x-label":{"default":"Creation Date"},"readOnly":true,"type":"string"},"in_stock_date":{"description":"The date that the item is expected to be in stock.","format":"date-time","type":"string"},"inventory_list_id":{"description":"The user supplied ID of the inventory list.","type":"string"},"inventory_turnover":{"description":"The sum of all inventory transactions (decrements and increments) that have been recorded subsequent to the\n allocation was reset date. The quantity value can be negative due to higher quantity of inventory decrements than\n increments.","format":"double","type":"number"},"last_modified":{"description":"Returns the value of attribute 'lastModified'.","format":"date-time","x-label":{"default":"Last Modified"},"readOnly":true,"type":"string"},"link":{"description":"The URL that is used to get this instance.","type":"string"},"perpetual_flag":{"description":"The flag that determines if the product is perpetually in stock.","type":"boolean"},"pre_order_back_order_allocation":{"description":"The quantity of items that are allocated for sale, beyond the initial stock allocation.","format":"double","type":"number"},"pre_order_back_order_handling":{"description":"The enum holding the records pre-backorder-handling configuration. Possible values are NONE, PREORDER and\n BACKORDER. Method returns NONE in case the record pre-backorder-handling-code is null or unknown.","enum":["none","preorder","backorder"],"type":"string"},"product_id":{"description":"The user supplied ID of the product.","maxLength":256,"minLength":1,"type":"string"},"product_name":{"description":"The name of the product.","type":"string"},"quantity_on_order":{"description":"The on order quantity, the quantity of all transactions for this record since the allocation reset date.","format":"double","type":"number"},"stock_level":{"description":"The current stock level. This is calculated as the allocation minus the turnover.","format":"double","type":"number"}}},"product_inventory_record_allocation":{"description":"

Document representing a product inventory record allocation.

","properties":{"amount":{"description":"The allocation quantity that is currently set. The quantity unit is the same unit as the product itself.","format":"double","minimum":0.0,"type":"number"},"reset_date":{"description":"The date the allocation quantity was initialized or reset.","format":"date-time","type":"string"}}},"product_inventory_records":{"description":"

Document representing an unfiltered list of inventory records.

","properties":{"count":{"description":"The number of returned documents.","format":"int32","type":"integer"},"data":{"description":"The collection of product inventory records.","items":{"$ref":"#/definitions/product_inventory_record"},"type":"array"},"expand":{"description":"The list of expands set for the search request. Expands are optional.","items":{"type":"string"},"type":"array"},"next":{"description":"The URL of the next result page.","type":"string"},"previous":{"description":"The URL of the previous result page.","type":"string"},"select":{"description":"The fields that you want to select.","type":"string"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The total number of documents.","format":"int32","type":"integer"}}},"product_option":{"description":"

Document representing a product option

","properties":{"custom_name":{"additionalProperties":{"type":"string"},"description":"The localized custom name of the product option.","format":"localized","type":"object"},"default_product_option_value":{"description":"The default product option value.","type":"string"},"description":{"additionalProperties":{"type":"string"},"description":"The localized description of the product option.","format":"localized","type":"object"},"id":{"description":"The object attribute definition id which is also the identifier for the product option.","minLength":1,"type":"string"},"image":{"$ref":"#/definitions/media_file","description":"The image assigned to the product option."},"link":{"description":"The URL link to the product option.","type":"string"},"name":{"description":"The name of the object attribute definition.","type":"string"},"selected_option_value":{"description":"The selected option value of the product option.","type":"string"},"shared":{"description":"The flag that indicates if the product option is shared or local.","type":"boolean"},"sorting_mode":{"description":"The sorting mode for the product option values.","enum":["byexplicitorder","byoptionprice"],"type":"string"},"values":{"description":"The sorted array of values of the product option.","items":{"$ref":"#/definitions/product_option_value"},"type":"array"}}},"product_option_value":{"description":"

Document representing a product option Value

","properties":{"default_product_option_value":{"description":"Flag indicating if the product option value is the default value for the product option.","type":"boolean"},"id":{"description":"The id of the product option value.","minLength":1,"type":"string"},"link":{"description":"The URL link to the product option value.","type":"string"},"option_prices":{"description":"The list of prices in the product option value.","items":{"$ref":"#/definitions/money"},"type":"array"},"sku_extension":{"description":"The sku extension of the product option value.","type":"string"},"value":{"additionalProperties":{"type":"string"},"description":"The localized value of the product option.","format":"localized","type":"object"}}},"product_option_values":{"description":"

Document representing an unfiltered list of product option values.

","properties":{"count":{"description":"The number of returned documents.","format":"int32","type":"integer"},"data":{"items":{"$ref":"#/definitions/product_option_value"},"type":"array"},"expand":{"description":"The list of expands set for the search request. Expands are optional.","items":{"type":"string"},"type":"array"},"next":{"description":"The URL of the next result page.","type":"string"},"previous":{"description":"The URL of the previous result page.","type":"string"},"select":{"description":"The fields that you want to select.","type":"string"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The total number of documents.","format":"int32","type":"integer"}}},"product_options":{"description":"

Document representing an unfiltered list of product options.

","properties":{"count":{"description":"The number of returned documents.","format":"int32","type":"integer"},"data":{"items":{"$ref":"#/definitions/product_option"},"type":"array"},"expand":{"description":"The list of expands set for the search request. Expands are optional.","items":{"type":"string"},"type":"array"},"next":{"description":"The URL of the next result page.","type":"string"},"previous":{"description":"The URL of the previous result page.","type":"string"},"select":{"description":"The fields that you want to select.","type":"string"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The total number of documents.","format":"int32","type":"integer"}}},"product_search_result":{"description":"

Document representing a product search result.

","properties":{"count":{"description":"The number of returned documents","format":"int32","type":"integer"},"data":{"items":{"type":"object"},"type":"array"},"db_start_record_":{"description":"The zero-based index of the record that we want to start with, used to optimize special handling","format":"int32","minimum":0,"type":"integer"},"expand":{"description":"List of expansions to be applied to each search results. Expands are optional","items":{"type":"string"},"type":"array"},"hits":{"description":"The sorted array of search hits. Can be empty.","items":{"$ref":"#/definitions/product"},"type":"array"},"next":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the next result page."},"previous":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the previous result page."},"query":{"$ref":"#/definitions/query","description":"The query passed into the search","x-sub_types":{"nested_query":"#/definitions/nested_query","filtered_query":"#/definitions/filtered_query","text_query":"#/definitions/text_query","match_all_query":"#/definitions/match_all_query","term_query":"#/definitions/term_query","bool_query":"#/definitions/bool_query"}},"select":{"description":"The field to be selected.","type":"string"},"sorts":{"description":"The list of sort clauses configured for the search request. Sort clauses are optional.","items":{"$ref":"#/definitions/sort"},"type":"array"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The number of returned documents","format":"int32","type":"integer"}}},"product_type":{"description":"

Document representing a product type.

","properties":{"bundle":{"description":"A flag indicating whether the product is a bundle.","type":"boolean"},"bundled":{"description":"A flag indicating whether the product is bundled.","type":"boolean"},"item":{"description":"A flag indicating whether the product is a standard item.","type":"boolean"},"master":{"description":"A flag indicating whether the product is a master.","type":"boolean"},"option":{"description":"A flag indicating whether the product is an option.","type":"boolean"},"part_of_product_set":{"description":"A flag indicating whether the product is part of product set.","type":"boolean"},"part_of_retail_set":{"description":"A flag indicating whether the product is part of retail set.","type":"boolean"},"retail_set":{"description":"A flag indicating whether the product is a retail set.","type":"boolean"},"set":{"description":"A flag indicating whether the product is a set.","type":"boolean"},"variant":{"description":"A flag indicating whether the product is a variant.","type":"boolean"},"variation_group":{"description":"A flag indicating whether the product is a variation group.","type":"boolean"}}},"promotion":{"description":"

Document representing a promotion. Unless otherwise stated, attributes of this document are not supported when using\n the Open Commerce API to update multiple promotions at once.

","properties":{"archived":{"description":"Determines whether or not this promotion is archived. This attribute is allowed to be updated when using the Open\n Commerce API to update multiple promotions at once.","type":"boolean"},"assignment_information":{"$ref":"#/definitions/promotion_assignment_information","description":"Information about the assignments and assignment schedules of this promotion"},"callout_msg":{"additionalProperties":{"$ref":"#/definitions/markup_text"},"description":"The localized callout message of the promotion.","format":"localized","x-label":{"default":"Callout Message"},"type":"object"},"creation_date":{"description":"Returns the value of attribute 'creationDate'.","format":"date-time","x-label":{"default":"Creation Date"},"readOnly":true,"type":"string"},"currency_code":{"description":"The ISO 4217 mnemonic code of the currency this promotion is restricted to. If not populated, then there is no\n currency restriction on the promotion.","maxLength":3,"type":"string"},"disable_globally_excluded":{"description":"Determines whether or not this promotion ignores the global product exclusions for promotions. This attribute is\n allowed to be updated when using the Open Commerce API to update multiple promotions at once.","type":"boolean"},"enabled":{"description":"Determines whether or not this promotion is enabled. This attribute is allowed to be updated when using the Open\n Commerce API to update multiple promotions at once.","type":"boolean"},"exclusivity":{"description":"Determines if the promotion can be combined with other promotions of the same promotion class or if it cannot be\n combined with any other promotions. This attribute is allowed to be updated when using the Open Commerce API to\n update multiple promotions at once.","enum":["no","class","global"],"x-enum-labels":[{"default":"Can't be combined with promotions of the same class."},{"default":"Can't be combined with any promotion."},{"default":"Can be combined with any promotion."}],"x-label":{"default":"Exclusivity"},"type":"string"},"id":{"description":"The id for the promotion.","x-label":{"default":"ID"},"type":"string"},"last_modified":{"description":"Returns the value of attribute 'lastModified'.","format":"date-time","x-label":{"default":"Last Modified"},"readOnly":true,"type":"string"},"link":{"description":"A URL that is used to get the details of this promotion.","type":"string"},"name":{"additionalProperties":{"type":"string"},"description":"The user supplied name of this promotion, which can be localized","format":"localized","x-label":{"default":"Name"},"type":"object"},"promotion_class":{"description":"The class of the promotion. If the promotion class is modified, then the promotion rule and all of its values,\n such as whether or not to disable global product exclusions, will be reset.","enum":["product","shipping","order"],"type":"string"},"tags":{"description":"Returns the list of tags assigned to this promotion. If used to set the tags on a promotion, the promotion will\n only have the tags passed in the input. Any existing tags will be removed.","items":{"$ref":"#/definitions/tag"},"x-label":{"default":"Tags"},"type":"array"}}},"promotion_abtest_group_assignment":{"properties":{"abtest_description":{"type":"string"},"abtest_id":{"type":"string"},"enabled":{"type":"boolean"},"schedule":{"$ref":"#/definitions/schedule"},"segment_description":{"type":"string"},"segment_id":{"type":"string"}}},"promotion_assignment_information":{"description":"","properties":{"abtest_id":{"description":"If there is only one assignment, and that assignment is an A/B test segment, the id of the A/B test the segment\n belongs to. Otherwise, empty.","type":"string"},"abtest_segment_id":{"description":"If there is only one assignment, and that assignment is an A/B test segment, the id of the A/B test segment.\n Otherwise, empty.","type":"string"},"active":{"description":"true if the individual assignment or the multiple assignments are currently active (applicable only for non default schedule assignments i.e. either campaign or A/B test schedule).","type":"boolean"},"active_abtest_assignments":{"description":"A list of currently active A/B tests this is assigned to.","items":{"$ref":"#/definitions/promotion_abtest_group_assignment"},"type":"array"},"active_campaign_assignments":{"description":"A list of currently active campaigns this is assigned to.","items":{"$ref":"#/definitions/promotion_campaign_assignment"},"type":"array"},"campaign_id":{"description":"If there is only one assignment, and that assignment is a campaign, the id of the campaign. Otherwise, empty.","type":"string"},"enabled":{"type":"boolean"},"end_date":{"description":"The end date of the container of the assignment (a Campaign or ABTest). If schedule_type is\n schedule_type : \"multiple\" or schedule_type : \"none\", then then result will be null. Also, a null\n date will also return null.","format":"date-time","type":"string"},"schedule":{"$ref":"#/definitions/schedule","description":"The schedule of the assignment (a Campaign or ABTest). If schedule_type is\n schedule_type : \"multiple\" or schedule_type : \"none\", then then result will be null."},"schedule_type":{"description":"If there is only one active assignment, or no active assignments and one upcoming assignment, this is that type\n of assignment (schedule_type : \"campaign\" or schedule_type : \"abtest\"). If there are no\n assignments, it will be schedule_type : \"none\", otherwise, schedule_type : \"multiple\".","enum":["none","campaign","abtest","multiple"],"type":"string"},"start_date":{"description":"The start date of the container of the assignment (a Campaign or ABTest). If schedule_type is\n schedule_type : \"multiple\" or schedule_type : \"none\", then then result will be null. Also, a null\n date will also return null.","format":"date-time","type":"string"},"upcoming_abtest_assignments":{"description":"A list of upcoming A/B tests this is assigned to.","items":{"$ref":"#/definitions/promotion_abtest_group_assignment"},"type":"array"},"upcoming_campaign_assignments":{"description":"A list of upcoming campaigns this is assigned to.","items":{"$ref":"#/definitions/promotion_campaign_assignment"},"type":"array"}}},"promotion_campaign_assignment":{"description":"

Document representing a promotion campaign assignment.

","properties":{"campaign":{"$ref":"#/definitions/campaign","description":"The campaign"},"campaign_id":{"description":"The id of the campaign.","maxLength":256,"minLength":1,"type":"string"},"coupons":{"description":"The sorted array of assigned coupon ids.","items":{"type":"string"},"type":"array"},"coupons_based":{"description":"True if the assigned promotion is coupon based. When set to false, Coupons in the campaign and on the\n PromotionCampaignAssignment are ignored. The default value is true.","type":"boolean"},"creation_date":{"format":"date-time","type":"string"},"customer_groups":{"description":"The sorted array of assigned customer groups.","items":{"type":"string"},"type":"array"},"customer_groups_based":{"description":"True if the assigned promotion is customer group based. When set to false, Customer Groups in the campaign and on\n the PromotionCampaignAssignment are ignored. The default value is true.","type":"boolean"},"description":{"description":"The description of the promotion campaign assignment.","maxLength":4000,"type":"string"},"enabled":{"description":"True if the assignment resource is enabled","type":"boolean"},"last_modified":{"format":"date-time","type":"string"},"link":{"description":"link for convenience","type":"string"},"promotion":{"$ref":"#/definitions/promotion","description":"The promotion"},"promotion_id":{"description":"The id of the Promotion.","maxLength":256,"minLength":1,"type":"string"},"rank":{"description":"The rank of promotion campaign assignment","format":"int32","type":"integer"},"required_qualifier":{"description":"A constant indicating that one or all qualifier conditions must be\n met in order for the promotion to apply for a given customer.\n Valid values are \"any\" and \"all\".","enum":["any","all"],"type":"string"},"schedule":{"$ref":"#/definitions/schedule","description":"The schedule of the assignment resource"},"source_code_based":{"description":"True if the assigned promotion is source code group based. When set to false, Source Code Groups in the campaign and on\n the PromotionCampaignAssignment are ignored. The default value is true.","type":"boolean"},"source_code_groups":{"description":"The sorted array of assigned source code groups.","items":{"type":"string"},"type":"array"}}},"promotion_campaign_assignment_search_result":{"description":"

Document representing a promotion campaign assignment search result.

","properties":{"count":{"description":"The number of returned documents","format":"int32","type":"integer"},"data":{"items":{"type":"object"},"type":"array"},"db_start_record_":{"description":"The zero-based index of the record that we want to start with, used to optimize special handling","format":"int32","minimum":0,"type":"integer"},"expand":{"description":"List of expansions to be applied to each search results. Expands are optional","items":{"type":"string"},"type":"array"},"hits":{"description":"The sorted array of search hits. Can be empty.","items":{"$ref":"#/definitions/promotion_campaign_assignment"},"type":"array"},"next":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the next result page."},"previous":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the previous result page."},"query":{"$ref":"#/definitions/query","description":"The query passed into the search","x-sub_types":{"nested_query":"#/definitions/nested_query","filtered_query":"#/definitions/filtered_query","text_query":"#/definitions/text_query","match_all_query":"#/definitions/match_all_query","term_query":"#/definitions/term_query","bool_query":"#/definitions/bool_query"}},"select":{"description":"The field to be selected.","type":"string"},"sorts":{"description":"The list of sort clauses configured for the search request. Sort clauses are optional.","items":{"$ref":"#/definitions/sort"},"type":"array"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The number of returned documents","format":"int32","type":"integer"}}},"promotion_search_result":{"description":"

Document representing a promotion search result.

","properties":{"count":{"description":"The number of returned documents","format":"int32","type":"integer"},"data":{"items":{"type":"object"},"type":"array"},"db_start_record_":{"description":"The zero-based index of the record that we want to start with, used to optimize special handling","format":"int32","minimum":0,"type":"integer"},"expand":{"description":"List of expansions to be applied to each search results. Expands are optional","items":{"type":"string"},"type":"array"},"hits":{"description":"The sorted array of search hits. Can be empty.","items":{"$ref":"#/definitions/promotion"},"type":"array"},"next":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the next result page."},"previous":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the previous result page."},"query":{"$ref":"#/definitions/query","description":"The query passed into the search","x-sub_types":{"nested_query":"#/definitions/nested_query","filtered_query":"#/definitions/filtered_query","text_query":"#/definitions/text_query","match_all_query":"#/definitions/match_all_query","term_query":"#/definitions/term_query","bool_query":"#/definitions/bool_query"}},"select":{"description":"The field to be selected.","type":"string"},"sorts":{"description":"The list of sort clauses configured for the search request. Sort clauses are optional.","items":{"$ref":"#/definitions/sort"},"type":"array"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The number of returned documents","format":"int32","type":"integer"}}},"promotions":{"description":"

A set of promotions

","properties":{"count":{"format":"int32","type":"integer"},"data":{"description":"The set of promotions","items":{"$ref":"#/definitions/promotion"},"type":"array"},"expand":{"items":{"type":"string"},"type":"array"},"next":{"type":"string"},"previous":{"type":"string"},"select":{"type":"string"},"start":{"format":"int32","minimum":0,"type":"integer"},"total":{"format":"int32","type":"integer"}}},"query":{"description":"

Document representing a query. A query contains a set of objects that define criteria\n used to select records. A query can contain one of the following:\n

"},"query_filter":{"description":"

Document representing a query filter. A query filter wraps any query and allows it to be used as a filter.\n \n Example: (coupon_id contains \"disabled\" AND (enabled=false OR active=false))\n

 \n query : {\n    filtered_query: {\n        query: { text_query: { fields: [\"coupon_id\"], search_phrase: \"disabled\" } },\n        filter: {\n            query_filter: {\n                query: {\n                    term_query: { fields: [\"enabled\",\"active\"], operator: \"is\", values: [ false ] }\n                }\n            }\n        }\n    }\n }\n  

","properties":{"query":{"$ref":"#/definitions/query","description":"The query to use as a filter.","x-sub_types":{"nested_query":"#/definitions/nested_query","filtered_query":"#/definitions/filtered_query","text_query":"#/definitions/text_query","match_all_query":"#/definitions/match_all_query","term_query":"#/definitions/term_query","bool_query":"#/definitions/bool_query"}}},"required":["query"]},"range2_filter":{"description":"

Document representing a range comparison with a range filter, named Range2Filter.

\n\n

A Range2Filter allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range.

\n

The first range (R1) is defined by a pair of attributes (\"from_field\" and \"to_field\") that specify the extent of a range, such as the attributes \"valid_from\" and \"valid_to\".

\n

The second range (R2) is defined by \"from_value\" and \"to_value\".

\n

The filter mode specifies the method used to compare the two ranges:

\n \n

The range filter supports several value types, and relies on the natural sorting of the value type\n for range interpretation. Value ranges can be open-ended (at one end only). You can configure whether the\n lower and upper bounds are inclusive or exclusive.

\n

A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because \n the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for\n every query (for example, if the user controls the date range down to the hour via a UI control). Range filters\n are inclusive by default.

\n\n

Example: (valid dates overlap with the range January 1, 2007 through January 1, 2017)\n

 \n \"query\" : {\n        \"filtered_query\": {\n           \"filter\": {\n                \"range2_filter\": {\n                    \"from_field\": \"valid_from\",\n                    \"to_field\": \"valid_to\",\n                    \"filter_mode\":\"overlap\",\n                    \"from_value\": \"2007-01-01T00:00:00.000Z\",\n                    \"to_value\": \"2017-01-01T00:00:00.000Z\"\n                }\n           },\n           \"query\": { \"match_all_query\": {} }\n       }\n   }\n  

","properties":{"filter_mode":{"description":"Compare mode: overlap, containing, or contained. If not specified, the default is overlap.","enum":["overlap","containing","contained"],"type":"string"},"from_field":{"description":"The field name of the field that starts the first range.","type":"string"},"from_inclusive":{"description":"Indicates whether the lower bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive.","type":"boolean"},"from_value":{"description":"The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended.","type":"object"},"to_field":{"description":"The field name of the field that ends the first range.","type":"string"},"to_inclusive":{"description":"Indicates whether the upper bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive.","type":"boolean"},"to_value":{"description":"The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended.","type":"object"}},"required":["from_field","to_field"]},"range_filter":{"description":"

Document representing a range filter.\n \n A range filter allows you to restrict a search result to hits that have values for a given attribute that fall into a\n given value range. The range filter supports several value types, and relies on the natural sorting of the value type\n for range interpretation. Value ranges can be open-ended (at one end only). You can configure whether the\n lower and upper bounds are inclusive or exclusive.\n \n A range filter is useful for general restrictions that can be shared between searches (like a static date range) because\n the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for\n every query (for example, if the user controls the date range down to the hour via a UI control). Range filters\n are inclusive by default.\n \n Example: ( redemption_count BETWEEN (0,10] )\n

 \n    query: {\n        filtered_query: {\n            query: { match_all_query: {} },\n            filter: {\n                range_filter: {\n                    field: \"redemption_count\",\n                    from: 0,\n                    to: 10,\n                    from_inclusive: false\n                }\n            }\n        }\n    }\n  

","properties":{"field":{"description":"The search field.","type":"string"},"from":{"description":"The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended.","type":"object"},"from_inclusive":{"description":"Indicates whether the lower bound of the range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive.","type":"boolean"},"to":{"description":"The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended.","type":"object"},"to_inclusive":{"description":"Indicates whether the upper bound of the range is inclusive. If not specified, the default is true. Set to false to made the upper bound exclusive.","type":"boolean"}},"required":["field"]},"recommender":{"description":"

The recommender object

","properties":{"description":{"description":"The description of the recommender","type":"string"},"name":{"description":"The name of the recommender","type":"string"}}},"recommenders_result":{"description":"

A list of recommenders available for use in recommendation requests.

","properties":{"recommenders":{"description":"The recommender objects","items":{"$ref":"#/definitions/recommender"},"type":"array"}}},"recurrence":{"description":"

Document representing a schedule recurrence.

","properties":{"day_of_week":{"description":"The days of week for recurrence.","enum":["monday","tuesday","wednesday","thursday","friday","saturday","sunday"],"items":{"enum":["monday","tuesday","wednesday","thursday","friday","saturday","sunday"],"type":"string"},"type":"array"},"time_of_day":{"$ref":"#/definitions/time_of_day","description":"The time of the day for recurrence."}}},"redemption_limit_per_period":{"description":"

Document representing a coupon redemption limit.

","properties":{"limit":{"description":"The limit on the number of times a coupon can be redeemed for a specified redemption time period.","format":"int32","minimum":0,"type":"integer"},"redemption_time_frame":{"description":"The redemption time period.","format":"int32","maximum":999,"minimum":0,"type":"integer"}}},"redemption_limits":{"description":"

Document representing a coupon.

","properties":{"limit_per_code":{"description":"The redemption limit per code","format":"int32","x-label":{"default":"Redemptions per Code"},"minimum":0,"type":"integer"},"limit_per_customer":{"description":"The redemption limit per customer","format":"int32","x-label":{"default":"Redemptions per Customer"},"minimum":0,"type":"integer"},"limit_per_time_frame":{"$ref":"#/definitions/redemption_limit_per_period","description":"The redemption limit per time frame","x-label":{"default":"Redemptions per Timeframe"}}}},"resource_info":{"description":"","properties":{"allowed_origins":{"description":"Allowed Origins","items":{"type":"string"},"type":"array"},"api_type":{"description":"API Type","enum":["data","shop"],"type":"string"},"resources":{"description":"An array of resources","items":{"$ref":"#/definitions/resource_object"},"minItems":1,"type":"array"},"response_headers":{"additionalProperties":{"type":"string"},"description":"Response Header","type":"object"}},"required":["api_type","resources"]},"resource_object":{"description":"

Object to represent a resource in ocapi_config_api_request

","properties":{"cache_time":{"description":"Resource Cache time","format":"int32","type":"integer"},"config":{"additionalProperties":{"type":"string"},"description":"Configuration of the resource","type":"object"},"methods":{"description":"Allowed methods of the resource","items":{"type":"string"},"minItems":1,"type":"array"},"personalized_caching_enabled":{"description":"Indicate if the personalized caching is enabled for the resource","type":"boolean"},"read_attributes":{"description":"Read attributes of the resource","type":"string"},"resource_id":{"description":"Resource ID","minLength":1,"type":"string"},"version_range":{"$ref":"#/definitions/version_range_object","description":"Version range"},"write_attributes":{"description":"Write attributes of the resource","type":"string"}},"required":["methods","resource_id"]},"result_page":{"description":"

Data that can be used to get the next and previous page of a Data API results object.

","properties":{"count":{"description":"The number of returned documents.","format":"int32","type":"integer"},"db_start_record_":{"description":"The zero-based index of the record that we want to start with, used to optimize special handling","format":"int32","type":"integer"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","type":"integer"}}},"role":{"description":"

Document representing an access role.

","properties":{"creation_date":{"format":"date-time","type":"string"},"description":{"description":"The role description.","type":"string"},"id":{"description":"The role ID.","type":"string"},"last_modified":{"format":"date-time","type":"string"},"link":{"description":"URL that is used to get this instance. This property is computed and cannot be modified.","type":"string"},"permissions":{"$ref":"#/definitions/role_permissions","description":"The permissions assigned to the access role. Available through expands."},"user_count":{"description":"Number of users assigned to the role.","format":"int32","type":"integer"},"user_manager":{"description":"Flag whether this role is allowed to manage users or other access roles.","type":"boolean"},"users":{"description":"The users assigned to the access role. Available through expands.","items":{"$ref":"#/definitions/user"},"type":"array"}}},"role_functional_permission":{"description":"

Document representing a functional permission.

","properties":{"name":{"description":"The name of the functional permission.","minLength":1,"type":"string"},"type":{"description":"The permission type (\"functional\").","minLength":1,"type":"string"},"value":{"description":"The non domain specific value for the functional permission, e.g. ACCESS or READONLY.","type":"string"},"values":{"additionalProperties":{"type":"string"},"description":"The map of value per domain for the functional permission, e.g. ACCESS or READONLY per domain name.","type":"object"}},"required":["name","type"]},"role_functional_permissions":{"description":"

Document listing the functional permissions assigned to a certain role.

","properties":{"organization":{"description":"The list of organization functional permissions.","items":{"$ref":"#/definitions/role_functional_permission"},"type":"array"},"site":{"description":"The list of site functional permissions.","items":{"$ref":"#/definitions/role_functional_permission"},"type":"array"}}},"role_locale_permission":{"description":"

Document representing a locale permission.

","properties":{"locale_id":{"description":"The related locale id of the locale permission.","minLength":1,"type":"string"},"type":{"description":"The permission type (\"locale\").","minLength":1,"type":"string"},"value":{"description":"The non domain specific value for the locale permission, e.g. ACCESS or READONLY.","type":"string"},"values":{"additionalProperties":{"type":"string"},"description":"The map of value per domain for the locale permission, e.g. ACCESS or READONLY per domain name.","type":"object"}},"required":["locale_id","type"]},"role_locale_permissions":{"description":"

Document listing the locale permissions assigned to a certain role.

","properties":{"unscoped":{"description":"The list of unscoped locale permissions.","items":{"$ref":"#/definitions/role_locale_permission"},"type":"array"}}},"role_module_permission":{"description":"

Document representing a module permission.

","properties":{"application":{"description":"The permission application (e.g. \"bm\", \"csc\").","minLength":1,"type":"string"},"name":{"description":"The related menu action name of the module permission.","minLength":1,"type":"string"},"system":{"description":"Flag to indicate a system menu action. This is false for custom menu actions.","type":"boolean"},"type":{"description":"The permission type (\"module\").","minLength":1,"type":"string"},"value":{"description":"The non domain specific value for the module permission, e.g. ACCESS or READONLY.","type":"string"},"values":{"additionalProperties":{"type":"string"},"description":"The map of value per domain for the module permission, e.g. ACCESS or READONLY per domain name.","type":"object"}},"required":["application","name","type"]},"role_module_permissions":{"description":"

Document listing the module permissions assigned to a certain role.

","properties":{"organization":{"description":"The list of organization module permissions.","items":{"$ref":"#/definitions/role_module_permission"},"type":"array"},"site":{"description":"The list of site module permissions.","items":{"$ref":"#/definitions/role_module_permission"},"type":"array"}}},"role_permissions":{"description":"

Document listing the permissions assigned to a certain role (accessible by type).

","properties":{"functional":{"$ref":"#/definitions/role_functional_permissions","description":"The functional permissions."},"locale":{"$ref":"#/definitions/role_locale_permissions","description":"The locale permissions."},"module":{"$ref":"#/definitions/role_module_permissions","description":"The module permissions."},"webdav":{"$ref":"#/definitions/role_webdav_permissions","description":"The WebDAV permissions."}}},"role_search_request":{"description":"

Document representing an role search.\n\n Note that only either an user ID or a permission can be provided (or none), but not both. When one of them is provided,\n the further query elements will filter the respective role set (meaning the user ID / permission is AND-connected to the query definition).\n\n When a permission definition is using a site scope, it can contain only one site.\n\n When optional fields in the permission definitions are not provided, they will be treated as 'don't care' (so its e.g. possible so search for\n permission to site-specific BM modules without providing a site, and the search will return all roles having that permission for any site).

","properties":{"count":{"description":"The number of returned documents","format":"int32","maximum":200,"minimum":1,"type":"integer"},"db_start_record_":{"description":"The zero-based index of the record that we want to start with, used to optimize special handling","format":"int32","minimum":0,"type":"integer"},"expand":{"description":"List of expansions to be applied to each search results. Expands are optional","items":{"type":"string"},"type":"array"},"permissions":{"$ref":"#/definitions/role_permissions","description":"The permission to search for. Note that even though this is a container that can hold multiple permissions definitions,\n for a search request only one permission can be provided (otherwise an error will be returned)."},"query":{"$ref":"#/definitions/query","description":"The query to apply","x-sub_types":{"nested_query":"#/definitions/nested_query","filtered_query":"#/definitions/filtered_query","text_query":"#/definitions/text_query","match_all_query":"#/definitions/match_all_query","term_query":"#/definitions/term_query","bool_query":"#/definitions/bool_query"}},"select":{"description":"The field to be selected.","type":"string"},"sorts":{"description":"The list of sort clauses configured for the search request. Sort clauses are optional.","items":{"$ref":"#/definitions/sort"},"type":"array"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"user_id":{"description":"The id of the user whose roles are to be searched.","type":"string"}},"required":["query"]},"role_search_result":{"description":"

Document representing an access role search result.

","properties":{"count":{"description":"The number of returned documents","format":"int32","type":"integer"},"data":{"items":{"type":"object"},"type":"array"},"db_start_record_":{"description":"The zero-based index of the record that we want to start with, used to optimize special handling","format":"int32","minimum":0,"type":"integer"},"expand":{"description":"List of expansions to be applied to each search results. Expands are optional","items":{"type":"string"},"type":"array"},"hits":{"description":"The sorted array of search hits. Can be empty.","items":{"$ref":"#/definitions/role"},"type":"array"},"next":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the next result page."},"previous":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the previous result page."},"query":{"$ref":"#/definitions/query","description":"The query passed into the search","x-sub_types":{"nested_query":"#/definitions/nested_query","filtered_query":"#/definitions/filtered_query","text_query":"#/definitions/text_query","match_all_query":"#/definitions/match_all_query","term_query":"#/definitions/term_query","bool_query":"#/definitions/bool_query"}},"select":{"description":"The field to be selected.","type":"string"},"sorts":{"description":"The list of sort clauses configured for the search request. Sort clauses are optional.","items":{"$ref":"#/definitions/sort"},"type":"array"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The number of returned documents","format":"int32","type":"integer"}}},"role_webdav_permission":{"description":"

Document representing a WebDAV permission.

","properties":{"folder":{"description":"The related folder of the WebDAV permission.","minLength":1,"type":"string"},"type":{"description":"The permission type (\"webdav\").","minLength":1,"type":"string"},"value":{"description":"The non domain specific value for the WebDAV permission, e.g. ACCESS or READONLY.","type":"string"},"values":{"additionalProperties":{"type":"string"},"description":"The map of value per domain for the WebDAV permission, e.g. ACCESS or READONLY per domain name.","type":"object"}},"required":["folder","type"]},"role_webdav_permissions":{"description":"

Document listing the WebDAV permissions assigned to a certain role.

","properties":{"unscoped":{"description":"The list of unscoped WebDAV permissions.","items":{"$ref":"#/definitions/role_webdav_permission"},"type":"array"}}},"roles":{"description":"

Document representing a list of access roles.

","properties":{"count":{"format":"int32","type":"integer"},"data":{"description":"The list of access roles.","items":{"$ref":"#/definitions/role"},"type":"array"},"expand":{"items":{"type":"string"},"type":"array"},"next":{"type":"string"},"previous":{"type":"string"},"select":{"type":"string"},"start":{"format":"int32","minimum":0,"type":"integer"},"total":{"format":"int32","type":"integer"}}},"rule":{"description":"

Document representing a customer group rule

","properties":{"description":{"description":"The description of the rule, describing its conditions in natural language. Property is read-only.","type":"string"}}},"schedule":{"description":"

Document representing a time schedule for slots.

","properties":{"end_date":{"description":"The date to end of validity. ISO8601 date time format: yyyy-MM-dd'T'HH:mm:ssZ.","format":"date-time","type":"string"},"recurrence":{"$ref":"#/definitions/recurrence","description":"The recurrence of the schedule by day of week and time of day. Not all schedules will support a recurrence."},"start_date":{"description":"The date to start validity. ISO8601 date time format: yyyy-MM-dd'T'HH:mm:ssZ.","format":"date-time","type":"string"}}},"search_request":{"description":"

Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields that each query supports are defined within the search resource.

","properties":{"count":{"description":"The number of returned documents","format":"int32","maximum":200,"minimum":1,"type":"integer"},"db_start_record_":{"description":"The zero-based index of the record that we want to start with, used to optimize special handling","format":"int32","minimum":0,"type":"integer"},"expand":{"description":"List of expansions to be applied to each search results. Expands are optional","items":{"type":"string"},"type":"array"},"query":{"$ref":"#/definitions/query","description":"The query to apply","x-sub_types":{"nested_query":"#/definitions/nested_query","filtered_query":"#/definitions/filtered_query","text_query":"#/definitions/text_query","match_all_query":"#/definitions/match_all_query","term_query":"#/definitions/term_query","bool_query":"#/definitions/bool_query"}},"select":{"description":"The field to be selected.","type":"string"},"sorts":{"description":"The list of sort clauses configured for the search request. Sort clauses are optional.","items":{"$ref":"#/definitions/sort"},"type":"array"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"}},"required":["query"]},"shipping_address_update_request":{"description":"

Request body to update the order shipping address.

","properties":{"address1":{"type":"string"},"address2":{"type":"string"},"city":{"type":"string"},"company_name":{"type":"string"},"country_code":{"type":"string"},"first_name":{"type":"string"},"full_name":{"x-label":{"default":"Full Name"},"type":"string"},"id":{"type":"string"},"job_title":{"type":"string"},"last_name":{"type":"string"},"phone":{"type":"string"},"post_box":{"type":"string"},"postal_code":{"type":"string"},"salutation":{"type":"string"},"second_name":{"type":"string"},"state_code":{"type":"string"},"suffix":{"type":"string"},"suite":{"type":"string"},"title":{"type":"string"}}},"site":{"description":"

Document representing a site.

","properties":{"cartridges":{"description":"The cartridge Path of the site","type":"string"},"creation_date":{"format":"date-time","type":"string"},"customer_list_link":{"$ref":"#/definitions/customer_list_link","description":"The link to the customer list."},"description":{"additionalProperties":{"type":"string"},"description":"The description of this site.","format":"localized","type":"object"},"display_name":{"additionalProperties":{"type":"string"},"description":"The display name entered by the user.","format":"localized","type":"object"},"id":{"description":"The id of this site.","minLength":1,"type":"string"},"in_deletion":{"description":"The deletion status of this site, true if in deletion","type":"boolean"},"last_modified":{"format":"date-time","type":"string"},"link":{"description":"A link directly to the site","type":"string"},"storefront_status":{"enum":["online","maintenance","to_be_deleted","protected"],"type":"string"}},"required":["id"]},"site_preferences":{"description":"

Represents a set of preferences attached at the organization level.

","properties":{"link":{"description":"A URL that returns the full details for a custom preference","type":"string"},"site":{"$ref":"#/definitions/site","description":"The site that contains the preferences"}}},"site_resource_info":{"description":"

Object to represent a site configuration and available resources in the site configuration.

","properties":{"site_configs":{"description":"Site configuration","items":{"$ref":"#/definitions/resource_info"},"type":"array"},"site_id":{"description":"Site ID","type":"string"}},"required":["site_configs"]},"site_search_result":{"description":"

Document representing a site search result.

","properties":{"count":{"description":"The number of returned documents","format":"int32","type":"integer"},"data":{"items":{"type":"object"},"type":"array"},"db_start_record_":{"description":"The zero-based index of the record that we want to start with, used to optimize special handling","format":"int32","minimum":0,"type":"integer"},"expand":{"description":"List of expansions to be applied to each search results. Expands are optional","items":{"type":"string"},"type":"array"},"hits":{"description":"The sorted array of search hits. Can be empty.","items":{"$ref":"#/definitions/site"},"type":"array"},"next":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the next result page."},"previous":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the previous result page."},"query":{"$ref":"#/definitions/query","description":"The query passed into the search","x-sub_types":{"nested_query":"#/definitions/nested_query","filtered_query":"#/definitions/filtered_query","text_query":"#/definitions/text_query","match_all_query":"#/definitions/match_all_query","term_query":"#/definitions/term_query","bool_query":"#/definitions/bool_query"}},"select":{"description":"The field to be selected.","type":"string"},"sorts":{"description":"The list of sort clauses configured for the search request. Sort clauses are optional.","items":{"$ref":"#/definitions/sort"},"type":"array"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The number of returned documents","format":"int32","type":"integer"}}},"sites":{"description":"

Document representing an unfiltered list of sites.

","properties":{"count":{"description":"The number of returned documents.","format":"int32","type":"integer"},"data":{"items":{"$ref":"#/definitions/site"},"type":"array"},"expand":{"description":"The list of expands set for the search request. Expands are optional.","items":{"type":"string"},"type":"array"},"next":{"description":"The URL of the next result page.","type":"string"},"previous":{"description":"The URL of the previous result page.","type":"string"},"select":{"description":"The fields that you want to select.","type":"string"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The total number of documents.","format":"int32","type":"integer"}}},"slot":{"description":"

Document representing a slot

","properties":{"context_type":{"description":"A slot context","enum":["global","category","folder"],"type":"string"},"creation_date":{"format":"date-time","type":"string"},"description":{"description":"The user supplied description of the slot","maxLength":4000,"type":"string"},"last_modified":{"format":"date-time","type":"string"},"link":{"description":"A link to the slot","type":"string"},"preview_url":{"description":"A preview URL the slot","type":"string"},"slot_configurations":{"description":"A list of slotconfigurations this slot has","items":{"$ref":"#/definitions/slot_configuration"},"type":"array"},"slot_id":{"description":"The id for the slot","maxLength":256,"minLength":1,"type":"string"}},"required":["slot_id"]},"slot_configuration":{"description":"

Document representing a slot configuration.

","properties":{"assignment_information":{"$ref":"#/definitions/slot_configuration_assignment_information","description":"Information about the assignments and assignment schedules of this slot configuration"},"callout_msg":{"additionalProperties":{"$ref":"#/definitions/markup_text"},"description":"The call out message.","format":"localized","x-label":{"default":"Callout"},"type":"object"},"configuration_id":{"description":"The id of this configuration.","x-label":{"default":"ID"},"maxLength":256,"minLength":1,"type":"string"},"context":{"description":"The context of the slot. Ignored in input documents.","enum":["global","category","folder"],"type":"string"},"context_id":{"description":"When the context is category, this is a category_id; when\n the context is folder, this is a folder_id; and when the\n context is global, this is obsolete. This is ignored in input documents.","type":"string"},"creation_date":{"description":"Returns the value of attribute 'creationDate'.","format":"date-time","x-label":{"default":"Creation Date"},"readOnly":true,"type":"string"},"customer_groups":{"description":"The customer groups ids.","items":{"type":"string"},"type":"array"},"default":{"description":"A flag indicating whether the configuration is the default one for the slot.","type":"boolean"},"description":{"description":"The configuration description.","maxLength":4000,"type":"string"},"enabled":{"description":"A flag indicating whether the slot is enabled.","type":"boolean"},"last_modified":{"description":"Returns the value of attribute 'lastModified'.","format":"date-time","x-label":{"default":"Last Modified"},"readOnly":true,"type":"string"},"link":{"description":"The link.","type":"string"},"rank":{"description":"The rank of the slot configuration on its slot. This rank has nothing to do with the rank\n on any campaign-assignment, because these are completely different objects. These must be\n updated separately.","enum":[10,20,30,40,50,60,70,80,90,100],"format":"int32","x-label":{"default":"Rank"},"minimum":1,"type":"integer"},"schedule":{"$ref":"#/definitions/schedule","description":"The schedule for the slot."},"slot_content":{"$ref":"#/definitions/slot_content","description":"The content of the slot."},"slot_id":{"description":"The ID of the slot. Ignored in input documents.","maxLength":256,"minLength":1,"type":"string"},"template":{"description":"The template.","maxLength":256,"type":"string"},"uuid":{"description":"The uuid of the slot configuration. This property cannot be written\n and is ignored in input documents.","x-label":{"default":"UUID"},"maxLength":28,"minLength":1,"readOnly":true,"type":"string"}},"required":["slot_content"]},"slot_configuration_abtest_group_assignment":{"properties":{"abtest_description":{"type":"string"},"abtest_id":{"type":"string"},"enabled":{"type":"boolean"},"schedule":{"$ref":"#/definitions/schedule"},"segment_description":{"type":"string"},"segment_id":{"type":"string"}}},"slot_configuration_assignment_information":{"description":"","properties":{"abtest_id":{"description":"If there is only one assignment, and that assignment is an A/B test segment, the id of the A/B test the segment\n belongs to. Otherwise, empty.","type":"string"},"abtest_segment_id":{"description":"If there is only one assignment, and that assignment is an A/B test segment, the id of the A/B test segment.\n Otherwise, empty.","type":"string"},"active":{"description":"true if the individual assignment or the multiple assignments are currently active (applicable only for non default schedule assignments i.e. either campaign or A/B test schedule).","type":"boolean"},"active_abtest_assignments":{"description":"A list of currently active A/B tests this is assigned to.","items":{"$ref":"#/definitions/slot_configuration_abtest_group_assignment"},"type":"array"},"active_campaign_assignments":{"description":"A list of currently active campaigns this is assigned to.","items":{"$ref":"#/definitions/slot_configuration_campaign_assignment"},"type":"array"},"campaign_id":{"description":"If there is only one assignment, and that assignment is a campaign, the id of the campaign. Otherwise, empty.","type":"string"},"enabled":{"type":"boolean"},"end_date":{"description":"The end date of the container of the assignment (a Campaign or ABTest). If schedule_type is\n schedule_type : \"multiple\" or schedule_type : \"none\", then then result will be null. Also, a null\n date will also return null.","format":"date-time","type":"string"},"schedule":{"$ref":"#/definitions/schedule","description":"The schedule of the assignment (a Campaign or ABTest). If schedule_type is\n schedule_type : \"multiple\" or schedule_type : \"none\", then then result will be null."},"schedule_type":{"description":"If there is only one active assignment, or no active assignments and one upcoming assignment, this is that type\n of assignment (schedule_type : \"campaign\" or schedule_type : \"abtest\"). If there are no\n assignments, it will be schedule_type : \"none\", otherwise, schedule_type : \"multiple\".","enum":["none","campaign","abtest","multiple"],"type":"string"},"start_date":{"description":"The start date of the container of the assignment (a Campaign or ABTest). If schedule_type is\n schedule_type : \"multiple\" or schedule_type : \"none\", then then result will be null. Also, a null\n date will also return null.","format":"date-time","type":"string"},"upcoming_abtest_assignments":{"description":"A list of upcoming A/B tests this is assigned to.","items":{"$ref":"#/definitions/slot_configuration_abtest_group_assignment"},"type":"array"},"upcoming_campaign_assignments":{"description":"A list of upcoming campaigns this is assigned to.","items":{"$ref":"#/definitions/slot_configuration_campaign_assignment"},"type":"array"}}},"slot_configuration_campaign_assignment":{"description":"

Document representing a slot_configuration_campaign_assignment

","properties":{"campaign":{"$ref":"#/definitions/campaign","description":"The campaign."},"campaign_id":{"description":"The id of the campaign that has the slot configuration assigned to it.","maxLength":256,"minLength":1,"type":"string"},"context":{"description":"The slot context.","enum":["global","category","folder"],"type":"string"},"creation_date":{"format":"date-time","type":"string"},"customer_groups":{"description":"The list of customer groups.","items":{"type":"string"},"type":"array"},"description":{"description":"The description of the slot configuration.","maxLength":4000,"type":"string"},"enabled":{"description":"True if the assignment resource is enabled","type":"boolean"},"last_modified":{"format":"date-time","type":"string"},"link":{"description":"The URL to the slot configuration-campaign assignment.","type":"string"},"rank":{"description":"The rank of the slot confiuration-campaign assignment.\n This is different than the rank of the slot configuration.","format":"int32","minimum":1,"type":"integer"},"schedule":{"$ref":"#/definitions/schedule","description":"The schedule of the assignment resource"},"slot_configuration":{"$ref":"#/definitions/slot_configuration","description":"The slotConfiguration"},"slot_configuration_id":{"description":"The ID of the slot configuration.","maxLength":256,"minLength":1,"type":"string"},"slot_configuration_uuid":{"description":"The UUID of the slot configuration.","maxLength":28,"type":"string"},"slot_context_id":{"description":"The ID of the slot's context, for example, the category ID for a slot with category context.","maxLength":256,"type":"string"},"slot_id":{"description":"The ID of the slot.","maxLength":256,"minLength":1,"type":"string"}},"required":["context","slot_configuration_id","slot_id"]},"slot_configuration_campaign_assignment_search_result":{"description":"","properties":{"count":{"description":"The number of returned documents","format":"int32","type":"integer"},"data":{"items":{"type":"object"},"type":"array"},"db_start_record_":{"description":"The zero-based index of the record that we want to start with, used to optimize special handling","format":"int32","minimum":0,"type":"integer"},"expand":{"description":"List of expansions to be applied to each search results. Expands are optional","items":{"type":"string"},"type":"array"},"hits":{"description":"The sorted array of search hits. Can be empty.","items":{"$ref":"#/definitions/slot_configuration_campaign_assignment"},"type":"array"},"next":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the next result page."},"previous":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the previous result page."},"query":{"$ref":"#/definitions/query","description":"The query passed into the search","x-sub_types":{"nested_query":"#/definitions/nested_query","filtered_query":"#/definitions/filtered_query","text_query":"#/definitions/text_query","match_all_query":"#/definitions/match_all_query","term_query":"#/definitions/term_query","bool_query":"#/definitions/bool_query"}},"select":{"description":"The field to be selected.","type":"string"},"sorts":{"description":"The list of sort clauses configured for the search request. Sort clauses are optional.","items":{"$ref":"#/definitions/sort"},"type":"array"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The number of returned documents","format":"int32","type":"integer"}}},"slot_configuration_search_result":{"description":"

Document representing a slot configuration search result.

","properties":{"count":{"description":"The number of returned documents","format":"int32","type":"integer"},"data":{"items":{"type":"object"},"type":"array"},"db_start_record_":{"description":"The zero-based index of the record that we want to start with, used to optimize special handling","format":"int32","minimum":0,"type":"integer"},"expand":{"description":"List of expansions to be applied to each search results. Expands are optional","items":{"type":"string"},"type":"array"},"hits":{"description":"The sorted array of search hits. This array can be empty.","items":{"$ref":"#/definitions/slot_configuration"},"type":"array"},"next":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the next result page."},"previous":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the previous result page."},"query":{"$ref":"#/definitions/query","description":"The query passed into the search","x-sub_types":{"nested_query":"#/definitions/nested_query","filtered_query":"#/definitions/filtered_query","text_query":"#/definitions/text_query","match_all_query":"#/definitions/match_all_query","term_query":"#/definitions/term_query","bool_query":"#/definitions/bool_query"}},"select":{"description":"The field to be selected.","type":"string"},"sorts":{"description":"The list of sort clauses configured for the search request. Sort clauses are optional.","items":{"$ref":"#/definitions/sort"},"type":"array"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The number of returned documents","format":"int32","type":"integer"}}},"slot_configurations":{"description":"

Document representing an unfiltered list of slot configurations.

","properties":{"count":{"description":"The number of returned documents.","format":"int32","type":"integer"},"data":{"items":{"$ref":"#/definitions/slot_configuration"},"type":"array"},"expand":{"description":"The list of expands set for the search request. Expands are optional.","items":{"type":"string"},"type":"array"},"next":{"description":"The URL of the next result page.","type":"string"},"previous":{"description":"The URL of the previous result page.","type":"string"},"select":{"description":"The fields that you want to select.","type":"string"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The total number of documents.","format":"int32","type":"integer"}}},"slot_content":{"description":"

Document representing the content type for a slot.

","properties":{"body":{"additionalProperties":{"$ref":"#/definitions/markup_text"},"description":"The HTML body (valid only for type 'html').","format":"localized","type":"object"},"category_ids":{"description":"The category ids (valid only for type 'categories').","items":{"type":"string"},"type":"array"},"content_asset_ids":{"description":"The content asset ids (valid only for type 'content_assets').","items":{"type":"string"},"type":"array"},"product_ids":{"description":"The product ids (valid only for type 'products').","items":{"type":"string"},"type":"array"},"type":{"description":"The type of content in the slot.","enum":["products","categories","content_assets","html","recommended_products"],"type":"string"}},"required":["type"]},"slot_search_result":{"description":"

Document representing a slot search result.

","properties":{"count":{"description":"The number of returned documents","format":"int32","type":"integer"},"data":{"items":{"type":"object"},"type":"array"},"db_start_record_":{"description":"The zero-based index of the record that we want to start with, used to optimize special handling","format":"int32","minimum":0,"type":"integer"},"expand":{"description":"List of expansions to be applied to each search results. Expands are optional","items":{"type":"string"},"type":"array"},"hits":{"description":"The sorted array of search hits. Can be empty.","items":{"$ref":"#/definitions/slot"},"type":"array"},"next":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the next result page."},"previous":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the previous result page."},"query":{"$ref":"#/definitions/query","description":"The query passed into the search","x-sub_types":{"nested_query":"#/definitions/nested_query","filtered_query":"#/definitions/filtered_query","text_query":"#/definitions/text_query","match_all_query":"#/definitions/match_all_query","term_query":"#/definitions/term_query","bool_query":"#/definitions/bool_query"}},"select":{"description":"The field to be selected.","type":"string"},"sorts":{"description":"The list of sort clauses configured for the search request. Sort clauses are optional.","items":{"$ref":"#/definitions/sort"},"type":"array"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The number of returned documents","format":"int32","type":"integer"}}},"slots":{"description":"

Document representing an unfiltered list of slots.

","properties":{"count":{"description":"The number of returned documents.","format":"int32","type":"integer"},"data":{"items":{"$ref":"#/definitions/slot"},"type":"array"},"expand":{"description":"The list of expands set for the search request. Expands are optional.","items":{"type":"string"},"type":"array"},"next":{"description":"The URL of the next result page.","type":"string"},"previous":{"description":"The URL of the previous result page.","type":"string"},"select":{"description":"The fields that you want to select.","type":"string"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The total number of documents.","format":"int32","type":"integer"}}},"sort":{"description":"

Document representing a sort request.

","properties":{"field":{"description":"The name of the field to sort on.","type":"string"},"sort_order":{"description":"The sort order to be applied when sorting. When omitted, the default sort order (ASC) is used.","enum":["asc","desc"],"type":"string"}},"required":["field"]},"sorting_rule":{"description":"

Document representing a product sorting rule

","properties":{"creation_date":{"format":"date-time","type":"string"},"description":{"description":"The description of the product sorting rule.","maxLength":4000,"type":"string"},"id":{"description":"the id of product sorting rule.","type":"string"},"last_modified":{"format":"date-time","type":"string"},"product_sorting_rule_steps":{"description":"the steps involved in sorting by this rule.","items":{"$ref":"#/definitions/sorting_rule_step"},"type":"array"},"rule_context":{"description":"The context of the rule, either site or global","type":"string"},"site":{"type":"string"}}},"sorting_rule_search_result":{"description":"

Document representing a source code group search result.

","properties":{"count":{"description":"The number of returned documents","format":"int32","type":"integer"},"data":{"items":{"type":"object"},"type":"array"},"db_start_record_":{"description":"The zero-based index of the record that we want to start with, used to optimize special handling","format":"int32","minimum":0,"type":"integer"},"expand":{"description":"List of expansions to be applied to each search results. Expands are optional","items":{"type":"string"},"type":"array"},"hits":{"description":"The sorted array of search hits. Can be empty.","items":{"$ref":"#/definitions/sorting_rule"},"type":"array"},"next":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the next result page."},"previous":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the previous result page."},"query":{"$ref":"#/definitions/query","description":"The query passed into the search","x-sub_types":{"nested_query":"#/definitions/nested_query","filtered_query":"#/definitions/filtered_query","text_query":"#/definitions/text_query","match_all_query":"#/definitions/match_all_query","term_query":"#/definitions/term_query","bool_query":"#/definitions/bool_query"}},"select":{"description":"The field to be selected.","type":"string"},"sorts":{"description":"The list of sort clauses configured for the search request. Sort clauses are optional.","items":{"$ref":"#/definitions/sort"},"type":"array"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The number of returned documents","format":"int32","type":"integer"}}},"sorting_rule_step":{"description":"

Document representing a product sorting rule step

","properties":{"attribute_id":{"description":"the id for sorting attribute.","type":"string"},"direction":{"description":"the direction of the sorting attribute","enum":["asc","desc"],"type":"string"},"is_system":{"description":"whether or not the attribute is a system attribute.","type":"boolean"},"position":{"description":"the position of product sorting rule step.","format":"int32","type":"integer"},"text_relevance_included":{"description":"The text relevance included.","type":"boolean"},"type_id":{"description":"the sorting type for sorting attribute.","type":"string"}}},"source_code_group":{"description":"

Document representing a source code group

","properties":{"active":{"description":"The active flag, a computed value based on start and end time","type":"boolean"},"active_redirect":{"$ref":"#/definitions/source_code_redirect_info","description":"The active redirect information"},"cookie_duration":{"description":"The cookie duration in days","format":"int32","maximum":999,"minimum":0,"type":"integer"},"creation_date":{"description":"Returns the value of attribute 'creationDate'.","format":"date-time","x-label":{"default":"Creation Date"},"readOnly":true,"type":"string"},"description":{"description":"The description","type":"string"},"enabled":{"description":"The enabled flag for storefront to consider the source code group, default to false.","type":"boolean"},"end_time":{"description":"The end time","format":"date-time","type":"string"},"id":{"description":"The id of source code group","x-label":{"default":"ID"},"maxLength":28,"minLength":1,"type":"string"},"inactive_redirect":{"$ref":"#/definitions/source_code_redirect_info","description":"The inactive redirect information"},"last_modified":{"description":"Returns the value of attribute 'lastModified'.","format":"date-time","x-label":{"default":"Last Modified"},"readOnly":true,"type":"string"},"link":{"description":"URL that is used to get this instance, read only","type":"string"},"specifications":{"description":"Source Code specifications","items":{"$ref":"#/definitions/source_code_specification"},"type":"array"},"start_time":{"description":"The start time","format":"date-time","type":"string"}}},"source_code_group_search_result":{"description":"

Document representing a source code group search result.

","properties":{"count":{"description":"The number of returned documents","format":"int32","type":"integer"},"data":{"items":{"type":"object"},"type":"array"},"db_start_record_":{"description":"The zero-based index of the record that we want to start with, used to optimize special handling","format":"int32","minimum":0,"type":"integer"},"expand":{"description":"List of expansions to be applied to each search results. Expands are optional","items":{"type":"string"},"type":"array"},"hits":{"description":"The sorted array of search hits. Can be empty.","items":{"$ref":"#/definitions/source_code_group"},"type":"array"},"next":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the next result page."},"previous":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the previous result page."},"query":{"$ref":"#/definitions/query","description":"The query passed into the search","x-sub_types":{"nested_query":"#/definitions/nested_query","filtered_query":"#/definitions/filtered_query","text_query":"#/definitions/text_query","match_all_query":"#/definitions/match_all_query","term_query":"#/definitions/term_query","bool_query":"#/definitions/bool_query"}},"select":{"description":"The field to be selected.","type":"string"},"sorts":{"description":"The list of sort clauses configured for the search request. Sort clauses are optional.","items":{"$ref":"#/definitions/sort"},"type":"array"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The number of returned documents","format":"int32","type":"integer"}}},"source_code_groups":{"description":"

Document representing an unfiltered list of source code groups.

","properties":{"count":{"description":"The number of returned documents.","format":"int32","type":"integer"},"data":{"items":{"$ref":"#/definitions/source_code_group"},"type":"array"},"expand":{"description":"The list of expands set for the search request. Expands are optional.","items":{"type":"string"},"type":"array"},"next":{"description":"The URL of the next result page.","type":"string"},"previous":{"description":"The URL of the previous result page.","type":"string"},"select":{"description":"The fields that you want to select.","type":"string"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The total number of documents.","format":"int32","type":"integer"}}},"source_code_redirect_info":{"description":"

Document representing a source code redirect info

","properties":{"location":{"description":"The location of redirect, based on the type, this can be a product location, category location, home page, content page, or just a URL","type":"string"},"location_type":{"description":"The type of redirect location, e.g. product (for a product page), category (a category page), home (for home page), page (for content), url (for a URL location)","enum":["default","home","product","category","page","url"],"type":"string"}}},"source_code_specification":{"description":"

Document representing a source code specification

","properties":{"expression":{"description":"

Expression is a value for the \"Source Code Specification\" may be a literal source code, or it may contain wildcards.

\n

A literal code is simply the literal code. Valid characters are letters and numbers (no spaces).

\n

A wildcard allows a single source code specification to match multiple source codes. The following wildcards are supported:

\n ","type":"string"}}},"status":{"properties":{"code":{"description":"Status code.","type":"string"},"message":{"description":"Status message.","type":"string"},"status":{"description":"Status shows successful operation end.","enum":["ok","error"],"type":"string"}}},"status_metadata":{"properties":{"client_id":{"description":"The client ID that is responsible for the status.","type":"string"},"reason":{"description":"The reason of the status.","type":"string"},"user_login":{"description":"The user login that is responsible for the status.","type":"string"}}},"store":{"description":"

Document representing a store

","properties":{"address1":{"description":"Returns the first address.","x-label":{"default":"Address 1"},"maxLength":256,"type":"string"},"address2":{"description":"Returns the second address value.","x-label":{"default":"Address 2"},"maxLength":256,"type":"string"},"c_countryCodeValue":{"description":"Country Code Value - for the form values","x-label":{"default":"Country Code Value"},"type":"string"},"c_inventoryListId":{"description":"Store Inventory List ID","x-label":{"default":"Store Inventory List ID"},"type":"string"},"city":{"description":"Returns the city.","x-label":{"default":"City"},"maxLength":256,"type":"string"},"country_code":{"description":"The two-character country code per ISO 3166-1 alpha-2.","enum":["CA","DE","US"],"x-enum-labels":[{"default":"Canada"},{"default":"Germany"},{"default":"United States"}],"x-label":{"default":"Country"},"maxLength":2,"type":"string"},"creation_date":{"description":"Returns the value of attribute 'creationDate'.","format":"date-time","x-label":{"default":"Creation Date"},"readOnly":true,"type":"string"},"email":{"description":"Email address to contact the store","x-label":{"default":"Email"},"maxLength":256,"type":"string"},"fax":{"description":"Returns the fax number .","x-label":{"default":"Fax"},"maxLength":256,"type":"string"},"id":{"description":"The id for the store","x-label":{"default":"ID"},"maxLength":256,"type":"string"},"image":{"$ref":"#/definitions/media_file","description":"The image associated with the store","x-label":{"default":"Image"}},"inventory_id":{"description":"The inventory list associated with the store","x-label":{"default":"Inventory List"},"maxLength":256,"type":"string"},"last_modified":{"description":"Returns the value of attribute 'lastModified'.","format":"date-time","x-label":{"default":"Last Modified"},"readOnly":true,"type":"string"},"latitude":{"description":"The latitude of the store","format":"double","x-label":{"default":"Latitude"},"maximum":90.0,"minimum":-90.0,"type":"number"},"link":{"description":"a URL that is used to get this instance. The property is computed and cannot be changed.","x-label":{"default":"Store document link"},"type":"string"},"longitude":{"description":"The longitude of the store","format":"double","x-label":{"default":"Longitude"},"maximum":180.0,"minimum":-180.0,"type":"number"},"name":{"description":"The name of the store","x-label":{"default":"Name"},"type":"string"},"phone":{"description":"Returns the phone number.","x-label":{"default":"Phone"},"maxLength":256,"type":"string"},"pos_enabled":{"description":"Whether this store uses our Store product for Point-of-Sale","x-label":{"default":"Uses Commerce Cloud Store for Point-of-Sale"},"type":"boolean"},"postal_code":{"description":"The postal code for the store","x-label":{"default":"Postal Code"},"maxLength":10,"type":"string"},"state_code":{"description":"Returns the customer's state.","x-label":{"default":"State"},"maxLength":256,"type":"string"},"store_events":{"additionalProperties":{"$ref":"#/definitions/markup_text"},"description":"The store events (localized)","format":"localized","x-label":{"default":"Store Events"},"type":"object"},"store_hours":{"additionalProperties":{"$ref":"#/definitions/markup_text"},"description":"The store opening hours (localized)","format":"localized","x-label":{"default":"Store Hours"},"type":"object"},"store_locator_enabled":{"description":"Whether this store should appear in store locator searches","x-label":{"default":"Store Locator Enabled"},"type":"boolean"}}},"store_search_result":{"description":"

Document representing a store search result.

","properties":{"count":{"description":"The number of returned documents","format":"int32","type":"integer"},"data":{"items":{"type":"object"},"type":"array"},"db_start_record_":{"description":"The zero-based index of the record that we want to start with, used to optimize special handling","format":"int32","minimum":0,"type":"integer"},"expand":{"description":"List of expansions to be applied to each search results. Expands are optional","items":{"type":"string"},"type":"array"},"hits":{"description":"The sorted array of search hits. Can be empty.","items":{"$ref":"#/definitions/store"},"type":"array"},"next":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the next result page."},"previous":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the previous result page."},"query":{"$ref":"#/definitions/query","description":"The query passed into the search","x-sub_types":{"nested_query":"#/definitions/nested_query","filtered_query":"#/definitions/filtered_query","text_query":"#/definitions/text_query","match_all_query":"#/definitions/match_all_query","term_query":"#/definitions/term_query","bool_query":"#/definitions/bool_query"}},"select":{"description":"The field to be selected.","type":"string"},"sorts":{"description":"The list of sort clauses configured for the search request. Sort clauses are optional.","items":{"$ref":"#/definitions/sort"},"type":"array"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The number of returned documents","format":"int32","type":"integer"}}},"stores":{"description":"

Document representing an unfiltered list of stores.

","properties":{"count":{"description":"The number of returned documents.","format":"int32","type":"integer"},"data":{"items":{"$ref":"#/definitions/store"},"type":"array"},"expand":{"description":"The list of expands set for the search request. Expands are optional.","items":{"type":"string"},"type":"array"},"next":{"description":"The URL of the next result page.","type":"string"},"previous":{"description":"The URL of the previous result page.","type":"string"},"select":{"description":"The fields that you want to select.","type":"string"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The total number of documents.","format":"int32","type":"integer"}}},"tag":{"description":"

Document representing a tag

","properties":{"tag_id":{"description":"The id of the tag.","type":"string"}}},"term_filter":{"description":"

Document representing a term filter.\n \n A term filter allows you to restrict a search result to hits that match (exactly) one of the values configured for the\n filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters\n whenever the criterion you filter on is a shared property of multiple searches (for example, like filtering by an\n order status). Use term filters for fields that have a discrete and small set of values only.\n \n Example: (id=\"my_id\")\n

 \n    query: {\n        filtered_query: {\n            query: { match_all_query: {} },\n            filter: {\n                term_filter: {\n                    field: \"id\",\n                    operator: \"is\",\n                    values: [\"my_id\"]\n                }\n            }\n        }\n    }\n  
\n\n Example: (id IN (\"my_id\",\"other_id\"))\n
 \n    query: {\n        filtered_query: {\n            query: { match_all_query: {} },\n            filter: {\n                term_filter: {\n                    field: \"id\",\n                    operator: \"one_of\",\n                    values: [\"my_id\",\"other_id\"]\n                }\n            }\n        }\n    }\n  
\n\n Example: (description=NULL)\n
 \n    query: {\n        filtered_query: {\n            query: { match_all_query: {} },\n            filter: {\n                term_filter: {\n                    field: \"description\",\n                    operator: \"is_null\"\n                }\n            }\n        }\n    }\n  

","properties":{"field":{"description":"The filter field.","type":"string"},"operator":{"description":"The operator to compare the field's values with the given ones.","enum":["is","one_of","is_null","is_not_null","less","greater","not_in","neq"],"type":"string"},"values":{"description":"The filter values.","items":{"type":"object"},"type":"array"}},"required":["field","operator"]},"term_query":{"description":"

A term query matches one (or more) value(s) against one (or more) document field(s). A document is considered a hit\n if one of the values matches (exactly) with at least one of the given fields. The operator \"is\" can only take\n one value, while \"one_of\" can take multiple values. If multiple fields are specified, they are combined using the OR operator.\n The less and greater operators are not compatible with some search types.\n To query based on numeric bounds in those cases, you can use a range filter on a\n filtered query . \n \n Elastic only : If used with multiple fields, the query is internally handled as a boolean OR of DisjointMaxQueries (with the dismax\n matching a value against all fields). The dismax makes sure that a document carrying a single term in\n multiple fields does not get higher scores than a document matching multiple terms in multiple fields.\n\n Example: (id=\"my_id\")\n

 \n query: {\n     term_query: {\n         fields: [\"id\"],\n         operator: \"is\",\n         values: [\"my_id\"]\n     }\n }\n  
\n\n Example: (id IN (\"my_id\",\"other_id\"))\n
 \n query: {\n     term_query: {\n         fields: [\"id\"],\n         operator: \"one_of\",\n         values: [\"my_id\",\"other_id\"]\n     }\n }\n  
\n\n Example: (id=null)\n
 \n query: {\n     term_query: {\n        fields: [\"description\"],\n        operator: \"is_null\"\n    }\n }\n  
\n\n Example: ((id IN ('generic', 'keyword')) OR (description IN ('generic', 'keyword'))\n
 \n query: {\n    term_query: {\n        fields: [\"id\", \"description\"],\n        operator: \"one_of\",\n        values: [\"generic\",\"keyword\"]\n    }\n }\n  

","properties":{"fields":{"description":"The document field(s) the value(s) are matched against, combined with the operator.","items":{"type":"string"},"minItems":1,"type":"array"},"operator":{"description":"Returns the operator to use for the term query.","enum":["is","one_of","is_null","is_not_null","less","greater","not_in","neq"],"type":"string"},"values":{"description":"The values the field(s) are compared against, combined with the operator.","items":{"type":"object"},"type":"array"}},"required":["fields","operator"]},"text_query":{"description":"

A text query is used to match some text (i.e. a search phrase possibly consisting of multiple terms) against one or\n multiple fields. In case multiple fields are provided, the phrase conceptually forms a logical OR over the fields. In\n this case, the terms of the phrase basically have to match the text that would result from concatenating all\n given fields.\n \n Example: (coupon_id contains \"xmas\" )\n

 \n    query: {\n        text_query: {\n            fields: [\"coupon_id\"],\n            search_phrase: \"xmas\"\n        }\n    }\n  
\n\n Example: (coupon_id contains \"xmas\" OR description contains \"xmas\")\n
 \n    query: {\n        text_query: {\n            fields: [\"description\", \"coupon_id\"],\n            search_phrase: \"xmas\"\n        }\n    }\n  
\n\n Example: (description contains \"holiday\" AND description contains \"bojo\")\n
 \n    query: {\n        text_query: {\n            fields: [\"description\"],\n            search_phrase: \"holiday bogo\"\n        }\n    }\n  

","properties":{"fields":{"description":"The document fields the search phrase has to match.","items":{"type":"string"},"minItems":1,"type":"array"},"search_phrase":{"description":"A search phrase which may consist of multiple terms.","type":"string"}},"required":["fields","search_phrase"]},"time_of_day":{"description":"

Document representing a time schedule within a single day.

","properties":{"time_from":{"description":"The time to start from. Time format: HH:mm:ss. Seconds\n are ignored and set to 0.","format":"time","type":"string"},"time_to":{"description":"The time to end on. Time format: HH:mm:ss. Seconds\n are ignored and set to 0.","format":"time","type":"string"}}},"user":{"description":"

Document representing a user.

","properties":{"creation_date":{"format":"date-time","type":"string"},"disabled":{"description":"Flag whether the user is disabled.","type":"boolean"},"email":{"description":"The email address.","maxLength":256,"type":"string"},"external_id":{"description":"The external id. This attribute is only valid when the user uses centralized authentication.","maxLength":256,"type":"string"},"first_name":{"description":"The first name.","maxLength":256,"type":"string"},"last_login_date":{"description":"Last login of the user.","format":"date","type":"string"},"last_modified":{"format":"date-time","type":"string"},"last_name":{"description":"The last name.","maxLength":256,"type":"string"},"link":{"description":"URL that is used to get this instance. This property is computed and cannot be modified.","type":"string"},"locked":{"description":"Flag whether the user is locked.","type":"boolean"},"login":{"description":"The user login.","maxLength":256,"type":"string"},"password":{"description":"The password. This attribute is only used to set the password upon user creation.\n This attribute is only valid when the user does not use centralized authentication.","type":"string"},"password_expiration_date":{"description":"The user password expiration time","format":"date-time","type":"string"},"password_modification_date":{"description":"The time, where the password was last modified","format":"date-time","type":"string"},"preferred_data_locale":{"description":"The effective preferred data locale of the user. A locale is only considered if the user has at least read\n permission on the locale.","type":"string"},"preferred_ui_locale":{"description":"The preferred UI locale of the user.","type":"string"},"roles":{"description":"List of role ids the user is assigned to.","items":{"type":"string"},"type":"array"}},"required":["email","last_name"]},"user_search_result":{"description":"

Document representing an user search result.

","properties":{"count":{"description":"The number of returned documents","format":"int32","type":"integer"},"data":{"items":{"type":"object"},"type":"array"},"db_start_record_":{"description":"The zero-based index of the record that we want to start with, used to optimize special handling","format":"int32","minimum":0,"type":"integer"},"expand":{"description":"List of expansions to be applied to each search results. Expands are optional","items":{"type":"string"},"type":"array"},"hits":{"description":"The sorted array of search hits. Can be empty.","items":{"$ref":"#/definitions/user"},"type":"array"},"next":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the next result page."},"previous":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the previous result page."},"query":{"$ref":"#/definitions/query","description":"The query passed into the search","x-sub_types":{"nested_query":"#/definitions/nested_query","filtered_query":"#/definitions/filtered_query","text_query":"#/definitions/text_query","match_all_query":"#/definitions/match_all_query","term_query":"#/definitions/term_query","bool_query":"#/definitions/bool_query"}},"select":{"description":"The field to be selected.","type":"string"},"sorts":{"description":"The list of sort clauses configured for the search request. Sort clauses are optional.","items":{"$ref":"#/definitions/sort"},"type":"array"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The number of returned documents","format":"int32","type":"integer"}}},"users":{"description":"

Document representing a list of users.

","properties":{"count":{"description":"The number of returned documents.","format":"int32","type":"integer"},"data":{"description":"The list of users.","items":{"$ref":"#/definitions/user"},"type":"array"},"expand":{"description":"The list of expands set for the search request. Expands are optional.","items":{"type":"string"},"type":"array"},"next":{"description":"The URL of the next result page.","type":"string"},"previous":{"description":"The URL of the previous result page.","type":"string"},"select":{"description":"The fields that you want to select.","type":"string"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The total number of documents.","format":"int32","type":"integer"}}},"variant":{"description":"

Document representing a product variation.

","properties":{"ats":{"description":"Inventory \"Available to Sell\" of the product.","format":"double","type":"number"},"default_product_variation":{"description":"","type":"boolean"},"image":{"$ref":"#/definitions/media_file","description":"URL to the preview image."},"in_stock":{"description":"true if the product is in stock, or false if not.","type":"boolean"},"link":{"description":"The URL addressing the product.","type":"string"},"online":{"description":"If the product is currently online.\n true if online\n false if not","type":"boolean"},"orderable":{"description":"A flag indicating whether the variant is orderable.","type":"boolean"},"price":{"description":"The sales price of the variant.","format":"double","type":"number"},"price_currency":{"description":"Currency code for the price of the product.","type":"string"},"price_per_unit":{"description":"The sales price of the variant.","format":"double","type":"number"},"product_id":{"description":"The id (SKU) of the variant.","maxLength":100,"minLength":1,"type":"string"},"searchable":{"additionalProperties":{"type":"boolean"},"description":"","format":"site-specific","type":"object"},"variation_attributes":{"description":"variation attributes","items":{"$ref":"#/definitions/variation_attribute"},"type":"array"},"variation_values":{"additionalProperties":{"type":"string"},"description":"The actual variation attribute id - value pairs.","type":"object"}},"required":["product_id"]},"variant_search_result":{"description":"

Document that represents a search on certificates and keys.

","properties":{"count":{"description":"The number of returned documents","format":"int32","type":"integer"},"data":{"items":{"type":"object"},"type":"array"},"db_start_record_":{"description":"The zero-based index of the record that we want to start with, used to optimize special handling","format":"int32","minimum":0,"type":"integer"},"expand":{"description":"List of expansions to be applied to each search results. Expands are optional","items":{"type":"string"},"type":"array"},"hits":{"description":"The hits from the search","items":{"$ref":"#/definitions/variant"},"type":"array"},"next":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the next result page."},"previous":{"$ref":"#/definitions/result_page","description":"The data that can be used (as parameters on the search request) to retrieve the previous result page."},"query":{"$ref":"#/definitions/query","description":"The query passed into the search","x-sub_types":{"nested_query":"#/definitions/nested_query","filtered_query":"#/definitions/filtered_query","text_query":"#/definitions/text_query","match_all_query":"#/definitions/match_all_query","term_query":"#/definitions/term_query","bool_query":"#/definitions/bool_query"}},"select":{"description":"The field to be selected.","type":"string"},"sorts":{"description":"The list of sort clauses configured for the search request. Sort clauses are optional.","items":{"$ref":"#/definitions/sort"},"type":"array"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The number of returned documents","format":"int32","type":"integer"}}},"variants":{"description":"

Document representing an unfiltered list of variants.

","properties":{"count":{"description":"The number of returned documents.","format":"int32","type":"integer"},"data":{"items":{"$ref":"#/definitions/variant"},"type":"array"},"expand":{"description":"The list of expands set for the search request. Expands are optional.","items":{"type":"string"},"type":"array"},"next":{"description":"The URL of the next result page.","type":"string"},"previous":{"description":"The URL of the previous result page.","type":"string"},"select":{"description":"The fields that you want to select.","type":"string"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The total number of documents.","format":"int32","type":"integer"}}},"variation_attribute":{"description":"

Document representing a variation attribute.

","properties":{"attribute_definition_id":{"description":"The id of the requested attribute definition.","type":"string"},"attribute_definition_name":{"additionalProperties":{"type":"string"},"description":"The localized display name of the variation attribute definition.","format":"localized","type":"object"},"default_value":{"description":"default variation attribute value","type":"string"},"id":{"description":"The id of the variation attribute.","minLength":1,"type":"string"},"link":{"description":"URL that is used to get this instance","type":"string"},"name":{"additionalProperties":{"type":"string"},"description":"The localized display name of the variation attribute.","format":"localized","type":"object"},"shared":{"description":"Returns the value of attribute 'shared' if attribute is local or shared","type":"boolean"},"slicing":{"description":"Returns the value of attribute 'slicing'.","type":"boolean"},"values":{"description":"The sorted array of variation values. This array can be empty.","items":{"$ref":"#/definitions/variation_attribute_value"},"type":"array"},"variation_attribute_type":{"description":"variation attribute type","enum":["string","int","unknown"],"type":"string"}},"required":["attribute_definition_id"]},"variation_attribute_value":{"description":"

Document representing a variation attribute value.

","properties":{"description":{"additionalProperties":{"type":"string"},"description":"The localized description of the variation value.","format":"localized","type":"object"},"image":{"$ref":"#/definitions/media_file","description":"The first product image for the configured viewtype and this variation value."},"image_swatch":{"$ref":"#/definitions/media_file","description":"The first product image for the configured viewtype and this variation value. (typically the swatch image)"},"link":{"type":"string"},"name":{"additionalProperties":{"type":"string"},"description":"The localized display name of the variation value.","format":"localized","type":"object"},"orderable":{"description":"A flag indicating whether at least one variant with this variation attribute value is available to sell.","type":"boolean"},"position":{"description":"The position of the value among all values of a variation attribute.","format":"double","type":"number"},"value":{"description":"The actual variation value.","minLength":1,"type":"string"}},"required":["value"]},"variation_attribute_values":{"description":"

Document representing an unfiltered list of variation attribute values.

","properties":{"count":{"description":"The number of returned documents.","format":"int32","type":"integer"},"data":{"items":{"$ref":"#/definitions/variation_attribute_value"},"type":"array"},"expand":{"description":"The list of expands set for the search request. Expands are optional.","items":{"type":"string"},"type":"array"},"next":{"description":"The URL of the next result page.","type":"string"},"previous":{"description":"The URL of the previous result page.","type":"string"},"select":{"description":"The fields that you want to select.","type":"string"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The total number of documents.","format":"int32","type":"integer"}}},"variation_attributes":{"description":"

Document representing an unfiltered list of variation attributes.

","properties":{"count":{"description":"The number of returned documents.","format":"int32","type":"integer"},"data":{"items":{"$ref":"#/definitions/variation_attribute"},"type":"array"},"expand":{"description":"The list of expands set for the search request. Expands are optional.","items":{"type":"string"},"type":"array"},"next":{"description":"The URL of the next result page.","type":"string"},"previous":{"description":"The URL of the previous result page.","type":"string"},"select":{"description":"The fields that you want to select.","type":"string"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The total number of documents.","format":"int32","type":"integer"}}},"variation_group":{"description":"

Document representing a variation group.

","properties":{"link":{"description":"The URL addressing the product.","type":"string"},"orderable":{"description":"A flag indicating whether the variation group is orderable.","type":"boolean"},"price":{"description":"The sales price of the variation group.","format":"double","type":"number"},"price_per_unit":{"description":"The sales price per unit of the variation group.","format":"double","type":"number"},"product_id":{"description":"The id (SKU) of the variation group.","maxLength":100,"minLength":1,"type":"string"},"variation_values":{"additionalProperties":{"type":"string"},"description":"The actual variation attribute id - value pairs.","type":"object"}}},"variation_groups":{"description":"

Document representing an unfiltered list of variation groups.

","properties":{"count":{"description":"The number of returned documents.","format":"int32","type":"integer"},"data":{"items":{"$ref":"#/definitions/variation_group"},"type":"array"},"expand":{"description":"The list of expands set for the search request. Expands are optional.","items":{"type":"string"},"type":"array"},"next":{"description":"The URL of the next result page.","type":"string"},"previous":{"description":"The URL of the previous result page.","type":"string"},"select":{"description":"The fields that you want to select.","type":"string"},"start":{"description":"The zero-based index of the first search hit to include in the result.","format":"int32","minimum":0,"type":"integer"},"total":{"description":"The total number of documents.","format":"int32","type":"integer"}}},"version_range_object":{"description":"

Object to represent the Version Range. Used in resources_object.

","properties":{"from":{"description":"Starting version","type":"string"},"until":{"description":"Ending version","type":"string"}}},"webdav_permission":{"description":"

Document representing a WebDAV permission.

","properties":{"description":{"additionalProperties":{"type":"string"},"description":"The description of the WebDAV permission.","format":"localized","type":"object"},"folder":{"description":"The folder of the WebDAV permission.","type":"string"},"type":{"description":"The permission type.","type":"string"},"values":{"description":"The list of possible values for the WebDAV permission, e.g. ACCESS or READONLY.","items":{"type":"string"},"type":"array"}}},"webdav_permissions":{"description":"

Document representing the available WebDAV permissions.

","properties":{"scopes":{"description":"The available WebDAV permission scopes (e.g. unscoped).","items":{"type":"string"},"type":"array"},"unscoped":{"description":"The collection of available unscoped WebDAV permissions.","items":{"$ref":"#/definitions/webdav_permission"},"type":"array"}}}},"x-documents":"https://zzeu-008.dx.commercecloud.salesforce.com/s/-/dw/meta/rest/data/v25_6/documents","host":"zzeu-008.dx.commercecloud.salesforce.com","info":{"description":"Data API endpoints enable developers to build applications for merchants: Create, update, delete business objects, like products, customers, pricing and promotions or assignments. They typically provide read and write access and are designed for moderate usage.","title":"Data API","version":"25.6"},"paths":{"/alerts/descriptors":{"get":{"description":"Gets a collection of all alert descriptors","operationId":"getAlertsDescriptors","responses":{"default":{"description":"","schema":{"$ref":"#/definitions/alert_descriptors"}}},"security":[{"oauth2_application":[]}],"tags":["alerts"]}},"/alerts/descriptors/{application_id}":{"get":{"description":"Gets a collection of all alert descriptors for the given application context.","operationId":"getAlertsDescriptorsByID","parameters":[{"description":"The application ID.","in":"path","minLength":1,"name":"application_id","required":true,"type":"string"},{"description":"The application context path (optional).","in":"query","name":"application_context_path","type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/alert_descriptors"}}},"security":[{"oauth2_application":[]}],"tags":["alerts"]}},"/alerts/descriptors/{application_id}/{application_context_path}/{message_id}":{"get":{"description":"Gets a single alert descriptor","operationId":"getAlertsDescriptorsByIDByIDByID","parameters":[{"description":"The application ID.","in":"path","minLength":1,"name":"application_id","required":true,"type":"string"},{"description":"The application context path.","in":"path","minLength":1,"name":"application_context_path","required":true,"type":"string"},{"description":"The message ID.","in":"path","minLength":1,"name":"message_id","required":true,"type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/alert_descriptor"}},"404":{"description":"`AlertDescriptorNotFoundException` - If no alert descriptor was found for the given path."}},"security":[{"oauth2_application":[]}],"tags":["alerts"]}},"/alerts/descriptors/{application_id}/{application_context_path}/{message_id}/revalidate":{"patch":{"description":"

Triggers rule validation for all described descriptors.

When a validation rule for a descriptor is triggered active alerts might be deleted if the conditions are not met anymore. Additionally, new alerts might be created if conditions of a descriptor are now met.

If the alert descriptor is context-specific, a context object ID needs to be provided in the request body. The request body can be ued to further restrict the set of descriptors that are validated.

","operationId":"patchAlertsDescriptorsByIDByIDByIDRevalidate","parameters":[{"description":"The application ID.","in":"path","minLength":1,"name":"application_id","required":true,"type":"string"},{"description":"The application context path.","in":"path","minLength":1,"name":"application_context_path","required":true,"type":"string"},{"description":"The message ID.","in":"path","minLength":1,"name":"message_id","required":true,"type":"string"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/alert_descriptors_revalidation_request"}}],"responses":{"400":{"description":"`ContextObjectIdRequiredException` - If the descriptor is context specific but no context object id was provided in the request body."},"204":{"description":""},"404":{"description":"`AlertDescriptorNotFoundException` - If no matching alert descriptor was found."}},"security":[{"oauth2_application":[]}],"tags":["alerts"]}},"/alerts/usersettings":{"get":{"description":"Gets the alert settings for the user.","operationId":"getAlertsUsersettings","responses":{"default":{"description":"","schema":{"$ref":"#/definitions/alert_settings"}}},"security":[{"oauth2_application":[]}],"tags":["alerts"]},"patch":{"description":"Changes the alert settings for the user.","operationId":"patchAlertsUsersettings","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/alert_settings"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/alert_settings"}}},"security":[{"oauth2_application":[]}],"tags":["alerts"]}},"/catalog_search":{"post":{"description":"

Searches for catalogs.

\n \n

The query attribute specifies a complex query that can be used to narrow down the search. These are the list\n of searchable attributes:

\n \n \n

There are two additional fields that can be used as search filters. They are not attributes in CatalogWO object, \n but can be used as filters to query catalogs based on site assignments.

\n \n \n

On using is_master_catalog in the search query, catalogs without any site assignments are returned. \n On using is_storefront_catalog in the search query, catalogs with one or more site assignments are returned.

\n \n

The output of the query can also be sorted. These are the list of sortable attributes:

\n ","operationId":"postCatalogSearch","parameters":[{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/search_request"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/catalog_search_result"}},"400":{"description":"`MalformedSearchParameterException` - Thrown if the query is ill-formed."}},"security":[{"oauth2_application":[]}],"tags":["catalog_search"]}},"/catalogs":{"get":{"description":"Action to get all the catalogs with no filtering.","operationId":"getCatalogs","parameters":[{"description":"Optional start index for retrieving the items from a given index (default 0).","format":"int32","in":"query","name":"start","type":"integer"},{"description":"Optional count for retrieving only a subset of the items (default is 25).","format":"int32","in":"query","name":"count","type":"integer"},{"description":"The property selector.","in":"query","name":"select","type":"string"},{"in":"query","items":{"type":"string"},"name":"expand","type":"array"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/catalogs"}}},"security":[{"oauth2_application":[]}],"tags":["catalogs"]}},"/catalogs/{catalog_id}":{"get":{"description":"Gets catalog information by catalog Id.\n \n Expansion \"stats\" can be used to retrieved some expensive statistic data, such as assigned_product_count and owned_product_count.\n Example: /s/-/dw/data/v99_9/catalogs/my-catalog?expand=stats","operationId":"getCatalogsByID","parameters":[{"description":"The id of the requested catalog.","in":"path","minLength":1,"name":"catalog_id","required":true,"type":"string"},{"in":"query","items":{"type":"string"},"name":"expand","type":"array"},{"description":"the selector for the get. If not passed, the defaultSelector will be used instead.","in":"query","name":"select","type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/catalog"}},"404":{"description":"`CatalogNotFoundException` - Thrown in case the catalog does not exist matching the given id or the catalog identified was already in deletion."}},"security":[{"oauth2_application":[]}],"tags":["catalogs"]},"patch":{"description":"Updates the catalog with the specified information.","operationId":"patchCatalogsByID","parameters":[{"description":"The id of the requested catalog.","in":"path","minLength":1,"name":"catalog_id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/catalog"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/catalog"}},"404":{"description":"`CatalogNotFoundException` - Thrown in case the catalog id is unknown."}},"security":[{"oauth2_application":[]}],"tags":["catalogs"]}},"/catalogs/{catalog_id}/categories":{"get":{"description":"Action to get all the categories with no filtering.","operationId":"getCatalogsByIDCategories","parameters":[{"in":"path","minLength":1,"name":"catalog_id","required":true,"type":"string"},{"description":"Optional start index for retrieving the items from a given index (default 0).","format":"int32","in":"query","name":"start","type":"integer"},{"description":"Optional count for retrieving only a subset of the items (default is 25).","format":"int32","in":"query","name":"count","type":"integer"},{"description":"The property selector.","in":"query","name":"select","type":"string"},{"in":"query","items":{"type":"string"},"name":"expand","type":"array"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/categories"}},"404":{"description":"`CatalogNotFoundException` - Indicates that the catalog is not provided in the request."}},"security":[{"oauth2_application":[]}],"tags":["catalogs"]}},"/catalogs/{catalog_id}/categories/{category_id}":{"delete":{"description":"Deletes the category by catalog ID and category ID","operationId":"deleteCatalogsByIDCategoriesByID","parameters":[{"description":"The site context.","in":"path","minLength":1,"name":"catalog_id","required":true,"type":"string"},{"description":"The category id to remove","in":"path","minLength":1,"name":"category_id","required":true,"type":"string"}],"responses":{"204":{"description":""},"404":{"description":"`CatalogNotFoundException` - Indicates that the catalog is not provided in the request. or `CategoryNotFoundException` - Indicates that the category does not exist for the catalog provided in \n the request."}},"security":[{"oauth2_application":[]}],"tags":["catalogs"]},"get":{"description":"Action to read an existing category within a catalog. By default, the server\n also returns the first level of sub-categories, but you can specify another level by setting the levels\n parameter. Please note, using a large value for levels may cause performance \n issues in case of a large and deep category tree.","operationId":"getCatalogsByIDCategoriesByID","parameters":[{"description":"the id of the catalog that the category belongs to","in":"path","minLength":1,"name":"catalog_id","required":true,"type":"string"},{"description":"the id of the category requested","in":"path","maxLength":256,"minLength":1,"name":"category_id","required":true,"type":"string"},{"description":"Specifies how many levels of nested sub-categories you want the server to return. The default value\n \tis 1.","format":"int32","in":"query","minimum":0,"name":"levels","type":"integer"},{"description":"the expansion that client can use to specify and retrieve further information about the category (Internal use only for now).","in":"query","items":{"type":"string"},"name":"expand","type":"array"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/category"}},"404":{"description":"`CatalogNotFoundException` - Indicates that the catalog is not provided in the request. or `CategoryNotFoundException` - Indicates that the category does not exist for the catalog provided in \n the request."}},"security":[{"oauth2_application":[]}],"tags":["catalogs"]},"patch":{"description":"Updates a catalog category using the information provided.","operationId":"patchCatalogsByIDCategoriesByID","parameters":[{"description":"The id of the catalog.","in":"path","minLength":1,"name":"catalog_id","required":true,"type":"string"},{"description":"The id of the category","in":"path","maxLength":256,"minLength":1,"name":"category_id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/category"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/category"}},"400":{"description":"`CategoryInvalidException` - Indicates that the category in the request is not valid \n \t\t\t\t(the argument indicates the field that was invalid)."},"404":{"description":"`CatalogNotFoundException` - Indicates that the catalog is not provided in the request. or `CategoryNotFoundException` - Indicates that the category does not exist for the catalog provided in \n the request."}},"security":[{"oauth2_application":[]}],"tags":["catalogs"]},"put":{"description":"Creates a catalog category using the information provided.","operationId":"putCatalogsByIDCategoriesByID","parameters":[{"description":"The id of the catalog.","in":"path","minLength":1,"name":"catalog_id","required":true,"type":"string"},{"description":"The id of the category to be created","in":"path","maxLength":256,"minLength":1,"name":"category_id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/category"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/category"}},"400":{"description":"`CategoryInvalidException` - Indicates that the category in the request is not valid \n \t\t\t\t(the argument indicates the field that was invalid). or `IdConflictException` - Indicates that the category ID in the request URL does not match the category ID in the request body."},"404":{"description":"`CatalogNotFoundException` - Indicates that the catalog is not provided in the request."}},"security":[{"oauth2_application":[]}],"tags":["catalogs"]}},"/catalogs/{catalog_id}/categories/{category_id}/category_links":{"get":{"description":"Action to get a set of outgoing category links in a given catalog category, sorted by position.","operationId":"getCatalogsByIDCategoriesByIDCategoryLinks","parameters":[{"description":"The id of the catalog.","in":"path","minLength":1,"name":"catalog_id","required":true,"type":"string"},{"description":"The id of the source category.","in":"path","minLength":1,"name":"category_id","required":true,"type":"string"},{"format":"int32","in":"query","name":"start","type":"integer"},{"format":"int32","in":"query","name":"count","type":"integer"},{"description":"Optional select clause for getting fields from the returned JSON document.","in":"query","name":"select","type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/category_links"}},"404":{"description":"`CatalogNotFoundException` - Thrown in case the source catalog does not exist or `CategoryNotFoundException` - Thrown in case the source category does not exist"}},"security":[{"oauth2_application":[]}],"tags":["catalogs"]}},"/catalogs/{catalog_id}/categories/{category_id}/category_links/{target_catalog_id}/{target_category_id}/{type}":{"delete":{"description":"Deletes the category link by ID","operationId":"deleteCatalogsByIDCategoriesByIDCategoryLinksByIDByIDByID","parameters":[{"description":"The id of the source catalog.","in":"path","minLength":1,"name":"catalog_id","required":true,"type":"string"},{"description":"The id of the source category.","in":"path","minLength":1,"name":"category_id","required":true,"type":"string"},{"description":"The id of the target catalog.","in":"path","minLength":1,"name":"target_catalog_id","required":true,"type":"string"},{"description":"The id of the target category.","in":"path","minLength":1,"name":"target_category_id","required":true,"type":"string"},{"description":"the link type","in":"path","name":"type","required":true,"type":"string"}],"responses":{"204":{"description":""},"404":{"description":"`CatalogNotFoundException` - Thrown in case the source catalog or the target catalog do not exist or `CategoryLinkNotFoundException` - Thrown in case the category link does not exist from the source catalog/category to the destination catalog/category with the given type. or `CategoryNotFoundException` - Thrown in case the source category or the target category do not exist"}},"security":[{"oauth2_application":[]}],"tags":["catalogs"]},"get":{"description":"Action to get category link information.","operationId":"getCatalogsByIDCategoriesByIDCategoryLinksByIDByIDByID","parameters":[{"description":"The id of the source catalog.","in":"path","minLength":1,"name":"catalog_id","required":true,"type":"string"},{"description":"The id of the source category.","in":"path","minLength":1,"name":"category_id","required":true,"type":"string"},{"description":"The id of the target catalog.","in":"path","minLength":1,"name":"target_catalog_id","required":true,"type":"string"},{"description":"The id of the target category.","in":"path","minLength":1,"name":"target_category_id","required":true,"type":"string"},{"description":"the link type","in":"path","name":"type","required":true,"type":"string"},{"description":"Optional select clause for getting fields from the returned JSON document.","in":"query","name":"select","type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/category_link"}},"404":{"description":"`CatalogNotFoundException` - Thrown in case the source catalog or the target catalog do not exist or `CategoryLinkNotFoundException` - Thrown in case the category link does not exist from the source catalog/category to the destination catalog/category with the given type. or `CategoryNotFoundException` - Thrown in case the source category or the target category do not exist"}},"security":[{"oauth2_application":[]}],"tags":["catalogs"]},"patch":{"description":"Updates the category link with the specified information.","operationId":"patchCatalogsByIDCategoriesByIDCategoryLinksByIDByIDByID","parameters":[{"description":"The id of the source catalog.","in":"path","minLength":1,"name":"catalog_id","required":true,"type":"string"},{"description":"The id of the source category.","in":"path","minLength":1,"name":"category_id","required":true,"type":"string"},{"description":"The id of the target catalog.","in":"path","minLength":1,"name":"target_catalog_id","required":true,"type":"string"},{"description":"The id of the target category.","in":"path","minLength":1,"name":"target_category_id","required":true,"type":"string"},{"description":"the link type","in":"path","name":"type","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/category_link"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/category_link"}},"404":{"description":"`CatalogNotFoundException` - Thrown in case the source catalog or the target catalog do not exist or `CategoryLinkNotFoundException` - Thrown in case the category link does not exist from the source catalog/category to the destination catalog/category with the given type. or `CategoryNotFoundException` - Thrown in case the source category or the target category do not exist"}},"security":[{"oauth2_application":[]}],"tags":["catalogs"]},"put":{"description":"Creates a category link using the information provided. If a category link with the same unique identifier,\n it will be updated with the new position.","operationId":"putCatalogsByIDCategoriesByIDCategoryLinksByIDByIDByID","parameters":[{"description":"The id of the source catalog.","in":"path","minLength":1,"name":"catalog_id","required":true,"type":"string"},{"description":"The id of the source category.","in":"path","minLength":1,"name":"category_id","required":true,"type":"string"},{"description":"The id of the target catalog.","in":"path","minLength":1,"name":"target_catalog_id","required":true,"type":"string"},{"description":"The id of the target category.","in":"path","minLength":1,"name":"target_category_id","required":true,"type":"string"},{"description":"the link type","in":"path","name":"type","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/category_link"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/category_link"}},"404":{"description":"`CatalogNotFoundException` - Thrown in case the source catalog or the target catalog do not exist or `CategoryNotFoundException` - Thrown in case the source category or the target category do not exist"}},"security":[{"oauth2_application":[]}],"tags":["catalogs"]}},"/catalogs/{catalog_id}/categories/{category_id}/category_product_assignment_search":{"post":{"description":"

Searches for category product assignments.

\n \n

The query attribute specifies a complex query that can be used to narrow down the search. This is the list\n of searchable attributes:

\n \n \n

Sortable Fields:

\n \n \n

Expansions that can be applied for the search request:

\n ","operationId":"postCatalogsByIDCategoriesByIDCategoryProductAssignmentSearch","parameters":[{"description":"The id of the catalog.","in":"path","minLength":1,"name":"catalog_id","required":true,"type":"string"},{"description":"The id of the category.","in":"path","minLength":1,"name":"category_id","required":true,"type":"string"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/category_product_assignment_search_request"}},{"description":"The site context.","in":"query","name":"site_id","type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/category_product_assignment_search_result"}},"400":{"description":"`MalformedSearchParameterException` - Thrown if the query is ill-formed."},"404":{"description":"`CatalogNotFoundException` - Thrown if the catalog does not exist matching the given category_id. or `CategoryNotFoundException` - Thrown if the category does not exist matching the given catalog_id."}},"security":[{"oauth2_application":[]}],"tags":["catalogs"]}},"/catalogs/{catalog_id}/categories/{category_id}/products/{product_id}":{"delete":{"description":" Removes a category product assignment;\n \n \n

For example, if we have products A, B, C at positions 1, 2, 7.5 and delete assignment for product B, \n this will end up the products A, B, C at positions 1, null, 7.5.

","operationId":"deleteCatalogsByIDCategoriesByIDProductsByID","parameters":[{"description":"The catalog of the assignment.","in":"path","minLength":1,"name":"catalog_id","required":true,"type":"string"},{"description":"The id of the requested category.","in":"path","minLength":1,"name":"category_id","required":true,"type":"string"},{"description":"The id of the requested product to un-assign.","in":"path","minLength":1,"name":"product_id","required":true,"type":"string"}],"responses":{"204":{"description":""},"404":{"description":"`CatalogNotFoundException` - Thrown if the catalog does not exist matching the given id. or `CategoryNotFoundException` - Thrown if the category does not exist matching the given id."}},"security":[{"oauth2_application":[]}],"tags":["catalogs"]},"get":{"description":"Retrieves category product assignment information.\n \n Expands that can be applied for the get request\n ","operationId":"getCatalogsByIDCategoriesByIDProductsByID","parameters":[{"description":"The catalog of the assignment.","in":"path","minLength":1,"name":"catalog_id","required":true,"type":"string"},{"description":"The id of the requested category.","in":"path","minLength":1,"name":"category_id","required":true,"type":"string"},{"description":"The id (SKU) of the requested assigned product.","in":"path","minLength":1,"name":"product_id","required":true,"type":"string"},{"description":"The site context.","in":"query","name":"site_id","type":"string"},{"description":"The List of expansion values applied to the product associated to the assignment.","in":"query","items":{"type":"string"},"name":"expand","type":"array"},{"description":"The selector for the get. If not passed, then the defaultSelector will be used instead.","in":"query","name":"select","type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/category_product_assignment"}},"404":{"description":"`CatalogNotFoundException` - Thrown if the catalog does not exist matching the given id. or `CategoryNotFoundException` - Thrown if the category does not exist matching the given id. or `CategoryProductAssignmentNotFoundException` - Thrown if the category product assignment does not exist matching the given ids. or `ProductNotFoundException` - Thrown if the product does not exist matching the given id."}},"security":[{"oauth2_application":[]}],"tags":["catalogs"]},"patch":{"description":"

Updates the category product assignment with the specified information, such as position.

\n

As the assigned position n is a normalized target position , we'll make sure that the product is assigned\n to a position so that the order of positions are maintained.

\n\n

For example, if we have products A, B, C, D at positions 1, 2, 3, 4 and update product A with new position 3, \n the end result is B, C, A, D with order of positions 1, 2, 3, 4.

If we then update product C to no position,\n the end result is B, A, D, C with order of positions 1, 2, 3, null.

\n\n

If there are n existing positioned assignment, updating product to position >= n will end with new assignment with position such that the order of positions is maintained.

","operationId":"patchCatalogsByIDCategoriesByIDProductsByID","parameters":[{"description":"The id of the requested catalog to which the product is assigned.","in":"path","minLength":1,"name":"catalog_id","required":true,"type":"string"},{"description":"The id of the requested category to which the product is assigned.","in":"path","minLength":1,"name":"category_id","required":true,"type":"string"},{"description":"The id (SKU) of the requested assigned product.","in":"path","minLength":1,"name":"product_id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/category_product_assignment"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/category_product_assignment"}},"404":{"description":"`CatalogNotFoundException` - Thrown if the catalog does not exist matching the given id. or `CategoryNotFoundException` - Thrown if the category does not exist matching the given id. or `CategoryProductAssignmentNotFoundException` - Thrown if the category product assignment does not exist. or `ProductNotFoundException` - Thrown if the product does not exist matching the given id."}},"security":[{"oauth2_application":[]}],"tags":["catalogs"]},"put":{"description":"

Creates a category product assignment using the information provided;

\n \n

As the assigned position n is a normalized target position , we'll make sure that the product is assigned\n to a position so that the order of positions are maintained. \n \n For example, product A, B, C at position 1, 2, 3. product D is assigned to\n position 2, the end result is A, D, B, C with order of positions 1, 2, 3, 4;

\n \n

If there are n existing positioned assignment, assigning a new product to position >= n+1 will end\n with new assignment with position n+1.

","operationId":"putCatalogsByIDCategoriesByIDProductsByID","parameters":[{"description":"The id of the requested catalog to which to assign the product.","in":"path","minLength":1,"name":"catalog_id","required":true,"type":"string"},{"description":"The id of the requested category to which to assign the product.","in":"path","minLength":1,"name":"category_id","required":true,"type":"string"},{"description":"The id (SKU) of the requested product to assign.","in":"path","minLength":1,"name":"product_id","required":true,"type":"string"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/category_product_assignment"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/category_product_assignment"}},"400":{"description":"`IdConflictException` - if the Id in request is not the same as the ID in document."},"404":{"description":"`CatalogNotFoundException` - Thrown if the catalog does not exist matching the given id. or `CategoryNotFoundException` - Thrown if the category does not exist matching the given id. or `ProductNotFoundException` - Thrown if the product does not exist matching the given id."}},"security":[{"oauth2_application":[]}],"tags":["catalogs"]}},"/catalogs/{catalog_id}/category_search":{"post":{"description":"

Searches for catalog categories in the scope of catalog

\n

By default, the server also returns the first level of subcategories,\n but you can specify another level by setting the levels parameter. \n Please note, using a large value for levels may cause performance \n issues in case of a large and deep category tree.

\n \n

The query attribute specifies a complex query that can be used to narrow down the search. These are the list\n of searchable attributes:

\n \n\n

The output of the query can also be sorted. These are the list of sortable attributes:

\n ","operationId":"postCatalogsByIDCategorySearch","parameters":[{"description":"The id of the catalog.","in":"path","maxLength":256,"minLength":1,"name":"catalog_id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/search_request"}},{"format":"int32","in":"query","minimum":0,"name":"levels","type":"integer"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/category_search_result"}},"400":{"description":"`MalformedSearchParameterException` - Thrown if the query is ill-formed."},"404":{"description":"`CatalogNotFoundException` - Thrown if the specified catalog does not exist."}},"security":[{"oauth2_application":[]}],"tags":["catalogs"]}},"/catalogs/{catalog_id}/shared_product_options":{"get":{"description":"Read shared product options in a catalog.","operationId":"getCatalogsByIDSharedProductOptions","parameters":[{"description":"The id of the catalog.","in":"path","minLength":1,"name":"catalog_id","required":true,"type":"string"},{"description":"Optional start index for retrieving the items from a given index (default 0).","format":"int32","in":"query","name":"start","type":"integer"},{"description":"Optional count for retrieving only a subset of the items (default is 25).","format":"int32","in":"query","name":"count","type":"integer"},{"description":"The property selector.","in":"query","name":"select","type":"string"},{"description":"The currency mnemonic for retrieving the product option values according to the sorting mode.ex:'USD'","in":"query","name":"currency","type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/product_options"}},"404":{"description":"`CatalogNotFoundException` - Indicates the catalog is not found."}},"security":[{"oauth2_application":[]}],"tags":["catalogs"]}},"/catalogs/{catalog_id}/shared_product_options/{id}":{"delete":{"description":"Deletes a shared product option by ID.","operationId":"deleteCatalogsByIDSharedProductOptionsByID","parameters":[{"description":"The id of the catalog.","in":"path","minLength":1,"name":"catalog_id","required":true,"type":"string"},{"description":"The id of the shared product option.","in":"path","name":"id","required":true,"type":"string"}],"responses":{"204":{"description":""},"404":{"description":"`CatalogNotFoundException` - Indicates the catalog is not found. or `ProductOptionNotFoundException` - Indicates the shared product option is not found."}},"security":[{"oauth2_application":[]}],"tags":["catalogs"]},"get":{"description":"Read a shared product option in a catalog.","operationId":"getCatalogsByIDSharedProductOptionsByID","parameters":[{"description":"The id of the catalog.","in":"path","minLength":1,"name":"catalog_id","required":true,"type":"string"},{"description":"The id of the shared product option.","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"description":"The currency mnemonic for retrieving the product option values according to the sorting mode.ex:'USD'","in":"query","name":"currency","type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/product_option"}},"404":{"description":"`CatalogNotFoundException` - Indicates the catalog is not found. or `ProductOptionNotFoundException` - Indicates the shared product option is not found."}},"security":[{"oauth2_application":[]}],"tags":["catalogs"]},"patch":{"description":"Updates a shared product option with the information provided.","operationId":"patchCatalogsByIDSharedProductOptionsByID","parameters":[{"description":"The id of the catalog.","in":"path","minLength":1,"name":"catalog_id","required":true,"type":"string"},{"description":"The id of the shared product option.","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/product_option"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/product_option"}},"404":{"description":"`CatalogNotFoundException` - Indicates the catalog is not found. or `ProductOptionNotFoundException` - Indicates the shared product option is not found."}},"security":[{"oauth2_application":[]}],"tags":["catalogs"]},"put":{"description":"Creates a shared product option using the information provided.","operationId":"putCatalogsByIDSharedProductOptionsByID","parameters":[{"description":"The id of the catalog.","in":"path","minLength":1,"name":"catalog_id","required":true,"type":"string"},{"description":"The id of the shared product option.","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/product_option"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/product_option"}},"400":{"description":"`ProductOptionDuplicateException` - Indicates the shared product option is a duplicate."},"404":{"description":"`AttributeDefinitionNotFoundException` - Indicates the id specified is not a valid attribute definition. or `CatalogNotFoundException` - Indicates the catalog is not found."}},"security":[{"oauth2_application":[]}],"tags":["catalogs"]}},"/catalogs/{catalog_id}/shared_product_options/{option_id}/values":{"get":{"description":"Read shared product option values of a shared product option in a catalog.","operationId":"getCatalogsByIDSharedProductOptionsByIDValues","parameters":[{"description":"The id of the catalog.","in":"path","minLength":1,"name":"catalog_id","required":true,"type":"string"},{"description":"The id of the shared product option.","in":"path","minLength":1,"name":"option_id","required":true,"type":"string"},{"description":"Optional start index for retrieving the items from a given index (default 0).","format":"int32","in":"query","name":"start","type":"integer"},{"description":"Optional count for retrieving only a subset of the items (default is 25).","format":"int32","in":"query","name":"count","type":"integer"},{"description":"The property selector.","in":"query","name":"select","type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/product_option_values"}},"404":{"description":"`CatalogNotFoundException` - Indicates the catalog is not found. or `ProductOptionNotFoundException` - Indicates the shared product option is not found."}},"security":[{"oauth2_application":[]}],"tags":["catalogs"]}},"/catalogs/{catalog_id}/shared_product_options/{option_id}/values/{id}":{"delete":{"description":"Deletes a shared product option value by ID.","operationId":"deleteCatalogsByIDSharedProductOptionsByIDValuesByID","parameters":[{"description":"The id of the catalog.","in":"path","minLength":1,"name":"catalog_id","required":true,"type":"string"},{"description":"The id of the shared product option.","in":"path","minLength":1,"name":"option_id","required":true,"type":"string"},{"description":"The id of the shared product option value.","in":"path","name":"id","required":true,"type":"string"}],"responses":{"204":{"description":""},"404":{"description":"`CatalogNotFoundException` - Indicates the catalog is not found. or `ProductOptionNotFoundException` - Indicates the shared product option is not found. or `ProductOptionValueNotFoundException` - Indicates the shared product option value is not found."}},"security":[{"oauth2_application":[]}],"tags":["catalogs"]},"get":{"description":"Read a shared product option value of a shared product option in a catalog.","operationId":"getCatalogsByIDSharedProductOptionsByIDValuesByID","parameters":[{"description":"The id of the catalog.","in":"path","minLength":1,"name":"catalog_id","required":true,"type":"string"},{"description":"The id of the shared product option.","in":"path","minLength":1,"name":"option_id","required":true,"type":"string"},{"description":"the id of shared product option value.","in":"path","minLength":1,"name":"id","required":true,"type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/product_option_value"}},"404":{"description":"`CatalogNotFoundException` - Indicates the catalog is not found. or `ProductOptionNotFoundException` - Indicates the shared product option is not found. or `ProductOptionValueNotFoundException` - Indicates the shared product option value is not found."}},"security":[{"oauth2_application":[]}],"tags":["catalogs"]},"patch":{"description":"Updates a shared product option value with the information provided.","operationId":"patchCatalogsByIDSharedProductOptionsByIDValuesByID","parameters":[{"description":"The id of the catalog.","in":"path","minLength":1,"name":"catalog_id","required":true,"type":"string"},{"description":"The id of the shared product option.","in":"path","minLength":1,"name":"option_id","required":true,"type":"string"},{"description":"The id of the shared product option value.","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/product_option_value"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/product_option_value"}},"404":{"description":"`CatalogNotFoundException` - Indicates the catalog is not found. or `ProductOptionNotFoundException` - Indicates the shared product option is not found. or `ProductOptionValueNotFoundException` - Indicates the shared product option value is not found."}},"security":[{"oauth2_application":[]}],"tags":["catalogs"]},"put":{"description":"Creates a shared product option value using the information provided.","operationId":"putCatalogsByIDSharedProductOptionsByIDValuesByID","parameters":[{"description":"The id of the catalog.","in":"path","minLength":1,"name":"catalog_id","required":true,"type":"string"},{"description":"The id of the shared product option.","in":"path","minLength":1,"name":"option_id","required":true,"type":"string"},{"description":"The id of the shared product option value.","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/product_option_value"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/product_option_value"}},"404":{"description":"`CatalogNotFoundException` - Indicates the catalog is not found. or `ProductOptionNotFoundException` - Indicates the shared product option is not found."}},"security":[{"oauth2_application":[]}],"tags":["catalogs"]}},"/catalogs/{catalog_id}/shared_variation_attributes":{"get":{"description":"Reads variation attributes of a Domain.","operationId":"getCatalogsByIDSharedVariationAttributes","parameters":[{"description":"id of the catalog.","in":"path","minLength":1,"name":"catalog_id","required":true,"type":"string"},{"format":"int32","in":"query","name":"start","type":"integer"},{"format":"int32","in":"query","name":"count","type":"integer"},{"in":"query","name":"select","type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/variation_attributes"}},"404":{"description":"`CatalogNotFoundException` - Indicates the catalog is not found."}},"security":[{"oauth2_application":[]}],"tags":["catalogs"]}},"/catalogs/{catalog_id}/shared_variation_attributes/{attribute_id}/values":{"get":{"description":"Reads variation attribute values of a variation attribute of a catalog.","operationId":"getCatalogsByIDSharedVariationAttributesByIDValues","parameters":[{"description":"id of the owning catalog.","in":"path","minLength":1,"name":"catalog_id","required":true,"type":"string"},{"description":"The variation attribute ID that contains the values.","in":"path","minLength":1,"name":"attribute_id","required":true,"type":"string"},{"description":"the first record to get in the page","format":"int32","in":"query","name":"start","type":"integer"},{"description":"the number of records to get","format":"int32","in":"query","name":"count","type":"integer"},{"description":"a string that specifies which fields to return (default is all).","in":"query","name":"select","type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/variation_attribute_values"}},"404":{"description":"`CatalogNotFoundException` - Indicates the catalog is not found. or `VariationAttributeNotFoundException` - Indicate the variation attribute is not found"}},"security":[{"oauth2_application":[]}],"tags":["catalogs"]}},"/catalogs/{catalog_id}/shared_variation_attributes/{attribute_id}/values/{id}":{"delete":{"description":"Deletes the variation attribute value of a variation attribute bound to a catalog","operationId":"deleteCatalogsByIDSharedVariationAttributesByIDValuesByID","parameters":[{"description":"The id of the catalog.","in":"path","minLength":1,"name":"catalog_id","required":true,"type":"string"},{"description":"The id of the variation attribute that contains the value.","in":"path","minLength":1,"name":"attribute_id","required":true,"type":"string"},{"description":"The id of one value to remove","in":"path","name":"id","required":true,"type":"string"}],"responses":{"204":{"description":""},"404":{"description":"`CatalogNotFoundException` - if the catalog id specified cannot be found or `VariationAttributeNotFoundException` - if the attribute id specified is not a valid variation attribute or `VariationAttributeValueNotFoundException` - if the value id specified does not a valid value id"}},"security":[{"oauth2_application":[]}],"tags":["catalogs"]},"get":{"description":"Action to get Shared Variation Attribute value information.","operationId":"getCatalogsByIDSharedVariationAttributesByIDValuesByID","parameters":[{"description":"The owning catalog ID.","in":"path","minLength":1,"name":"catalog_id","required":true,"type":"string"},{"description":"The variation attribute custom ID","in":"path","minLength":1,"name":"attribute_id","required":true,"type":"string"},{"description":"The id of the variation attribute value","in":"path","minLength":1,"name":"id","required":true,"type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/variation_attribute_value"}},"404":{"description":"`CatalogNotFoundException` - Indicates the catalog is not found. or `VariationAttributeNotFoundException` - Indicate the variation attribute is not found or `VariationAttributeValueNotFoundException` - Indicate the variation attribute value is not found"}},"security":[{"oauth2_application":[]}],"tags":["catalogs"]},"patch":{"description":"Updates the variation attribute value of a variation attribute of a catalog.","operationId":"patchCatalogsByIDSharedVariationAttributesByIDValuesByID","parameters":[{"description":"The id of the catalog.","in":"path","minLength":1,"name":"catalog_id","required":true,"type":"string"},{"description":"The id of the requested variation attribute.","in":"path","minLength":1,"name":"attribute_id","required":true,"type":"string"},{"description":"The id of the variation value.","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/variation_attribute_value"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/variation_attribute_value"}},"404":{"description":"`CatalogNotFoundException` - if the catalog id specified cannot be found or `VariationAttributeNotFoundException` - if the attribute id specified is not a valid variation attribute or `VariationAttributeValueNotFoundException` - if the value id specified does not a valid value id"}},"security":[{"oauth2_application":[]}],"tags":["catalogs"]},"put":{"description":"Action to create a Shared Variation Attribute value.","operationId":"putCatalogsByIDSharedVariationAttributesByIDValuesByID","parameters":[{"description":"The owning catalog ID.","in":"path","minLength":1,"name":"catalog_id","required":true,"type":"string"},{"description":"The variation attribute ID","in":"path","minLength":1,"name":"attribute_id","required":true,"type":"string"},{"description":"The id of the variation attribute value","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/variation_attribute_value"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/variation_attribute_value"}},"404":{"description":"`CatalogNotFoundException` - Indicates the catalog is not found. or `VariationAttributeNotFoundException` - Indicate the variation attribute is not found or `VariationAttributeValueNotFoundException` - Indicate the variation attribute value is not found"}},"security":[{"oauth2_application":[]}],"tags":["catalogs"]}},"/catalogs/{catalog_id}/shared_variation_attributes/{id}":{"delete":{"description":"Deletes the shared variation attribute by ID.","operationId":"deleteCatalogsByIDSharedVariationAttributesByID","parameters":[{"description":"The id of the catalog.","in":"path","minLength":1,"name":"catalog_id","required":true,"type":"string"},{"description":"One variation attribute id to remove.","in":"path","name":"id","required":true,"type":"string"}],"responses":{"204":{"description":""},"404":{"description":"`CatalogNotFoundException` - Indicates the catalog is not found. or `VariationAttributeNotFoundException` - Thrown if the variation attribute does not exist."}},"security":[{"oauth2_application":[]}],"tags":["catalogs"]},"get":{"description":"Action to get shared variation attribute information only for master Catalog.","operationId":"getCatalogsByIDSharedVariationAttributesByID","parameters":[{"description":"The id of the catalog.","in":"path","minLength":1,"name":"catalog_id","required":true,"type":"string"},{"description":"The id of the requested variation attribute.","in":"path","minLength":1,"name":"id","required":true,"type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/variation_attribute"}},"404":{"description":"`CatalogNotFoundException` - Indicates the catalog is not found. or `VariationAttributeNotFoundException` - Thrown if the variation attribute matching the given id does not exist."}},"security":[{"oauth2_application":[]}],"tags":["catalogs"]},"patch":{"description":"Updates the shared variation attribute with the specified information.\n\n ","operationId":"patchCatalogsByIDSharedVariationAttributesByID","parameters":[{"description":"The id of the catalog.","in":"path","minLength":1,"name":"catalog_id","required":true,"type":"string"},{"description":"The id of the requested variation attribute.","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/variation_attribute"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/variation_attribute"}},"404":{"description":"`CatalogNotFoundException` - if the specified catalog id cannot be found."}},"security":[{"oauth2_application":[]}],"tags":["catalogs"]},"put":{"description":"Creates a shared variation attribute using the information provided. \n To create a variation attribute specific to a product, use the products resource.","operationId":"putCatalogsByIDSharedVariationAttributesByID","parameters":[{"description":"The id of the catalog.","in":"path","minLength":1,"name":"catalog_id","required":true,"type":"string"},{"description":"The id of the variation attribute to create.","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/variation_attribute"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/variation_attribute"}},"400":{"description":"`SharedVariationAttributeIDNotUniqueException` - if the specified id isn't unique."},"404":{"description":"`AttributeDefinitionNotFoundException` - if attribute definition supplied is not a product attribute. or `CatalogNotFoundException` - Indicates the catalog is not found."}},"security":[{"oauth2_application":[]}],"tags":["catalogs"]}},"/category_search":{"post":{"description":"

Searches for catalog categories anywhere they appear.

\n

By default, the server also returns the first level of subcategories,\n but you can specify another level by setting the levels parameter. \n Please note, using a large value for levels may cause performance \n issues in case of a large and deep category tree.

\n \n

The query attribute specifies a complex query that can be used to narrow down the search. These are the list\n of searchable attributes:

\n \n\n

The output of the query can also be sorted. These are the list of sortable attributes:

\n ","operationId":"postCategorySearch","parameters":[{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/search_request"}},{"format":"int32","in":"query","minimum":0,"name":"levels","type":"integer"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/category_search_result"}},"400":{"description":"`MalformedSearchParameterException` - Thrown if the query is ill-formed."}},"security":[{"oauth2_application":[]}],"tags":["category_search"]}},"/code_versions":{"get":{"description":"Read all existing code versions.","operationId":"getCodeVersions","responses":{"default":{"description":"","schema":{"$ref":"#/definitions/code_version_result"}}},"security":[{"oauth2_application":[]}],"tags":["code_versions"]}},"/code_versions/{code_version_id}":{"delete":{"description":"Delete a code version.","operationId":"deleteCodeVersionsByID","parameters":[{"description":"The id of the code version.","in":"path","minLength":1,"name":"code_version_id","required":true,"type":"string"}],"responses":{"400":{"description":"`CodeVersionModificationException` - Indicates that a code version with the given id can't be \n deleted (because it is active)."},"204":{"description":""},"404":{"description":"`CodeVersionIdNotFoundException` - Indicates that a code version with the given id was not found."}},"security":[{"oauth2_application":[]}],"tags":["code_versions"]},"get":{"description":"Read a code version.","operationId":"getCodeVersionsByID","parameters":[{"description":"The id of the code version.","in":"path","minLength":1,"name":"code_version_id","required":true,"type":"string"},{"description":"The expand parameter. Allowed value (size).","in":"query","items":{"type":"string"},"name":"expand","type":"array"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/code_version"}},"404":{"description":"`CodeVersionIdNotFoundException` - Indicates that a code version with the given id was not found."}},"security":[{"oauth2_application":[]}],"tags":["code_versions"]},"patch":{"description":"Update an existing code version.\n ","operationId":"patchCodeVersionsByID","parameters":[{"description":"The id of the code version.","in":"path","minLength":1,"name":"code_version_id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/code_version"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/code_version"}},"400":{"description":"`CodeVersionModificationException` - Indicates that a code version with the given id can't be updated (because it is active)."},"404":{"description":"`CodeVersionIdNotFoundException` - Indicates that a code version with the given id was not found."},"409":{"description":"`CodeVersionIdAlreadyExistsException` - Indicates that a code version with the given id already exists."}},"security":[{"oauth2_application":[]}],"tags":["code_versions"]},"put":{"description":"Create a new code version.","operationId":"putCodeVersionsByID","parameters":[{"description":"The id of the code version.","in":"path","minLength":1,"name":"code_version_id","required":true,"type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/code_version"}},"409":{"description":"`CodeVersionIdAlreadyExistsException` - Indicates that a code version with the given id already exists."}},"security":[{"oauth2_application":[]}],"tags":["code_versions"]}},"/custom_object_definitions/{object_type}/attribute_definition_search":{"post":{"description":"

Searches the attribute definitions of the specified custom object type.

\n

The query attribute specifies a complex query that can be used to narrow down the search. Attributes are grouped\n into different buckets. These are the list of searchable attributes with their corresponding buckets:

\n\n

Main:

\n \n

Definition version:

\n \n\n

Only attributes in the same bucket can be joined using a disjunction (OR).\n For instance, when joining localizable and description above, only a conjunction is allowed (AND), whereas display_name\n and description can be joined using a disjunction because they are in the same bucket. If an attribute\n is used in a disjunction (OR) that violates this rule, an exception will be thrown.

\n\n

Additionally, attribute definitions can also be searched by attribute group.\n

\n

\n\n

These attributes are not searchable or sortable for built in system attributes. They work normally for non\n system attributes.

\n\n

Note that only searchable attributes can be used in sorting.

","operationId":"postCustomObjectDefinitionsByIDAttributeDefinitionSearch","parameters":[{"description":"The type of object","in":"path","name":"object_type","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/search_request"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/object_attribute_definition_search_result"}},"400":{"description":"`MalformedSearchParameterException` - Indicates the query is ill-formed."},"404":{"description":"`ObjectTypeNotFoundException` - Indicates that the object type cannot be found."}},"security":[{"oauth2_application":[]}],"tags":["custom_object_definitions"]}},"/custom_object_definitions/{object_type}/attribute_definitions":{"get":{"description":"Action to get all the attribute definitions with no filtering.","operationId":"getCustomObjectDefinitionsByIDAttributeDefinitions","parameters":[{"in":"path","name":"object_type","required":true,"type":"string"},{"description":"Optional start index for retrieving the items from a given index (default 0).","format":"int32","in":"query","name":"start","type":"integer"},{"description":"Optional count for retrieving only a subset of the items (default is 25).","format":"int32","in":"query","name":"count","type":"integer"},{"description":"The property selector.","in":"query","name":"select","type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/object_attribute_definitions"}},"404":{"description":"`ObjectTypeNotFoundException` - Thrown in case the object type cannot be found"}},"security":[{"oauth2_application":[]}],"tags":["custom_object_definitions"]}},"/custom_object_definitions/{object_type}/attribute_definitions/{id}":{"delete":{"description":"Deletes the attribute definition by ID","operationId":"deleteCustomObjectDefinitionsByIDAttributeDefinitionsByID","parameters":[{"description":"The metadata object that contains these definitions","in":"path","name":"object_type","required":true,"type":"string"},{"description":"Attribute definition id to remove","in":"path","minLength":1,"name":"id","required":true,"type":"string"}],"responses":{"400":{"description":"`AttributeDefinitionKeyReadOnlyException` - Thrown when trying to delete a key attribute of custom object or `AttributeDefinitionReadOnlyException` - Thrown when trying to delete a internal attribute of custom object"},"204":{"description":""},"404":{"description":"`AttributeDefinitionNotFoundException` - Thrown in case the attribute definition does not exist matching the given id or `ObjectTypeNotFoundException` - Thrown in case the object type cannot be found"}},"security":[{"oauth2_application":[]}],"tags":["custom_object_definitions"]},"get":{"description":"Action to get attribute definition information.","operationId":"getCustomObjectDefinitionsByIDAttributeDefinitionsByID","parameters":[{"description":"The object type id that contains these definitions","in":"path","name":"object_type","required":true,"type":"string"},{"description":"The id of the requested attribute definition.","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"description":"The expand \"value\" is available to retrieve value definitions of the attribute definition.","in":"query","items":{"type":"string"},"name":"expand","type":"array"},{"description":"The selector for the get. If not passed, then the defaultSelector will be used instead.","in":"query","name":"select","type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/object_attribute_definition"}},"404":{"description":"`AttributeDefinitionNotFoundException` - Thrown in case the attribute definition does not exist matching the given id or `ObjectTypeNotFoundException` - Thrown in case the object type cannot be found"}},"security":[{"oauth2_application":[]}],"tags":["custom_object_definitions"]},"patch":{"description":"Updates the attribute definition with the specified information.","operationId":"patchCustomObjectDefinitionsByIDAttributeDefinitionsByID","parameters":[{"description":"The object type id that contains these definitions","in":"path","name":"object_type","required":true,"type":"string"},{"description":"The id of the requested attribute definition.","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"in":"header","name":"If-Match","type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/object_attribute_definition"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/object_attribute_definition"}},"400":{"description":"`AttributeDefinitionKeyReadOnlyException` - Thrown when trying to modify a key attribute of custom object or `AttributeDefinitionPropertyReadOnlyException` - Thrown in case a read only system attribute it tried to be changed, which is not allowed."},"404":{"description":"`AttributeDefinitionNotFoundException` - Thrown in case the attribute definition does not exist matching the given id or `ObjectTypeNotFoundException` - Thrown in case the object type cannot be found"}},"security":[{"oauth2_application":[]}],"tags":["custom_object_definitions"]},"put":{"description":"Creates a attribute definition using the information provided.","operationId":"putCustomObjectDefinitionsByIDAttributeDefinitionsByID","parameters":[{"description":"The metadata object that contains these definitions","in":"path","name":"object_type","required":true,"type":"string"},{"description":"The id of the attribute definition to create.","in":"path","name":"id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/object_attribute_definition"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/object_attribute_definition"}},"400":{"description":"`AttributeDefinitionCreateException` - if the attribute definition could not be created. or `AttributeDefinitionKeyReadOnlyException` - Thrown when trying to create a key attribute of a custom object or `AttributeDefinitionLocalizableNotAllowedException` - if trying to create a localizable attribute with a non-localizable type or `IdConflictException` - if the Id in request is not the same as the ID in document."},"404":{"description":"`ObjectTypeNotFoundException` - Thrown in case the object type cannot be found"}},"security":[{"oauth2_application":[]}],"tags":["custom_object_definitions"]}},"/custom_object_definitions/{object_type}/attribute_group_search":{"post":{"description":"

Searches for attribute groups.

\n \n

The query attribute specifies a complex query that can be used to narrow down the search. These are the list\n of searchable attributes:

\n \n\n

The output of the query can also be sorted. These are the list of sortable attributes:

\n ","operationId":"postCustomObjectDefinitionsByIDAttributeGroupSearch","parameters":[{"in":"path","name":"object_type","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/search_request"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/object_attribute_group_search_result"}},"400":{"description":"`MalformedSearchParameterException` - Thrown if the query is ill-formed."},"404":{"description":"`ObjectTypeNotFoundException` - Thrown in case the object type cannot be found"}},"security":[{"oauth2_application":[]}],"tags":["custom_object_definitions"]}},"/custom_object_definitions/{object_type}/attribute_groups":{"get":{"description":"Action to get all the attribute groups with no filtering.","operationId":"getCustomObjectDefinitionsByIDAttributeGroups","parameters":[{"in":"path","name":"object_type","required":true,"type":"string"},{"description":"Optional start index for retrieving the items from a given index (default 0).","format":"int32","in":"query","name":"start","type":"integer"},{"description":"Optional count for retrieving only a subset of the items (default is 25).","format":"int32","in":"query","name":"count","type":"integer"},{"description":"The property selector.","in":"query","name":"select","type":"string"},{"in":"query","items":{"type":"string"},"name":"expand","type":"array"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/object_attribute_groups"}},"404":{"description":"`ObjectTypeNotFoundException` - Thrown in case the object type cannot be found"}},"security":[{"oauth2_application":[]}],"tags":["custom_object_definitions"]}},"/custom_object_definitions/{object_type}/attribute_groups/{group_id}/attribute_definitions/{def_id}":{"delete":{"description":"Un-assign an attribute definition from an attribute group.","operationId":"deleteCustomObjectDefinitionsByIDAttributeGroupsByIDAttributeDefinitionsByID","parameters":[{"description":"The ID of the custom object that contains the attribute definition and attribute group.","in":"path","name":"object_type","required":true,"type":"string"},{"description":"The ID of the attribute group.","in":"path","minLength":1,"name":"group_id","required":true,"type":"string"},{"description":"The ID of the attribute definition.","in":"path","minLength":1,"name":"def_id","required":true,"type":"string"}],"responses":{"204":{"description":""},"404":{"description":"`AttributeDefinitionNotFoundException` - Indicates the specified attribute definition is not found. or `AttributeGroupNotFoundException` - Indicates the specified attribute group is not found. or `ObjectTypeNotFoundException` - Indicates the specified custom object is not found."}},"security":[{"oauth2_application":[]}],"tags":["custom_object_definitions"]},"put":{"description":"Assign an attribute definition to an attribute group.","operationId":"putCustomObjectDefinitionsByIDAttributeGroupsByIDAttributeDefinitionsByID","parameters":[{"description":"The ID of the custom object that contains the attribute definition and attribute group.","in":"path","name":"object_type","required":true,"type":"string"},{"description":"The ID of the attribute group.","in":"path","minLength":1,"name":"group_id","required":true,"type":"string"},{"description":"The ID of the attribute definition.","in":"path","minLength":1,"name":"def_id","required":true,"type":"string"}],"responses":{"204":{"description":""},"404":{"description":"`AttributeDefinitionNotFoundException` - Indicates the specified attribute definition is not found. or `AttributeGroupNotFoundException` - Indicates the specified attribute group is not found. or `ObjectTypeNotFoundException` - Indicates the specified custom object is not found."}},"security":[{"oauth2_application":[]}],"tags":["custom_object_definitions"]}},"/custom_object_definitions/{object_type}/attribute_groups/{id}":{"delete":{"description":"Deletes the attribute group by ID","operationId":"deleteCustomObjectDefinitionsByIDAttributeGroupsByID","parameters":[{"description":"the object type id that contains this attribute group","in":"path","name":"object_type","required":true,"type":"string"},{"description":"One attribute group id to remove","in":"path","name":"id","required":true,"type":"string"}],"responses":{"204":{"description":""},"404":{"description":"`AttributeGroupNotFoundException` - Thrown in case the attribute group does not exist matching the given id or `ObjectTypeNotFoundException` - Thrown in case the object type cannot be found"}},"security":[{"oauth2_application":[]}],"tags":["custom_object_definitions"]},"get":{"description":"Action to get attribute group information.","operationId":"getCustomObjectDefinitionsByIDAttributeGroupsByID","parameters":[{"description":"the object type id that contains this attribute group","in":"path","name":"object_type","required":true,"type":"string"},{"description":"The id of the requested attribute group.","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"in":"query","name":"select","type":"string"},{"in":"query","items":{"type":"string"},"name":"expand","type":"array"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/object_attribute_group"}},"404":{"description":"`AttributeGroupNotFoundException` - Thrown in case the attribute group does not exist matching the given id or `ObjectTypeNotFoundException` - Thrown in case the object type cannot be found"}},"security":[{"oauth2_application":[]}],"tags":["custom_object_definitions"]},"patch":{"description":"Updates the attribute group with the specified information.","operationId":"patchCustomObjectDefinitionsByIDAttributeGroupsByID","parameters":[{"description":"the object type id that contains this attribute group","in":"path","name":"object_type","required":true,"type":"string"},{"description":"The id of the requested attribute group.","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"in":"header","name":"If-Match","type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/object_attribute_group"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/object_attribute_group"}},"404":{"description":"`AttributeGroupNotFoundException` - Thrown in case the attribute group does not exist matching the given id or `ObjectTypeNotFoundException` - Thrown in case the object type cannot be found"}},"security":[{"oauth2_application":[]}],"tags":["custom_object_definitions"]},"put":{"description":"Creates a attribute group using the information provided.","operationId":"putCustomObjectDefinitionsByIDAttributeGroupsByID","parameters":[{"description":"the object type id that contains this attribute group","in":"path","name":"object_type","required":true,"type":"string"},{"description":"The id of the attribute group to create.","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/object_attribute_group"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/object_attribute_group"}},"400":{"description":"`IdConflictException` - when the id in the body does not match that provided in the URL"},"404":{"description":"`ObjectTypeNotFoundException` - Thrown in case the object type cannot be found"}},"security":[{"oauth2_application":[]}],"tags":["custom_object_definitions"]}},"/custom_objects/{object_type}/{key}":{"delete":{"description":"Deletes a global Custom Object. If the Custom Object does not exist, this will do nothing. Note that the customization scripts are only called, if the Custom Object does exist.","operationId":"deleteCustomObjectsByIDByID","parameters":[{"description":"the ID of the object type","in":"path","minLength":1,"name":"object_type","required":true,"type":"string"},{"description":"the key attribute value of the Custom Object","in":"path","minLength":1,"name":"key","required":true,"type":"string"}],"responses":{"400":{"description":"`MalformedKeyParameterException` - If the object key must be an integer, but the path parameter has an invalid format"},"204":{"description":""},"404":{"description":"`ObjectTypeNotFoundException` - For an unknown object type ID"}},"security":[{"oauth2_application":[]}],"tags":["custom_objects"]},"get":{"description":"Reads a global Custom Object with a given object type ID and a value for the key attribute of the object which represents its unique identifier.","operationId":"getCustomObjectsByIDByID","parameters":[{"description":"the ID of the object type","in":"path","minLength":1,"name":"object_type","required":true,"type":"string"},{"description":"the key attribute value of the Custom Object","in":"path","minLength":1,"name":"key","required":true,"type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/custom_object"}},"400":{"description":"`MalformedKeyParameterException` - If the object key must be an integer, but the path parameter has an invalid format"},"404":{"description":"`ObjectTypeNotFoundException` - For an unknown object type ID or `CustomObjectNotFoundException` - For an unknown object key"}},"security":[{"oauth2_application":[]}],"tags":["custom_objects"]},"patch":{"description":"

Updates a global Custom Object with information from the request body. Note that only provided attributes are updated and that the key attribute is ignored. All other attributes are unchanged.

Use Custom Properties prefixed with c_ to define the Custom Object fields.
For localizable strings, structure the field to support multiple language values by using a map where each locale, for example: en_US, fr_FR, has its corresponding string value.

","operationId":"patchCustomObjectsByIDByID","parameters":[{"description":"the ID of the object type","in":"path","minLength":1,"name":"object_type","required":true,"type":"string"},{"description":"the key attribute value of the Custom Object","in":"path","minLength":1,"name":"key","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/custom_object"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/custom_object"}},"400":{"description":"`MalformedKeyParameterException` - If the object key must be an integer, but the path parameter has an invalid format"},"404":{"description":"`ObjectTypeNotFoundException` - For an unknown object type ID or `CustomObjectNotFoundException` - For an unknown object key"}},"security":[{"oauth2_application":[]}],"tags":["custom_objects"]},"put":{"description":"

Creates a global Custom Object from the request body. Note that an existing global Custom Object with the same key is overwritten by this action.

Use Custom Properties prefixed with c_ to define the Custom Object fields.
For localizable strings, structure the field to support multiple language values by using a map where each locale, for example: en_US, fr_FR, has its corresponding string value.

","operationId":"putCustomObjectsByIDByID","parameters":[{"description":"the ID of the object type","in":"path","minLength":1,"name":"object_type","required":true,"type":"string"},{"description":"the key attribute value of the Custom Object","in":"path","minLength":1,"name":"key","required":true,"type":"string"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/custom_object"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/custom_object"}},"400":{"description":"`MalformedKeyParameterException` - If the object key must be an integer, but the path parameter has an invalid format"},"404":{"description":"`ObjectTypeNotFoundException` - For an unknown object type ID or `CustomObjectNotFoundException` - For an unknown object key"}},"security":[{"oauth2_application":[]}],"tags":["custom_objects"]}},"/custom_objects_search/{object_type}":{"post":{"description":"

Search resource for custom objects in scope of a specific custom object type.

\n \n

The custom object search document contains a search object that allows filtering on various attributes.

\n \n \n

The query attribute specifies a complex query that can be used to narrow down the search. These are the list\n of searchable attributes:

\n \n \n

Note that only searchable attributes can be used in sorting.

","operationId":"postCustomObjectsSearchByID","parameters":[{"description":"ID of the object type to search objects for","in":"path","minLength":1,"name":"object_type","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/search_request"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/custom_object_search_result"}},"400":{"description":"`TypeMissmatchException` - Indicates that the value to search with does not match the\n type of the search field."},"404":{"description":"`ObjectTypeNotFoundException` - In case of an unknown object type."}},"security":[{"oauth2_application":[]}],"tags":["custom_objects_search"]}},"/customer_lists/{customer_list_id}/customer_search":{"post":{"description":"Action to search for customers in a customer list.\n\n The query attribute specifies a complex query that can be used to narrow down the search.\n Note that a text_query search only returns exact word matches. For example, the search \n term \"Jon\" returns \"Jon Smith\", but doesn't return \"Jonathan Smith\".\n \n The sum of the values of the start and count parameters should not be more than 10000.\n \n These attributes are searchable:\n\n ","operationId":"postCustomerListsByIDCustomerSearch","parameters":[{"description":"The customer list id to search in","in":"path","maxLength":256,"minLength":1,"name":"customer_list_id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/search_request"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/customer_search_result"}}},"security":[{"oauth2_application":[]}],"tags":["customer_lists"]}},"/customer_lists/{list_id}":{"get":{"description":"Action to read an existing customerlist.","operationId":"getCustomerListsByID","parameters":[{"description":"the id of the customerlist","in":"path","minLength":1,"name":"list_id","required":true,"type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/customer_list"}},"404":{"description":"`CustomerListNotFoundException` - Indicates that there was no customerlist found for the customerlist id."}},"security":[{"oauth2_application":[]}],"tags":["customer_lists"]}},"/customer_lists/{list_id}/customers":{"post":{"description":"Action to create a new customer. The customer is created using the specified credentials and customer\n information.This action verifies the following:\n \n If the action fails to create the customer, it returns a 400 fault with an appropriate message.","operationId":"postCustomerListsByIDCustomers","parameters":[{"description":"The customer list id","in":"path","minLength":1,"name":"list_id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/customer"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/customer"}},"400":{"description":"`CredentialsMissingException` - Indicates that the mandatory credentials are missing in the input document. or `InvalidLoginException` - Indicates the login does not match the login acceptance criteria. or `LoginAlreadyInUseException` - Indicates the login is already in use. or `LoginMissingException` - Indicates that the mandatory login property is missing in the input document."},"404":{"description":"`CustomerListNotFoundException` - Indicates that the customer list with the given customer list id is unknown."}},"security":[{"oauth2_application":[]}],"tags":["customer_lists"]}},"/customer_lists/{list_id}/customers/{customer_no}":{"delete":{"description":"Deletes the customer including all related information like the customer addresses.
\n\n Returns a status code of 204 on successful completion when deleting the customer. If the customer to be deleted\n did not exist, a 204 will still be returned to indicate the resource is no longer present in the system.","operationId":"deleteCustomerListsByIDCustomersByID","parameters":[{"description":"The customer list id","in":"path","minLength":1,"name":"list_id","required":true,"type":"string"},{"description":"The customer number","in":"path","minLength":1,"name":"customer_no","required":true,"type":"string"}],"responses":{"204":{"description":""},"404":{"description":"`CustomerListCustomerNotFoundException` - Indicates that the customer with the given customer number is\n unknown. or `CustomerListNotFoundException` - Indicates that the customer list with the given customer list id is\n unknown."}},"security":[{"oauth2_application":[]}],"tags":["customer_lists"]},"get":{"description":"Action to get customer information.","operationId":"getCustomerListsByIDCustomersByID","parameters":[{"description":"The customer list id","in":"path","minLength":1,"name":"list_id","required":true,"type":"string"},{"description":"The customer number","in":"path","minLength":1,"name":"customer_no","required":true,"type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/customer"}},"404":{"description":"`CustomerListCustomerNotFoundException` - Indicates that the customer with the given customer number is unknown. or `CustomerListNotFoundException` - Indicates that the customer list with the given customer list id is unknown."}},"security":[{"oauth2_application":[]}],"tags":["customer_lists"]},"patch":{"description":"Updates the customer with the specified information. The customer number is allowed to be updated but will result in a\n CustomerNumberAlreadyInUseException if there is already another customer with the same customer number existing.","operationId":"patchCustomerListsByIDCustomersByID","parameters":[{"description":"The customer list id","in":"path","minLength":1,"name":"list_id","required":true,"type":"string"},{"description":"The customer number","in":"path","minLength":1,"name":"customer_no","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/customer"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/customer"}},"400":{"description":"`InvalidLoginException` - Indicates the login does not match the login acceptance criteria. or `LoginAlreadyInUseException` - Indicates the login is already in use."},"404":{"description":"`CustomerListCustomerNotFoundException` - Indicates that the customer with the given customer number is unknown. or `CustomerListNotFoundException` - Indicates that the customer list with the given customer list id is unknown."}},"security":[{"oauth2_application":[]}],"tags":["customer_lists"]},"put":{"description":"Action to create a new customer. The customer is created using the specified customer number, credentials and\n customer information.This action verifies the following:\n \n If the action fails to create the customer, it returns a 400 fault with an appropriate message.","operationId":"putCustomerListsByIDCustomersByID","parameters":[{"description":"The customer list id","in":"path","minLength":1,"name":"list_id","required":true,"type":"string"},{"description":"The customer number","in":"path","minLength":1,"name":"customer_no","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/customer"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/customer"}},"400":{"description":"`CredentialsMissingException` - Indicates that the mandatory credentials are missing in the input document. or `InvalidLoginException` - Indicates the login does not match the login acceptance criteria. or `LoginAlreadyInUseException` - Indicates that the given login is already in use. or `LoginMissingException` - Indicates that the mandatory login property is missing in the input document."},"404":{"description":"`CustomerListNotFoundException` - Indicates that the customer list with the given customer list id is unknown."}},"security":[{"oauth2_application":[]}],"tags":["customer_lists"]}},"/customer_lists/{list_id}/customers/{customer_no}/addresses":{"get":{"description":"Action that returns a pageable list of all customer addresses. The\n default page size is 10 customer addresses.","operationId":"getCustomerListsByIDCustomersByIDAddresses","parameters":[{"description":"The customer list id","in":"path","minLength":1,"name":"list_id","required":true,"type":"string"},{"description":"The customer number","in":"path","minLength":1,"name":"customer_no","required":true,"type":"string"},{"description":"The result set index to return the first instance for. Default value is 0.","format":"int32","in":"query","minimum":0,"name":"start","type":"integer"},{"description":"The maximum number of instances per request. Default value is 25.","format":"int32","in":"query","maximum":200,"minimum":1,"name":"count","type":"integer"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/customer_address_result"}},"404":{"description":"`CustomerListCustomerNotFoundException` - Indicates that the customer with the given customer number is unknown. or `CustomerListNotFoundException` - Indicates that the customer list with the given customer list id is unknown."}},"security":[{"oauth2_application":[]}],"tags":["customer_lists"]},"post":{"description":"The action creates a new customer address with the given address\n information.","operationId":"postCustomerListsByIDCustomersByIDAddresses","parameters":[{"description":"The customer list id","in":"path","minLength":1,"name":"list_id","required":true,"type":"string"},{"description":"The customer number","in":"path","minLength":1,"name":"customer_no","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/customer_address"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/customer_address"}},"400":{"description":"`AddressIdAlreadyInUseException` - If the address id is already in use. or `InvalidAddressIdException` - If the address id is null or empty."},"404":{"description":"`CustomerListCustomerNotFoundException` - Indicates that the customer with the given customer number is unknown. or `CustomerListNotFoundException` - Indicates that the customer list with the given customer list id is unknown."}},"security":[{"oauth2_application":[]}],"tags":["customer_lists"]}},"/customer_lists/{list_id}/customers/{customer_no}/addresses/{address_id}":{"delete":{"description":"Action which deletes a customer address.","operationId":"deleteCustomerListsByIDCustomersByIDAddressesByID","parameters":[{"description":"The customer list id","in":"path","minLength":1,"name":"list_id","required":true,"type":"string"},{"description":"The customer number","in":"path","minLength":1,"name":"customer_no","required":true,"type":"string"},{"description":"The address id","in":"path","minLength":1,"name":"address_id","required":true,"type":"string"}],"responses":{"204":{"description":""},"404":{"description":"`CustomerListCustomerNotFoundException` - Indicates that the customer with the given customer number is unknown. or `CustomerListNotFoundException` - Indicates that the customer list with the given customer list id is unknown."}},"security":[{"oauth2_application":[]}],"tags":["customer_lists"]},"get":{"description":"Action which returns an address of a customer.","operationId":"getCustomerListsByIDCustomersByIDAddressesByID","parameters":[{"description":"The customer list id","in":"path","minLength":1,"name":"list_id","required":true,"type":"string"},{"description":"The customer number","in":"path","minLength":1,"name":"customer_no","required":true,"type":"string"},{"description":"The address id","in":"path","minLength":1,"name":"address_id","required":true,"type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/customer_address"}},"404":{"description":"`CustomerListCustomerAddressNotFoundException` - Indicates that the customer address id is unknown. or `CustomerListCustomerNotFoundException` - Indicates that the customer with the given customer number is unknown. or `CustomerListNotFoundException` - Indicates that the customer list with the given customer list id is unknown."}},"security":[{"oauth2_application":[]}],"tags":["customer_lists"]},"patch":{"description":"Action which updates an address of a customer with the given address information.","operationId":"patchCustomerListsByIDCustomersByIDAddressesByID","parameters":[{"description":"The customer list id","in":"path","minLength":1,"name":"list_id","required":true,"type":"string"},{"description":"The customer number","in":"path","minLength":1,"name":"customer_no","required":true,"type":"string"},{"description":"The address id","in":"path","minLength":1,"name":"address_id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/customer_address"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/customer_address"}},"400":{"description":"`AddressIdAlreadyInUseException` - If the new address id is already in use. or `InvalidAddressIdException` - If the new address id is empty."},"404":{"description":"`CustomerListCustomerAddressNotFoundException` - Indicates that the customer address id is unknown. or `CustomerListCustomerNotFoundException` - Indicates that the customer with the given customer number is unknown. or `CustomerListNotFoundException` - Indicates that the customer list with the given customer list id is unknown."}},"security":[{"oauth2_application":[]}],"tags":["customer_lists"]}},"/global_preferences/preference_groups/{group_id}/{instance_type}":{"get":{"description":"For the specified instance, read the custom preferences in the preference group at the global(organization) level.\n Specify 'current' to retrieve the preferences for the instance on which this call is being made. The system will recognize its type.\n\n

Note: If instance type sandbox is used, the preference values of development instance type will be returned as fallback.

","operationId":"getGlobalPreferencesPreferenceGroupsByIDByID","parameters":[{"description":"One of {staging,development,sandbox,production,current}.","in":"path","name":"instance_type","required":true,"type":"string"},{"description":"The ID of the preference group.","in":"path","name":"group_id","required":true,"type":"string"},{"description":"Set to true to mask the values of preferences of type Password.","in":"query","name":"mask_passwords","type":"boolean"},{"description":"The expansion \"sites\" retrieves the custom preferences in the preference group for all the available sites.","in":"query","items":{"type":"string"},"name":"expand","type":"array"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/organization_preferences"}},"404":{"description":"`CustomPreferenceGroupNotFoundException` - Indicates the preference group is not found."}},"security":[{"oauth2_application":[]}],"tags":["global_preferences"]},"patch":{"description":"For the specified instance, update one or more custom preferences in the preference group at the global(organization) level.\n\n

Note: If instance type sandbox is used, the preference values of development instance type will be returned as fallback.

","operationId":"patchGlobalPreferencesPreferenceGroupsByIDByID","parameters":[{"description":"One of {staging,development,sandbox,production}.","in":"path","name":"instance_type","required":true,"type":"string"},{"description":"The ID of the preference group.","in":"path","name":"group_id","required":true,"type":"string"},{"description":"Set to true to mask the values of preferences of type Password.","in":"query","name":"mask_passwords","type":"boolean"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/organization_preferences"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/organization_preferences"}},"404":{"description":"`CustomPreferenceGroupNotFoundException` - Indicates the preference group is not found."}},"security":[{"oauth2_application":[]}],"tags":["global_preferences"]}},"/inventory_list_search":{"post":{"description":"

\n Searches for inventory lists.\n

\n

\n The query attribute specifies a complex query that can be used to narrow down the search. This is the list of\n searchable attributes:\n

\n ","operationId":"postInventoryListSearch","parameters":[{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/search_request"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/inventory_list_search_result"}},"400":{"description":"`MalformedSearchParameterException` - Thrown if the query is ill-formed. or `MalformedSelectorException` - Thrown if the given selector is invalid."}},"security":[{"oauth2_application":[]}],"tags":["inventory_list_search"]}},"/inventory_lists":{"get":{"description":"Action to get all the inventory lists with no filtering.","operationId":"getInventoryLists","parameters":[{"description":"Optional start index for retrieving the items from a given index (default 0).","format":"int32","in":"query","name":"start","type":"integer"},{"description":"Optional count for retrieving only a subset of the items (default is 25).","format":"int32","in":"query","name":"count","type":"integer"},{"description":"The property selector.","in":"query","name":"select","type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/inventory_lists"}}},"security":[{"oauth2_application":[]}],"tags":["inventory_lists"]}},"/inventory_lists/{id}":{"delete":{"description":"Deletes the inventory list by ID","operationId":"deleteInventoryListsByID","parameters":[{"description":"One inventory list id to remove","in":"path","name":"id","required":true,"type":"string"}],"responses":{"204":{"description":""}},"security":[{"oauth2_application":[]}],"tags":["inventory_lists"]},"get":{"description":"Action to get inventory list information.","operationId":"getInventoryListsByID","parameters":[{"description":"The id of the requested inventory list.","in":"path","minLength":1,"name":"id","required":true,"type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/inventory_list"}},"404":{"description":"`InventoryListNotFoundException` - Thrown in case the inventory list does not exist matching the given id"}},"security":[{"oauth2_application":[]}],"tags":["inventory_lists"]},"patch":{"description":"Updates the inventory list with the specified information.","operationId":"patchInventoryListsByID","parameters":[{"description":"The id of the requested inventory list.","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/inventory_list"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/inventory_list"}},"404":{"description":"`InventoryListNotFoundException` - Thrown in case the inventory list does not exist matching the given id"}},"security":[{"oauth2_application":[]}],"tags":["inventory_lists"]},"put":{"description":"Creates an inventory list using the information provided.","operationId":"putInventoryListsByID","parameters":[{"description":"The id of the inventory list to create.","in":"path","maxLength":256,"minLength":1,"name":"id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/inventory_list"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/inventory_list"}},"400":{"description":"`IdConflictException` - if the Id in request is not the same as the ID in document."}},"security":[{"oauth2_application":[]}],"tags":["inventory_lists"]}},"/inventory_lists/{inventory_list_id}/product_inventory_records":{"get":{"description":"Gets all product inventory records for an inventory list.","operationId":"getInventoryListsByIDProductInventoryRecords","parameters":[{"description":"The inventory list ID","in":"path","minLength":1,"name":"inventory_list_id","required":true,"type":"string"},{"description":"Optional start index for retrieving the items from a given index (default 0).","format":"int32","in":"query","name":"start","type":"integer"},{"description":"Optional count for retrieving only a subset of the items (default is 25).","format":"int32","in":"query","name":"count","type":"integer"},{"description":"The property selector.","in":"query","name":"select","type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/product_inventory_records"}},"404":{"description":"`InventoryListNotFoundException` - Indicates the inventory list does not exist."}},"security":[{"oauth2_application":[]}],"tags":["inventory_lists"]}},"/inventory_lists/{inventory_list_id}/product_inventory_records/{product_id}":{"delete":{"description":"Deletes a product inventory record by ID.","operationId":"deleteInventoryListsByIDProductInventoryRecordsByID","parameters":[{"description":"The inventory list ID","in":"path","minLength":1,"name":"inventory_list_id","required":true,"type":"string"},{"description":"The product ID","in":"path","minLength":1,"name":"product_id","required":true,"type":"string"}],"responses":{"204":{"description":""},"404":{"description":"`InventoryListNotFoundException` - Indicates the inventory list does not exist. or `ProductInventoryRecordNotFoundException` - Indicates the product inventory record does not exist."}},"security":[{"oauth2_application":[]}],"tags":["inventory_lists"]},"get":{"description":"Gets a product inventory record.","operationId":"getInventoryListsByIDProductInventoryRecordsByID","parameters":[{"description":"The inventory list ID","in":"path","minLength":1,"name":"inventory_list_id","required":true,"type":"string"},{"description":"The product ID","in":"path","minLength":1,"name":"product_id","required":true,"type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/product_inventory_record"}},"404":{"description":"`InventoryListNotFoundException` - Indicates the inventory list does not exist. or `ProductInventoryRecordNotFoundException` - Indicates the product inventory record does not exist."}},"security":[{"oauth2_application":[]}],"tags":["inventory_lists"]},"patch":{"description":"Updates the product inventory record with the specified information.","operationId":"patchInventoryListsByIDProductInventoryRecordsByID","parameters":[{"description":"The inventory list ID","in":"path","minLength":1,"name":"inventory_list_id","required":true,"type":"string"},{"description":"The product ID","in":"path","minLength":1,"name":"product_id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/product_inventory_record"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/product_inventory_record"}},"404":{"description":"`InventoryListNotFoundException` - Indicates the inventory list does not exist. or `ProductInventoryRecordNotFoundException` - Indicates the product inventory record does not exist."},"409":{"description":"`ConflictException` - Indicates a concurrent update"}},"security":[{"oauth2_application":[]}],"tags":["inventory_lists"]},"put":{"description":"Creates a product inventory record using the information provided.","operationId":"putInventoryListsByIDProductInventoryRecordsByID","parameters":[{"description":"The inventory list ID","in":"path","minLength":1,"name":"inventory_list_id","required":true,"type":"string"},{"description":"The product ID","in":"path","minLength":1,"name":"product_id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/product_inventory_record"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/product_inventory_record"}},"404":{"description":"`InventoryListNotFoundException` - Indicates the inventory list does not exist."},"409":{"description":"`ConflictException` - Indicates a concurrent update"}},"security":[{"oauth2_application":[]}],"tags":["inventory_lists"]}},"/job_execution_search":{"post":{"description":"Searches for job executions.\n

\n The query attribute specifies a complex query that can be used to narrow down the search. This is the list of\n searchable attributes:\n

\n This is the list of sortable attributes:\n ","operationId":"postJobExecutionSearch","parameters":[{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/search_request"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/job_execution_search_result"}}},"security":[{"oauth2_application":[]}],"tags":["job_execution_search"]}},"/jobs/{job_id}/executions":{"post":{"description":"Executes the job with the given job ID by creating and returning a job execution for it. The job might still be\n executed when the job execution is returned. Note that this resource is also intended for running system jobs.\n

\n See Global Jobs for information on available system jobs.\n

","operationId":"postJobsByIDExecutions","parameters":[{"description":"The ID of the job to execute.","in":"path","minLength":1,"name":"job_id","required":true,"type":"string"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/string"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/job_execution"}},"400":{"description":"`JobAlreadyRunningException` - if the job is\n already running. or `JobExecutionException` - if the job could\n not be executed. or `JobInvalidException` - if the job is invalid\n and is therefore not executable. or `JobNotRestartableException` - if the job\n does not support restarting. or `JobRestartException` - if the job could not\n be restarted."},"404":{"description":"`JobNotFoundException` - if the job with the given job ID\n doesn't exist."}},"security":[{"oauth2_application":[]}],"tags":["jobs"]}},"/jobs/{job_id}/executions/{id}":{"delete":{"description":"Deletes job execution information using the specified ID for the job having the specified job ID.","operationId":"deleteJobsByIDExecutionsByID","parameters":[{"description":"the ID of the job.","in":"path","minLength":1,"name":"job_id","required":true,"type":"string"},{"description":"the ID of the job execution","in":"path","name":"id","required":true,"type":"string"}],"responses":{"204":{"description":""},"403":{"description":"`JobExecutionNotFinishedException` - if the\n job execution is not finished."},"404":{"description":"`JobExecutionNotFoundException` - for an\n unknown job ID or job execution ID"}},"security":[{"oauth2_application":[]}],"tags":["jobs"]},"get":{"description":"Returns job execution information using the specified ID for the job having the specified job ID.","operationId":"getJobsByIDExecutionsByID","parameters":[{"description":"the ID of the job.","in":"path","minLength":1,"name":"job_id","required":true,"type":"string"},{"description":"the ID of the job execution","in":"path","name":"id","required":true,"type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/job_execution"}},"404":{"description":"`JobExecutionNotFoundException` - for an\n unknown job ID or job execution ID"}},"security":[{"oauth2_application":[]}],"tags":["jobs"]}},"/libraries/{library_id}/content/{content_id}":{"delete":{"description":"Deletes the content asset with the specified ID from the specified library. If the content asset is not found, the server returns a 404 (NotFoundException) fault. If the content asset is locked by another user, the server returns a 409 (ResourceLockedException) fault. If the connection is not secure, the server returns a 403 (SecureCommunicationRequiredException) fault.","operationId":"deleteLibrariesByIDContentByID","parameters":[{"description":"ID of the shared library or the site-id in case of a private library.","in":"path","maxLength":256,"minLength":1,"name":"library_id","required":true,"type":"string"},{"description":"the ID of the content asset to remove.","in":"path","maxLength":256,"minLength":1,"name":"content_id","required":true,"type":"string"}],"responses":{"412":{"description":"`ResourceLockedException` - Indicates that the ID from the request body doesn't match the URL-Id."},"204":{"description":""},"404":{"description":"`ContentNotFoundException` - Indicates that the content asset with the given id is unknown. or `LibraryNotFoundException` - Indicates that library with the given id is unknown."}},"security":[{"oauth2_application":[]}],"tags":["libraries"]},"get":{"description":"Returns a content asset using the specified ID. If the content asset cannot be found, the server returns a 404 (ContentNotFoundException) fault. If the connection is not secure, the server returns a 403 (SecureCommunicationRequiredException).","operationId":"getLibrariesByIDContentByID","parameters":[{"description":"ID of the shared library or the site-id in case of a private library.","in":"path","maxLength":256,"minLength":1,"name":"library_id","required":true,"type":"string"},{"description":"the ID of the content asset to retrieve.","in":"path","maxLength":256,"minLength":1,"name":"content_id","required":true,"type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/content_asset"}},"404":{"description":"`ContentNotFoundException` - Indicates that the content asset with the given id is unknown. or `LibraryNotFoundException` - Indicates that library with the given id is unknown."}},"security":[{"oauth2_application":[]}],"tags":["libraries"]},"patch":{"description":"Updates a content asset. In the request, the If-Match header is required. The value of the header is an 'ETag' representing the last known base-point information for the content asset. If the header is missing, the server returns a 409 (IfMatchRequiredException) fault. If the header value does not match the server's 'ETag', the server returns a 412 (InvalidIfMatchException) fault. The delta information for the library folder containing the content asset is updated atomically: the information is written completely or not at all. If the content asset is locked, the server returns a 409 (ResourceLockedException) fault.","operationId":"patchLibrariesByIDContentByID","parameters":[{"description":"ID of the shared library or the site-id in case of a private library.","in":"path","maxLength":256,"minLength":1,"name":"library_id","required":true,"type":"string"},{"description":"the ID of the content asset to retrieve.","in":"path","maxLength":256,"minLength":1,"name":"content_id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/content_asset"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/content_asset"}},"400":{"description":"`ContentIdAlreadyInUseException` - Indicates that a content asset with the ID to change to is already existing."},"412":{"description":"`ResourceLockedException` - Indicates that the ID from the request body doesn't match the URL-Id."},"404":{"description":"`ContentNotFoundException` - Indicates that the content asset with the given id is unknown. or `LibraryNotFoundException` - Indicates that library with the given id is unknown."}},"security":[{"oauth2_application":[]}],"tags":["libraries"]},"put":{"description":"Creates a new content asset in the specified library, or overwrites an existing content asset. If a content asset with the specified ID already exists, the server completely overwrites the content asset. Please note: Existing folder assignments are not touched. If the existing content asset is locked, the server returns a 409 (ResourceLockedException) fault. If the connection is not secure, the server returns a 403 (SecureCommunicationRequiredException) fault.","operationId":"putLibrariesByIDContentByID","parameters":[{"description":"ID of the shared library or the site-id in case of a private library.","in":"path","maxLength":256,"minLength":1,"name":"library_id","required":true,"type":"string"},{"description":"the ID of the content asset to retrieve.","in":"path","maxLength":256,"minLength":1,"name":"content_id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/content_asset"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/content_asset"}},"400":{"description":"`IdConflictException` - Indicates that the ID from the request body doesn't match the URL-Id."},"412":{"description":"`ResourceLockedException` - Indicates that the ID from the request body doesn't match the URL-Id."},"404":{"description":"`ContentNotFoundException` - Indicates that the content asset with the given id is unknown. or `LibraryNotFoundException` - Indicates that library with the given id is unknown."}},"security":[{"oauth2_application":[]}],"tags":["libraries"]}},"/libraries/{library_id}/content/{content_id}/folders":{"get":{"description":"Action to get all assigned folders of a content asset.","operationId":"getLibrariesByIDContentByIDFolders","parameters":[{"description":"ID of the shared library or the site-id in case of a private library.","in":"path","maxLength":256,"minLength":1,"name":"library_id","required":true,"type":"string"},{"description":"The content id of the assignment.","in":"path","maxLength":256,"minLength":1,"name":"content_id","required":true,"type":"string"},{"description":"The result set index to return the first instance for. Default value is 0.","format":"int32","in":"query","minimum":0,"name":"start","type":"integer"},{"description":"The maximum number of instances per request. Default value is 25.","format":"int32","in":"query","maximum":200,"minimum":1,"name":"count","type":"integer"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/content_folder_result"}},"404":{"description":"`ContentNotFoundException` - Indicates that the content asset with the given id is unknown. or `LibraryNotFoundException` - Indicates that library with the given id is unknown."}},"security":[{"oauth2_application":[]}],"tags":["libraries"]}},"/libraries/{library_id}/folder_assignments/{content_id}/{folder_id}":{"delete":{"description":"Action to unassign a content asset from the specified library folder.","operationId":"deleteLibrariesByIDFolderAssignmentsByIDByID","parameters":[{"description":"ID of the shared library or the site-id in case of a private library.","in":"path","maxLength":256,"minLength":1,"name":"library_id","required":true,"type":"string"},{"description":"the ID of the content asset to retrieve.","in":"path","maxLength":256,"minLength":1,"name":"content_id","required":true,"type":"string"},{"description":"ID of a target folder.","in":"path","maxLength":256,"minLength":1,"name":"folder_id","required":true,"type":"string"}],"responses":{"204":{"description":""},"404":{"description":"`AssignmentNotFoundException` - Indicates that no assignment between the given content asset and folder exists or `ContentNotFoundException` - Indicates that the content asset with the given id is unknown. or `LibraryNotFoundException` - Indicates that library with the given id is unknown. or `ParentFolderNotFoundException` - Indicates that the parent folder with the given id is unknown."}},"security":[{"oauth2_application":[]}],"tags":["libraries"]},"get":{"description":"Action to get a single content to folder assignment","operationId":"getLibrariesByIDFolderAssignmentsByIDByID","parameters":[{"description":"ID of the shared library or the site-id in case of a private library.","in":"path","maxLength":256,"minLength":1,"name":"library_id","required":true,"type":"string"},{"description":"the ID of the content asset to retrieve.","in":"path","maxLength":256,"minLength":1,"name":"content_id","required":true,"type":"string"},{"description":"ID of a target folder.","in":"path","maxLength":256,"minLength":1,"name":"folder_id","required":true,"type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/content_folder_assignment"}},"404":{"description":"`AssignmentNotFoundException` - Indicates that no assignment between the given content asset and folder exists or `ContentNotFoundException` - Indicates that the content asset with the given id is unknown. or `LibraryNotFoundException` - Indicates that library with the given id is unknown. or `ParentFolderNotFoundException` - Indicates that the parent folder with the given id is unknown."}},"security":[{"oauth2_application":[]}],"tags":["libraries"]},"patch":{"description":"Action to update a single content to folder assignment. Currently only the position and default attribute can be changed.","operationId":"patchLibrariesByIDFolderAssignmentsByIDByID","parameters":[{"description":"ID of the shared library or the site-id in case of a private library.","in":"path","maxLength":256,"minLength":1,"name":"library_id","required":true,"type":"string"},{"description":"the content id of the assignment","in":"path","maxLength":256,"minLength":1,"name":"content_id","required":true,"type":"string"},{"description":"ID of a target folder.","in":"path","maxLength":256,"minLength":1,"name":"folder_id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/content_folder_assignment"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/content_folder_assignment"}},"404":{"description":"`AssignmentNotFoundException` - Indicates that no assignment between the given content asset and folder exists. or `ContentNotFoundException` - Indicates that the content asset with the given id is unknown. or `FolderNotFoundException` - Indicates that the folder with the given id is unknown. or `LibraryNotFoundException` - Indicates that library with the given id is unknown."}},"security":[{"oauth2_application":[]}],"tags":["libraries"]},"put":{"description":"Action to assign a content asset to a specified folder.","operationId":"putLibrariesByIDFolderAssignmentsByIDByID","parameters":[{"description":"the ID of the shared library or the site-id in case of a private library","in":"path","maxLength":256,"minLength":1,"name":"library_id","required":true,"type":"string"},{"description":"the content id","in":"path","maxLength":256,"minLength":1,"name":"content_id","required":true,"type":"string"},{"description":"the folder id","in":"path","maxLength":256,"minLength":1,"name":"folder_id","required":true,"type":"string"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/content_folder_assignment"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/content_folder_assignment"}},"404":{"description":"`ContentNotFoundException` - Indicates that the content asset with the given id is unknown. or `LibraryNotFoundException` - Indicates that library with the given id is unknown. or `ParentFolderNotFoundException` - Indicates that the parent folder with the given id is unknown."}},"security":[{"oauth2_application":[]}],"tags":["libraries"]}},"/libraries/{library_id}/folders/{folder_id}":{"delete":{"description":"Delete folder","operationId":"deleteLibrariesByIDFoldersByID","parameters":[{"description":"ID of the shared library or the site-id in case of a private library.","in":"path","maxLength":256,"minLength":1,"name":"library_id","required":true,"type":"string"},{"description":"ID of a target folder.","in":"path","maxLength":256,"minLength":1,"name":"folder_id","required":true,"type":"string"}],"responses":{"204":{"description":""},"404":{"description":"`LibraryNotFoundException` - Indicates that library with the given id is unknown."}},"security":[{"oauth2_application":[]}],"tags":["libraries"]},"get":{"description":"Action to get folder information.","operationId":"getLibrariesByIDFoldersByID","parameters":[{"description":"ID of the shared library or the site-id in case of a private library.","in":"path","maxLength":256,"minLength":1,"name":"library_id","required":true,"type":"string"},{"description":"ID of a target folder.","in":"path","maxLength":256,"minLength":1,"name":"folder_id","required":true,"type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/content_folder"}},"404":{"description":"`FolderNotFoundException` - Indicates that the folder with the given id is unknown. or `LibraryNotFoundException` - Indicates that library with the given id is unknown."}},"security":[{"oauth2_application":[]}],"tags":["libraries"]},"patch":{"description":"Updates an existing folder. In the request, the If-Match header is required. The value of the header is an 'ETag' representing the last known base-point information for the library folder. If the header is missing, the server returns a 409 (IfMatchRequiredException) fault. If the header value does not match the server's 'ETag', the server returns a 412 (InvalidIfMatchException) fault. The delta information for the library folder is updated atomically: the information is written completely or not at all.","operationId":"patchLibrariesByIDFoldersByID","parameters":[{"description":"ID of the shared library or the site-id in case of a private library.","in":"path","maxLength":256,"minLength":1,"name":"library_id","required":true,"type":"string"},{"description":"ID of a target folder.","in":"path","maxLength":256,"minLength":1,"name":"folder_id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/content_folder"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/content_folder"}},"400":{"description":"`ContentFolderIdAlreadyInUseException` - Indicates that a content folder with the ID to change to is already existing."},"404":{"description":"`FolderNotFoundException` - Indicates that the folder with the given id is unknown. or `LibraryNotFoundException` - Indicates that library with the given id is unknown."}},"security":[{"oauth2_application":[]}],"tags":["libraries"]},"put":{"description":"Action to create a new library folder, or to replace an existing folder. This action completely overwrites existing folders. Please note: Sub folders and assignments to content assets are not touched. This action ignores the folder ID in the input document.","operationId":"putLibrariesByIDFoldersByID","parameters":[{"description":"ID of the shared library or the site-id in case of a private library.","in":"path","maxLength":256,"minLength":1,"name":"library_id","required":true,"type":"string"},{"description":"ID of a target folder.","in":"path","maxLength":256,"minLength":1,"name":"folder_id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/content_folder"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/content_folder"}},"400":{"description":"`IdConflictException` - Indicates that the ID from the request body doesn't match the URL-Id."},"404":{"description":"`LibraryNotFoundException` - Indicates that library with the given id is unknown. or `ParentFolderNotFoundException` - Indicates that the parent folder with the given id is unknown."}},"security":[{"oauth2_application":[]}],"tags":["libraries"]}},"/libraries/{library_id}/folders/{folder_id}/content":{"get":{"description":"Action to get all assigned content assets of a folder.","operationId":"getLibrariesByIDFoldersByIDContent","parameters":[{"description":"ID of the shared library or the site-id in case of a private library.","in":"path","maxLength":256,"minLength":1,"name":"library_id","required":true,"type":"string"},{"description":"ID of a target folder.","in":"path","maxLength":256,"minLength":1,"name":"folder_id","required":true,"type":"string"},{"description":"The result set index to return the first instance for. Default value is 0.","format":"int32","in":"query","minimum":0,"name":"start","type":"integer"},{"description":"The maximum number of instances per request. Default value is 25.","format":"int32","in":"query","maximum":200,"minimum":1,"name":"count","type":"integer"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/content_asset_result"}},"404":{"description":"`FolderNotFoundException` - Indicates that the folder with the given id is unknown. or `LibraryNotFoundException` - Indicates that library with the given id is unknown."}},"security":[{"oauth2_application":[]}],"tags":["libraries"]}},"/libraries/{library_id}/folders/{folder_id}/sub_folders":{"get":{"description":"Action to get sub folders information.","operationId":"getLibrariesByIDFoldersByIDSubFolders","parameters":[{"description":"ID of the shared library or the site-id in case of a private library.","in":"path","maxLength":256,"minLength":1,"name":"library_id","required":true,"type":"string"},{"description":"ID of a target folder.","in":"path","maxLength":256,"minLength":1,"name":"folder_id","required":true,"type":"string"},{"description":"The result set index to return the first instance for. Default value is 0.","format":"int32","in":"query","minimum":0,"name":"start","type":"integer"},{"description":"The maximum number of instances per request. Default value is 25.","format":"int32","in":"query","maximum":200,"minimum":1,"name":"count","type":"integer"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/content_sub_folder_result"}},"404":{"description":"`FolderNotFoundException` - Indicates that the folder with the given id is unknown. or `LibraryNotFoundException` - Indicates that library with the given id is unknown."}},"security":[{"oauth2_application":[]}],"tags":["libraries"]}},"/locale_info/locales":{"get":{"description":"Action to get the set of active locales for which the user has read or write permission.","operationId":"getLocaleInfoLocales","parameters":[{"description":"optional locale to return by id. If specified, that locale is looked up and returned, otherwise the\n list is returned.","in":"query","name":"id","type":"string"},{"description":"the set of fields to return from the request. Default is only the locale id.","in":"query","name":"select","type":"string"},{"description":"the start index for paging. Default is 0.","format":"int32","in":"query","name":"start","type":"integer"},{"description":"the count of the records to return in this page. Default is 25.","format":"int32","in":"query","name":"count","type":"integer"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/locale_result"}}},"security":[{"oauth2_application":[]}],"tags":["locale_info"]}},"/log_requests/ecdn":{"post":{"description":"Requests a LogFile-Fetching for the passed zone and time frame.","operationId":"postLogRequestsEcdn","parameters":[{"description":"Request body","in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/ecdn_log_fetch_request"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/ecdn_log_fetch_response"}}},"security":[{"oauth2_application":[]}],"tags":["log_requests"]}},"/log_requests/ecdn/{id}":{"get":{"description":"Retrieves the current execution status of the log file fetching.","operationId":"getLogRequestsEcdnByID","parameters":[{"description":"ID of the log fetching execution","in":"path","name":"id","required":true,"type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/ecdn_log_fetch_response"}}},"security":[{"oauth2_application":[]}],"tags":["log_requests"]}},"/metrics/{apitype}":{"get":{"description":"The metrics resource provides insights into runtimes of individual OCAPI requests against the shop or the data-API. Responses of the metrics resource are JSON wrapped metrics in Prometheus Exposition format. For each OCAPI resource, following metrics are available for the given dimension and the current time-frame (1-minute averages). Refer to the documentation of the response document for a detailed description of the metrics and dimensions exposed by this API.","operationId":"getMetricsByID","parameters":[{"description":"Type of the api. Values are data or shop .","in":"path","minLength":1,"name":"apitype","required":true,"type":"string"},{"description":"Optional offset of the result set not counting commentaries or empty lines.","format":"int32","in":"query","minimum":0,"name":"offset","type":"integer"},{"description":"Optional limit of the result set not counting commentaries or empty lines.","format":"int32","in":"query","maximum":4500,"minimum":1,"name":"limit","type":"integer"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/metric_response"}},"400":{"description":"`TooManyRequestsException` - Too many requests."},"403":{"description":"`FeatureNotEnabledException` - Feature not enabled."}},"security":[{"oauth2_application":[]}],"tags":["metrics"]}},"/ocapi_configs/{clientId}":{"delete":{"description":"Delete a client.","operationId":"deleteOcapiConfigsByID","parameters":[{"description":"Id of the client to be deleted.","in":"path","minLength":1,"name":"clientId","required":true,"type":"string"}],"responses":{"400":{"description":"`InvalidOCAPIConfigException` - Indicates that the resulting config is not valid or `SelfUpdateException` - Write operation on self is not allowed. (The clientId being used for calling this API should be different from target clientId)"},"204":{"description":""}},"security":[{"oauth2_application":[]}],"tags":["ocapi_configs"]},"get":{"description":"Get all allowed resources for the client.","operationId":"getOcapiConfigsByID","parameters":[{"description":"client ID","in":"path","minLength":1,"name":"clientId","required":true,"type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/ocapi_configs_api_response"}},"400":{"description":"`InvalidOCAPIConfigException` - Indicates that at least one of the existing configs can not be parsed"}},"security":[{"oauth2_application":[]}],"tags":["ocapi_configs"]},"post":{"description":"Add a client to existing OCAPI configurations. Return errors when client already exists.","operationId":"postOcapiConfigsByID","parameters":[{"description":"client ID","in":"path","minLength":1,"name":"clientId","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/ocapi_configs_api_request"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/ocapi_configs_api_response"}},"400":{"description":"`InvalidOCAPIConfigException` - Indicates that the resulting config is not valid or `SelfUpdateException` - Write operation on self is not allowed. (The clientId being used for calling this API should be different from target clientId)"},"404":{"description":"`SiteNotFoundException` - Indicates that at least one of the target sites is unknown"},"409":{"description":"`DuplicateClientIdException` - Indicates that the client id already exists in original OCAPI configuration"}},"security":[{"oauth2_application":[]}],"tags":["ocapi_configs"]},"put":{"description":"Add a client to existing OCAPI configurations. Overwrite config if the client already exists.","operationId":"putOcapiConfigsByID","parameters":[{"description":"client ID","in":"path","minLength":1,"name":"clientId","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/ocapi_configs_api_request"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/ocapi_configs_api_response"}},"400":{"description":"`InvalidOCAPIConfigException` - Indicates that the resulting config is not valid or `SelfUpdateException` - Write operation on self is not allowed. (The clientId being used for calling this API should be different from target clientId)"},"404":{"description":"`SiteNotFoundException` - Indicates that at least one of the target sites is unknown"}},"security":[{"oauth2_application":[]}],"tags":["ocapi_configs"]}},"/permissions":{"get":{"description":"Get application specific permissions per type.","operationId":"getPermissions","parameters":[{"description":"The permission expand. A comma separated list with the allowed values (bm, csc).","in":"query","items":{"type":"string"},"name":"expand","type":"array"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/application_permissions"}}},"security":[{"oauth2_application":[]}],"tags":["permissions"]}},"/permissions/bm":{"get":{"description":"Get Business Manager permissions per type.","operationId":"getPermissionsBm","parameters":[{"description":"The permission expand. A comma separated list with the allowed values \n (module, functional, webdav, locale).","in":"query","items":{"type":"string"},"name":"expand","type":"array"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/bmpermissions"}}},"security":[{"oauth2_application":[]}],"tags":["permissions"]}},"/permissions/bm/functional":{"get":{"description":"Get functional permissions per scope.","operationId":"getPermissionsBmFunctional","responses":{"default":{"description":"","schema":{"$ref":"#/definitions/functional_permissions"}}},"security":[{"oauth2_application":[]}],"tags":["permissions"]}},"/permissions/bm/locale":{"get":{"description":"Get locale permissions per scope.","operationId":"getPermissionsBmLocale","responses":{"default":{"description":"","schema":{"$ref":"#/definitions/locale_permissions"}}},"security":[{"oauth2_application":[]}],"tags":["permissions"]}},"/permissions/bm/module":{"get":{"description":"Get Business Manager module permissions per scope.","operationId":"getPermissionsBmModule","responses":{"default":{"description":"","schema":{"$ref":"#/definitions/module_permissions"}}},"security":[{"oauth2_application":[]}],"tags":["permissions"]}},"/permissions/bm/webdav":{"get":{"description":"Get WebDAV permissions per scope.","operationId":"getPermissionsBmWebdav","responses":{"default":{"description":"","schema":{"$ref":"#/definitions/webdav_permissions"}}},"security":[{"oauth2_application":[]}],"tags":["permissions"]}},"/permissions/csc":{"get":{"description":"Get permissions per type.","operationId":"getPermissionsCsc","parameters":[{"description":"The permission expand. A comma separated list with the allowed values \n (module, functional, webdav, locale).","in":"query","items":{"type":"string"},"name":"expand","type":"array"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/cscpermissions"}}},"security":[{"oauth2_application":[]}],"tags":["permissions"]}},"/permissions/csc/module":{"get":{"description":"Get CSC module permissions per scope.","operationId":"getPermissionsCscModule","responses":{"default":{"description":"","schema":{"$ref":"#/definitions/module_permissions"}}},"security":[{"oauth2_application":[]}],"tags":["permissions"]}},"/product_search":{"post":{"description":"

Searches for products.

\n\n

Note: This resource does not return information about product master and product variation relationships. Use the ProductSearch SHOP API resource to retrieve more details about product relationships.

\n\n

The query attribute specifies a complex query that can be used to narrow down the search. Attributes are grouped\n into different buckets. These are the list of searchable attributes with their corresponding buckets:

\n\n

Main:

\n \n

Catalog:

\n \n

Category:

\n \n

Special:

\n \n\n

The sortable properties are:

\n \n\n

When you specify a catalog_id or category_id, only products explicitly assigned to that catalog or \n category are returned. For example, if a product with variants is assigned to a catalog, but its \n variants are not, searching on that catalog_id only returns the main product, not the variants. This \n behavior is different from that of the product search in Business Manager, which returns products\n that inherit the selected catalog or category assignment.

\n\n

Only attributes in the same bucket can be joined using a disjunction (OR).\n For instance, when joining id and catalog_id above, only a conjunction is allowed (AND), whereas id\n and searchable can be joined using a disjunction because they are in the same bucket. If an attribute\n is used in a disjunction (OR) that violates this rule, an exception will be thrown.

\n\n

The product search retrieves additional properties of the product when expansions are used.\n\tThe available expand attribute values are:

\n ","operationId":"postProductSearch","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/search_request"}},{"description":"The site context.","in":"query","name":"site_id","type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/product_search_result"}},"400":{"description":"`MalformedSearchParameterException` - Indicates the search query is ill-formed."}},"security":[{"oauth2_application":[]}],"tags":["product_search"]}},"/products/{id}":{"delete":{"description":"Deletes the product by ID","operationId":"deleteProductsByID","parameters":[{"description":"The product ID.","in":"path","maxLength":100,"minLength":1,"name":"id","required":true,"type":"string"}],"responses":{"204":{"description":""},"404":{"description":"`ProductNotFoundException` - Indicates the product is not found."}},"security":[{"oauth2_application":[]}],"tags":["products"]},"get":{"description":"Action to get product information.","operationId":"getProductsByID","parameters":[{"description":"The product ID.","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"description":"The site context.","in":"query","name":"site_id","type":"string"},{"description":"The list of expansions that can be applied to the product. They are:\n \t\t \n Note that only variants with variation values are retrieved for a product of type variation master.","in":"query","items":{"type":"string"},"name":"expand","type":"array"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/product"}},"404":{"description":"`ProductNotFoundException` - Indicates the product is not found."}},"security":[{"oauth2_application":[]}],"tags":["products"]},"patch":{"description":"Update a product using the information provided.\n\n Fields that can be updated:\n name, page_description, long_description, page_title,\n page_keywords, brand, ean,upc, manufacture_sku,\n manufacture_name, searchable, unit, searchable,\n online_flag, default_variant_id, valid_to,\n valid_from, tax_class_id, localized_tax_class_id.","operationId":"patchProductsByID","parameters":[{"description":"The product ID.","in":"path","maxLength":100,"minLength":1,"name":"id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/product"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/product"}},"400":{"description":"`IdConflictException` - Indicates the ID in request URL does not match the ID in the product document. or `ProductDefaultVariantException` - Indicates there is a problem to set default variant for a product."},"404":{"description":"`ProductNotFoundException` - Indicates the product to be updated is not found."}},"security":[{"oauth2_application":[]}],"tags":["products"]},"put":{"description":"Creates a product using the information provided. If a product exists with the same identifier, it is\n cleared and overwritten unless the request includes the header x-dw-validate-existing=true.\n Note that the following read-only attributes aren't replaced: assigned_categories , bundled_products , classification_category , creation_date , default_variant_id , image , image_groups , last_modified , owning_catalog_name , price_per_unit , primary_categories , primary_category_id , product_bundles , product_options , product_sets , set_products , type , variants , variation_attributes , variation_groups , and variation_values .","operationId":"putProductsByID","parameters":[{"description":"The product ID.","in":"path","maxLength":100,"minLength":1,"name":"id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/product"}},{"in":"header","name":"x-dw-validate-existing","type":"boolean"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/product"}},"400":{"description":"`IdConflictException` - Indicates the ID in request URL does not match the ID in the product document. or `ProductDuplicateException` - Indicate the product is already existed. or `ProductInvalidException` - Indicates the catalog is not provided in the request."},"404":{"description":"`CatalogNotFoundException` - Indicates the catalog is not found."}},"security":[{"oauth2_application":[]}],"tags":["products"]}},"/products/{id}/variant_search":{"post":{"description":"

Searches product variations for master product or variation group product.

\n \n

The query attribute specifies a complex query that can be used to narrow down the search. This is the list\n of searchable attributes:

\n \n

Sortable Fields:

\n \n\n

Note:\n The calculated value of \"online\" and \"searchable\" is used in the search/sort.

\n

A search/sort by the the site specific attributes require the Site ID query parameter to be set.\n They are \"online\", \"in_stock\", \"searchable\" and \"ats\".

\n

We assume that every field that starts with variation_attribute. is searchable and dot is followed by ATTRIBUTE_ID\".

\n\n\n

The list of expansions to retrieve product information. The expand values available are:

\n \t\t ","operationId":"postProductsByIDVariantSearch","parameters":[{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/search_request"}},{"description":"The product id of master product or variation group product","in":"path","name":"id","required":true,"type":"string"},{"description":"The id of the site to get site specific product attributes.","in":"query","name":"site_id","type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/variant_search_result"}},"400":{"description":"`MalformedSearchParameterException` - Thrown if the query is ill-formed. or `ProductNotMasterGroupException` - Thrown if the id is not the product id of a Variation Master product or Variation Group product. or `SiteIdMissingForSiteSpecificFilterException` - Thrown if the Site ID query parameter is missing in the search of Variants by a site-specific product attribute."},"404":{"description":"`ProductNotFoundException` - Thrown if the product is not found."}},"security":[{"oauth2_application":[]}],"tags":["products"]}},"/products/{master_product_id}/variation_groups":{"get":{"description":"Reads variation groups for a product master.","operationId":"getProductsByIDVariationGroups","parameters":[{"description":"The id of the master product.","in":"path","minLength":1,"name":"master_product_id","required":true,"type":"string"},{"description":"The site context.","in":"query","name":"site_id","type":"string"},{"description":"The start index of the variation groups to return (defaults to 0).","format":"int32","in":"query","name":"start","type":"integer"},{"description":"The maximum number of variation groups to return (defaults to 25).","format":"int32","in":"query","name":"count","type":"integer"},{"description":"A selector that specifies the fields to return in the variation groups document.","in":"query","name":"select","type":"string"},{"description":"The valid expands are {price,availability}","in":"query","items":{"type":"string"},"name":"expand","type":"array"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/variation_groups"}},"400":{"description":"`ProductNotMasterException` - Indicates that the given product is not a variation master."},"404":{"description":"`ProductNotFoundException` - Indicates the master product is not found."}},"security":[{"oauth2_application":[]}],"tags":["products"]}},"/products/{master_product_id}/variation_groups/{id}":{"delete":{"description":"Unassign a variation group product from a product master. The variation group product is not\n deleted: it remains as a normal product after unsassign.","operationId":"deleteProductsByIDVariationGroupsByID","parameters":[{"in":"path","minLength":1,"name":"master_product_id","required":true,"type":"string"},{"in":"path","minLength":1,"name":"id","required":true,"type":"string"}],"responses":{"400":{"description":"`ProductIsNotVariationGroupException` - Indicates product specified is not a variation group. or `ProductNotMasterException` - Indicates the master product id does not represent a master product."},"204":{"description":""},"404":{"description":"`ProductNotFoundException` - Indicates either the master product or the variation group product cannot be found. or `VariationGroupNotFoundException` - Indicates the product does not belong to the master product."}},"security":[{"oauth2_application":[]}],"tags":["products"]},"get":{"description":"Read a variation group for a product master.","operationId":"getProductsByIDVariationGroupsByID","parameters":[{"description":"The id of the master product that contains the variation group.","in":"path","minLength":1,"name":"master_product_id","required":true,"type":"string"},{"description":"The id of the variation group product.","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"in":"query","name":"site_id","type":"string"},{"description":"The valid expands are {price,availability}","in":"query","items":{"type":"string"},"name":"expand","type":"array"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/variation_group"}},"400":{"description":"`ProductIsNotVariationGroupException` - Indicates the product specified is not a variation group. or `ProductNotMasterException` - Indicates the master product id does not represent a master product."},"404":{"description":"`ProductNotFoundException` - Indicates either the master product or the variation group product cannot be found. or `VariationGroupNotFoundException` - Indicates the product does not belong to the master product."}},"security":[{"oauth2_application":[]}],"tags":["products"]},"patch":{"description":"Update a variation group for a product master.","operationId":"patchProductsByIDVariationGroupsByID","parameters":[{"description":"The id of the master product that contains the variation group.","in":"path","minLength":1,"name":"master_product_id","required":true,"type":"string"},{"description":"The id of the variation group product.","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/variation_group"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/variation_group"}},"400":{"description":"`ProductIsNotVariationGroupException` - Indicates product specified is not a variation group. or `ProductNotMasterException` - Indicates the master product id does not represent a master product. or `VariationValueNotValidException` - Indicates the values passed are not valid for the variation attributes."},"404":{"description":"`ProductNotFoundException` - Indicates either the master product or the variation group product cannot be found. or `VariationGroupNotFoundException` - Indicates the product does not belong to the master product."}},"security":[{"oauth2_application":[]}],"tags":["products"]},"put":{"description":"Assign a variation group for a product master. If the variation group product does not initially exist,\n one is created using the body passed in.","operationId":"putProductsByIDVariationGroupsByID","parameters":[{"description":"The id of the master product that contains the variation group.","in":"path","minLength":1,"name":"master_product_id","required":true,"type":"string"},{"description":"The id of the variation group product.","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/variation_group"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/variation_group"}},"400":{"description":"`ProductNotMasterException` - Indicates the master product id does not represent a master product. or `VariationValueNotValidException` - Indicates the values passed are not valid for the variation attributes."},"404":{"description":"`ProductNotFoundException` - Indicates either the master product or the variation group product cannot be found. or `VariationAttributeValueNotFoundException` - Indicates the value passed into a variation attribute is not one found in the valid values."}},"security":[{"oauth2_application":[]}],"tags":["products"]}},"/products/{master_product_id}/variations":{"get":{"description":"Reads variation for a product master.","operationId":"getProductsByIDVariations","parameters":[{"description":"The id of the master product.","in":"path","minLength":1,"name":"master_product_id","required":true,"type":"string"},{"description":"The site context.","in":"query","name":"site_id","type":"string"},{"description":"The start index of the variations to return (defaults to 0).","format":"int32","in":"query","name":"start","type":"integer"},{"description":"The maximum number of variations to return (defaults to 25).","format":"int32","in":"query","name":"count","type":"integer"},{"description":"A selector that specifies the fields to return in the variations document.","in":"query","name":"select","type":"string"},{"description":"The valid expands are {price,availability}","in":"query","items":{"type":"string"},"name":"expand","type":"array"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/variants"}},"400":{"description":"`ProductNotMasterException` - Indicates that the given product is not a variation master."},"404":{"description":"`ProductNotFoundException` - Indicates the master product is not found."}},"security":[{"oauth2_application":[]}],"tags":["products"]}},"/products/{master_product_id}/variations/{id}":{"delete":{"description":"Unassign a variation product from a product master. The variation product is not deleted: it remains as a\n normal product after unsassign.","operationId":"deleteProductsByIDVariationsByID","parameters":[{"in":"path","minLength":1,"name":"master_product_id","required":true,"type":"string"},{"in":"path","minLength":1,"name":"id","required":true,"type":"string"}],"responses":{"400":{"description":"`ProductIsNotVariationException` - Indicates product specified is not a variation. or `ProductNotMasterException` - Indicates the master product id does not represent a master product."},"204":{"description":""},"404":{"description":"`ProductNotFoundException` - Indicates either the master product or the variation product cannot be found. or `VariationNotFoundException` - Indicates the product does not belong to the master product."}},"security":[{"oauth2_application":[]}],"tags":["products"]},"get":{"description":"Read a variation for a product master.","operationId":"getProductsByIDVariationsByID","parameters":[{"description":"The id of the master product that contains the variation.","in":"path","minLength":1,"name":"master_product_id","required":true,"type":"string"},{"description":"The id of the variation product.","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"in":"query","name":"site_id","type":"string"},{"description":"The valid expands are {variation,attributes,availability,prices}","in":"query","items":{"type":"string"},"name":"expand","type":"array"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/variant"}},"400":{"description":"`ProductIsNotVariationException` - Indicates the product specified is not a variation. or `ProductNotMasterException` - Indicates the master product id does not represent a master product."},"404":{"description":"`ProductNotFoundException` - Indicates either the master product or the variation product cannot be found. or `VariationNotFoundException` - Indicates the product does not belong to the master product."}},"security":[{"oauth2_application":[]}],"tags":["products"]},"patch":{"description":"Update a variation for a product master.","operationId":"patchProductsByIDVariationsByID","parameters":[{"description":"The id of the master product that contains the variation.","in":"path","minLength":1,"name":"master_product_id","required":true,"type":"string"},{"description":"The id of the variation product.","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/variant"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/variant"}},"400":{"description":"`ProductIsNotVariationException` - Indicates product specified is not a variation. or `ProductNotMasterException` - Indicates the master product id does not represent a master product. or `VariationValueNotValidException` - Indicates the values passed are not valid for the variation attributes."},"404":{"description":"`ProductNotFoundException` - Indicates either the master product or the variation product cannot be found. or `VariationNotFoundException` - Indicates the product does not belong to the master product."}},"security":[{"oauth2_application":[]}],"tags":["products"]},"put":{"description":"Assign a variation for a product master. If the variation product does not initially exist,\n one is created using the body passed in.","operationId":"putProductsByIDVariationsByID","parameters":[{"description":"The id of the master product that contains the variation.","in":"path","minLength":1,"name":"master_product_id","required":true,"type":"string"},{"description":"The id of the variation product.","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/variant"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/variant"}},"400":{"description":"`ProductNotMasterException` - Indicates the master product id does not represent a master product. or `VariationValueNotValidException` - Indicates the values passed are not valid for the variation attributes."},"404":{"description":"`ProductNotFoundException` - Indicates either the master product or the variation product cannot be found. or `VariationAttributeValueNotFoundException` - Indicates the value passed into a variation attribute is not one found in the valid values."}},"security":[{"oauth2_application":[]}],"tags":["products"]}},"/products/{product_id}/product_options":{"get":{"description":"Read local and shared product options of a product.","operationId":"getProductsByIDProductOptions","parameters":[{"description":"The id of the product.","in":"path","minLength":1,"name":"product_id","required":true,"type":"string"},{"description":"Optional start index for retrieving the items from a given index (default 0).","format":"int32","in":"query","name":"start","type":"integer"},{"description":"Optional count for retrieving only a subset of the items (default is 25).","format":"int32","in":"query","name":"count","type":"integer"},{"description":"The property selector.","in":"query","name":"select","type":"string"},{"description":"The currency mnemonic for retrieving the product option values according to the sorting mode.ex:'USD'","in":"query","name":"currency","type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/product_options"}},"404":{"description":"`ProductNotFoundException` - Indicates the product is not found."}},"security":[{"oauth2_application":[]}],"tags":["products"]}},"/products/{product_id}/product_options/{id}":{"delete":{"description":"Deletes a local product option or unbinds a shared product option from the product.","operationId":"deleteProductsByIDProductOptionsByID","parameters":[{"description":"The id of the product.","in":"path","minLength":1,"name":"product_id","required":true,"type":"string"},{"description":"The id of the local or shared product option.","in":"path","name":"id","required":true,"type":"string"}],"responses":{"204":{"description":""},"404":{"description":"`ProductNotFoundException` - Indicates the product is not found. or `ProductOptionNotFoundException` - Indicates the local or shared product option is not found."}},"security":[{"oauth2_application":[]}],"tags":["products"]},"get":{"description":"Read a local or shared product option of a product.","operationId":"getProductsByIDProductOptionsByID","parameters":[{"description":"The id of the product.","in":"path","minLength":1,"name":"product_id","required":true,"type":"string"},{"description":"The id of the local or shared product option.","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"description":"The currency mnemonic for retrieving the product option values according to the sorting mode.ex:'USD'","in":"query","name":"currency","type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/product_option"}},"404":{"description":"`ProductNotFoundException` - Indicates the product is not found. or `ProductOptionNotFoundException` - Indicates the local or shared product option is not found."}},"security":[{"oauth2_application":[]}],"tags":["products"]},"patch":{"description":"Updates a local product option with the information provided.","operationId":"patchProductsByIDProductOptionsByID","parameters":[{"description":"The id of the product.","in":"path","minLength":1,"name":"product_id","required":true,"type":"string"},{"description":"The id of the local product option.","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/product_option"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/product_option"}},"400":{"description":"`ProductOptionUpdateException` - Indicates the shared product option cannot be updated."},"404":{"description":"`ProductNotFoundException` - Indicates the product is not found. or `ProductOptionNotFoundException` - Indicates the local product option is not found."}},"security":[{"oauth2_application":[]}],"tags":["products"]},"put":{"description":"Creates a local product option using the information provided or binds a shared product option to the product.","operationId":"putProductsByIDProductOptionsByID","parameters":[{"description":"The id of the product.","in":"path","minLength":1,"name":"product_id","required":true,"type":"string"},{"description":"The id of the local or shared product option.","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/product_option"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/product_option"}},"400":{"description":"`ProductOptionCreateException` - Indicates the local product option cannot be created for a product of type variation group."},"404":{"description":"`ProductNotFoundException` - Indicates the product is not found."}},"security":[{"oauth2_application":[]}],"tags":["products"]}},"/products/{product_id}/product_options/{option_id}/values":{"get":{"description":"Read local product option values of a local product option in a product.","operationId":"getProductsByIDProductOptionsByIDValues","parameters":[{"description":"The id of the product.","in":"path","minLength":1,"name":"product_id","required":true,"type":"string"},{"description":"The id of the local product option.","in":"path","minLength":1,"name":"option_id","required":true,"type":"string"},{"description":"Optional start index for retrieving the items from a given index (default 0).","format":"int32","in":"query","name":"start","type":"integer"},{"description":"Optional count for retrieving only a subset of the items (default is 25).","format":"int32","in":"query","name":"count","type":"integer"},{"description":"The property selector.","in":"query","name":"select","type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/product_option_values"}},"404":{"description":"`ProductNotFoundException` - Indicates the product is not found. or `ProductOptionNotFoundException` - Indicates the local product option is not found."}},"security":[{"oauth2_application":[]}],"tags":["products"]}},"/products/{product_id}/product_options/{option_id}/values/{id}":{"delete":{"description":"Deletes a local product option value by ID.","operationId":"deleteProductsByIDProductOptionsByIDValuesByID","parameters":[{"description":"The id of the product.","in":"path","minLength":1,"name":"product_id","required":true,"type":"string"},{"description":"The id of the local product option.","in":"path","minLength":1,"name":"option_id","required":true,"type":"string"},{"description":"The id of the local product option value.","in":"path","name":"id","required":true,"type":"string"}],"responses":{"204":{"description":""},"404":{"description":"`ProductNotFoundException` - Indicates the product is not found. or `ProductOptionNotFoundException` - Indicates the local product option is not found. or `ProductOptionValueNotFoundException` - Indicates the local product option value is not found."}},"security":[{"oauth2_application":[]}],"tags":["products"]},"get":{"description":"Read a local product option value of a local product option in a product.","operationId":"getProductsByIDProductOptionsByIDValuesByID","parameters":[{"description":"The id of the product.","in":"path","minLength":1,"name":"product_id","required":true,"type":"string"},{"description":"The id of the local product option.","in":"path","minLength":1,"name":"option_id","required":true,"type":"string"},{"description":"the id of local product option value.","in":"path","minLength":1,"name":"id","required":true,"type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/product_option_value"}},"404":{"description":"`ProductNotFoundException` - Indicates the product is not found. or `ProductOptionNotFoundException` - Indicates the local product option is not found. or `ProductOptionValueNotFoundException` - Indicates the local product option value is not found."}},"security":[{"oauth2_application":[]}],"tags":["products"]},"patch":{"description":"Updates a local product option value with the information provided.","operationId":"patchProductsByIDProductOptionsByIDValuesByID","parameters":[{"description":"The id of the product.","in":"path","minLength":1,"name":"product_id","required":true,"type":"string"},{"description":"The id of the local product option.","in":"path","minLength":1,"name":"option_id","required":true,"type":"string"},{"description":"The id of the local product option value.","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/product_option_value"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/product_option_value"}},"404":{"description":"`ProductNotFoundException` - Indicates the product is not found. or `ProductOptionNotFoundException` - Indicates the local product option is not found. or `ProductOptionValueNotFoundException` - Indicates the local product option value is not found."}},"security":[{"oauth2_application":[]}],"tags":["products"]},"put":{"description":"Creates a local product option value using the information provided.","operationId":"putProductsByIDProductOptionsByIDValuesByID","parameters":[{"description":"The id of the product.","in":"path","minLength":1,"name":"product_id","required":true,"type":"string"},{"description":"The id of the local product option.","in":"path","minLength":1,"name":"option_id","required":true,"type":"string"},{"description":"The id of the local product option value.","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/product_option_value"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/product_option_value"}},"404":{"description":"`ProductNotFoundException` - Indicates the product is not found. or `ProductOptionNotFoundException` - Indicates the local product option is not found."}},"security":[{"oauth2_application":[]}],"tags":["products"]}},"/products/{product_id}/variation_attributes":{"get":{"description":"Reads variation attributes of a product of type variant or variation master or variation group.","operationId":"getProductsByIDVariationAttributes","parameters":[{"description":"The product ID of a variant or a variation master or a variation group.","in":"path","minLength":1,"name":"product_id","required":true,"type":"string"},{"format":"int32","in":"query","name":"start","type":"integer"},{"format":"int32","in":"query","name":"count","type":"integer"},{"in":"query","name":"select","type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/variation_attributes"}},"404":{"description":"`ProductNotFoundException` - Indicates the product is not found."}},"security":[{"oauth2_application":[]}],"tags":["products"]}},"/products/{product_id}/variation_attributes/{attribute_id}/values":{"get":{"description":"Reads variation attribute values of a variation attribute bound to a product.","operationId":"getProductsByIDVariationAttributesByIDValues","parameters":[{"description":"id of the product","in":"path","minLength":1,"name":"product_id","required":true,"type":"string"},{"description":"The variation attribute ID that contains the values.","in":"path","minLength":1,"name":"attribute_id","required":true,"type":"string"},{"in":"query","name":"site_id","type":"string"},{"description":"the first record to get in the page","format":"int32","in":"query","name":"start","type":"integer"},{"description":"the number of records to get","format":"int32","in":"query","name":"count","type":"integer"},{"description":"a string that specifies which fields to return (default is all).","in":"query","name":"select","type":"string"},{"description":"set of expands to retrieve additional information: {availability, image}","in":"query","items":{"type":"string"},"name":"expand","type":"array"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/variation_attribute_values"}},"400":{"description":"`ProductNotMasterException` - Indicates the master product is not found."},"404":{"description":"`ProductNotFoundException` - Indicates the product is not found. or `VariationAttributeNotFoundException` - If the attribute id specified is not a valid product attribute."}},"security":[{"oauth2_application":[]}],"tags":["products"]}},"/products/{product_id}/variation_attributes/{attribute_id}/values/{id}":{"delete":{"description":"Deletes the variation attribute value of a variation attribute bound to a master product","operationId":"deleteProductsByIDVariationAttributesByIDValuesByID","parameters":[{"description":"The id of the product.","in":"path","minLength":1,"name":"product_id","required":true,"type":"string"},{"description":"The id of the variation attribute that contains the value.","in":"path","minLength":1,"name":"attribute_id","required":true,"type":"string"},{"description":"The id of one value to remove","in":"path","name":"id","required":true,"type":"string"}],"responses":{"204":{"description":""},"404":{"description":"`ProductNotFoundException` - If the product id specified cannot be found. or `VariationAttributeNotFoundException` - If the attribute id specified is not a valid product attribute. or `VariationAttributeValueNotFoundException` - If the value id specified is not a valid value id."}},"security":[{"oauth2_application":[]}],"tags":["products"]},"get":{"description":"Action to get product variation attribute value information.","operationId":"getProductsByIDVariationAttributesByIDValuesByID","parameters":[{"description":"The master product ID.","in":"path","minLength":1,"name":"product_id","required":true,"type":"string"},{"description":"The variation attribute custom ID","in":"path","minLength":1,"name":"attribute_id","required":true,"type":"string"},{"description":"The id of the variation attribute value","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"description":"The site context.","in":"query","name":"site_id","type":"string"},{"description":"set of expands to retrieve additional information: {availability, image}","in":"query","items":{"type":"string"},"name":"expand","type":"array"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/variation_attribute_value"}},"400":{"description":"`ProductNotMasterException` - Indicates the master product is not found."},"404":{"description":"`ProductNotFoundException` - Indicates the product is not found. or `VariationAttributeValueNotFoundException` - If the value id specified is not a valid value id."}},"security":[{"oauth2_application":[]}],"tags":["products"]},"patch":{"description":"Updates the variation attribute value of a variation attribute of a master product.","operationId":"patchProductsByIDVariationAttributesByIDValuesByID","parameters":[{"description":"The id of the product.","in":"path","minLength":1,"name":"product_id","required":true,"type":"string"},{"description":"The id of the requested variation attribute.","in":"path","minLength":1,"name":"attribute_id","required":true,"type":"string"},{"description":"The id of the variation value.","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/variation_attribute_value"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/variation_attribute_value"}},"404":{"description":"`ProductNotFoundException` - If the product id specified cannot be found. or `VariationAttributeNotFoundException` - If the attribute id specified is not a valid product attribute. or `VariationAttributeValueNotFoundException` - If the value id specified is not a valid value id."}},"security":[{"oauth2_application":[]}],"tags":["products"]},"put":{"description":"Action to create a product variation attribute value.","operationId":"putProductsByIDVariationAttributesByIDValuesByID","parameters":[{"description":"The master product ID.","in":"path","minLength":1,"name":"product_id","required":true,"type":"string"},{"description":"The variation attribute ID","in":"path","minLength":1,"name":"attribute_id","required":true,"type":"string"},{"description":"The id of the variation attribute value","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/variation_attribute_value"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/variation_attribute_value"}},"400":{"description":"`ProductNotMasterException` - Indicates the master product is not found."},"404":{"description":"`ProductNotFoundException` - Indicates the product is not found. or `VariationAttributeNotFoundException` - If the attribute id specified is not a valid product attribute. or `VariationAttributeValueNotFoundException` - If the value id specified is not a valid value id."}},"security":[{"oauth2_application":[]}],"tags":["products"]}},"/products/{product_id}/variation_attributes/{id}":{"delete":{"description":"Deletes a variation attribute by ID.","operationId":"deleteProductsByIDVariationAttributesByID","parameters":[{"description":"The id of the product.","in":"path","minLength":1,"name":"product_id","required":true,"type":"string"},{"description":"One variation attribute id to remove.","in":"path","name":"id","required":true,"type":"string"}],"responses":{"400":{"description":"`ProductNotMasterException` - Indicates the master product is not found."},"204":{"description":""},"404":{"description":"`ProductNotFoundException` - Indicates the product is not found. or `VariationAttributeNotFoundException` - Indicates that the variation attribute is not found."}},"security":[{"oauth2_application":[]}],"tags":["products"]},"get":{"description":"Action to get variation attribute information only for master product.","operationId":"getProductsByIDVariationAttributesByID","parameters":[{"description":"The product ID of a variant or a variation master or a variation group.","in":"path","minLength":1,"name":"product_id","required":true,"type":"string"},{"description":"The id of the requested variation attribute.","in":"path","minLength":1,"name":"id","required":true,"type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/variation_attribute"}},"400":{"description":"`ProductNotMasterException` - Indicates the master product is not found."},"404":{"description":"`ProductNotFoundException` - Indicates the product is not found. or `VariationAttributeNotFoundException` - Indicates that the variation attribute is not found."}},"security":[{"oauth2_application":[]}],"tags":["products"]},"patch":{"description":"Updates the variation attribute with the specified information.\n\n ","operationId":"patchProductsByIDVariationAttributesByID","parameters":[{"description":"The id of the product.","in":"path","minLength":1,"name":"product_id","required":true,"type":"string"},{"description":"The id of the requested variation attribute.","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/variation_attribute"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/variation_attribute"}},"400":{"description":"`ProductNotMasterException` - Indicates the master product is not found."},"404":{"description":"`ProductNotFoundException` - Indicates the product is not found. or `VariationAttributeNotFoundException` - Indicates that the variation attribute is not found."}},"security":[{"oauth2_application":[]}],"tags":["products"]},"put":{"description":"Creates a local variation attribute using the information provided. This endpoint can't create shared variation attributes. \n To create a shared variation attribute, use the catalogs resource.","operationId":"putProductsByIDVariationAttributesByID","parameters":[{"description":"The id of the product.","in":"path","minLength":1,"name":"product_id","required":true,"type":"string"},{"description":"The id of the variation attribute to create.","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/variation_attribute"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/variation_attribute"}},"400":{"description":"`ProductNotMasterException` - Indicates the master product is not found. or `ProductVariationAttributeDefinitionNotUniqueException` - Indicates that the variation attribute definition is not unique. or `ProductVariationAttributeIDNotUniqueException` - Indicates that the variation attribute id is not unique."},"404":{"description":"`AttributeDefinitionNotFoundException` - If attribute definition supplied is not a product attribute. or `ProductNotFoundException` - Indicates the product is not found."}},"security":[{"oauth2_application":[]}],"tags":["products"]}},"/role_search":{"post":{"description":"Searches for access roles.\n

The query attribute specifies a complex query that can be used to narrow down the search. These are the list\n of searchable attributes:

\n \n

Optionally, a user ID (the user login) can be specified. When it is supplied, the search for roles is limited to the\n roles assigned to this user. When expanding the permissions for the roles, all effective permissions for this user can be retrieved.

\n\n

Optionally, a (single) permission can be specified. When it is supplied, the search for roles is limited to the\n roles having this permission. When expanding the users for the roles, all users having this permission can be retrieved.

\n\n

The output of the query can also be sorted. These are the list of sortable attributes:

\n ","operationId":"postRoleSearch","parameters":[{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/role_search_request"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/role_search_result"}},"400":{"description":"`InvalidSearchQueryException` - Throws when one of the search request restrictions is violated or `MalformedSearchParameterException` - Thrown if the query is ill-formed."}},"security":[{"oauth2_application":[]}],"tags":["role_search"]}},"/roles":{"get":{"description":"Action to get all the access roles with no filtering.","operationId":"getRoles","parameters":[{"description":"Optional start index for retrieving the items from a given index (default 0).","format":"int32","in":"query","name":"start","type":"integer"},{"description":"Optional count for retrieving only a subset of the items (default is 25).","format":"int32","in":"query","name":"count","type":"integer"},{"description":"The property selector.","in":"query","name":"select","type":"string"},{"description":"List of expansions.","in":"query","items":{"type":"string"},"name":"expand","type":"array"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/roles"}}},"security":[{"oauth2_application":[]}],"tags":["roles"]}},"/roles/{id}":{"delete":{"description":"Action to delete an access role.","operationId":"deleteRolesByID","parameters":[{"description":"The id of the access role to delete.","in":"path","minLength":1,"name":"id","required":true,"type":"string"}],"responses":{"204":{"description":""},"403":{"description":"`RoleOperationNotAllowedException` - Thrown if deletion of the given role is not allowed"},"404":{"description":"`RoleNotFoundException` - Thrown if the given role does not exist"}},"security":[{"oauth2_application":[]}],"tags":["roles"]},"get":{"description":"Action to get a single access role.","operationId":"getRolesByID","parameters":[{"description":"The id of the requested access role.","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"description":"The list of expansions.","in":"query","items":{"type":"string"},"name":"expand","type":"array"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/role"}},"404":{"description":"`RoleNotFoundException` - Thrown if the access role with the given id does not exist."}},"security":[{"oauth2_application":[]}],"tags":["roles"]},"put":{"description":"Action to create an access role.","operationId":"putRolesByID","parameters":[{"description":"The id of the access role to create.","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/role"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/role"}},"400":{"description":"`IdConflictException` - Thrown when id in query parameter is different from the id in the body."},"403":{"description":"`RoleOperationNotAllowedException` - Thrown when an access role with the id \"Support\" or \"Business Support\" should be created."},"409":{"description":"`RoleAlreadyExistsException` - Thrown when an access role with the given id already exists."}},"security":[{"oauth2_application":[]}],"tags":["roles"]}},"/roles/{id}/permissions":{"get":{"description":"Retrieves a list of permissions assigned to the given role.","operationId":"getRolesByIDPermissions","parameters":[{"description":"The id of the requested access role.","in":"path","minLength":1,"name":"id","required":true,"type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/role_permissions"}},"404":{"description":"`RoleNotFoundException` - If the specified access role does not exist."}},"security":[{"oauth2_application":[]}],"tags":["roles"]},"put":{"description":"Assigns permissions to the given role. This will replace the current permission assignments. For the 'Administrator'\n role only adjustments for custom module permissions will be processed but other given permissions will be ignored.","operationId":"putRolesByIDPermissions","parameters":[{"description":"The id of the access role for which the permissions will be set.","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/role_permissions"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/role_permissions"}},"400":{"description":"`DefaultLocalePermissionMissingException` - If no permission for the 'default' locale is given (permission for 'default' locale is mandatory). or `DuplicatePermissionException` - If a permission is listed more than once within a scope. or `InvalidPermissionTypeException` - If the type of a given permission does not match the expected type. or `InvalidPermissionValueException` - If a permission value is given that is either unknown or not supported for a certain permission. or `InvalidPermissionValueScopeException` - If values are given permission multi values are used where only single values are support or vice versa (e.g. setting 'values' attribute of ModulePermissionWO in organization scope). or `SystemFlagMissingException` - If the 'system' flag is not set for a module permission. or `UnknownPermissionException` - If the id of a given permission could not be resolved to a permission. or `UnknownSiteIdException` - If a site specific permission is given for a site that is not known."},"404":{"description":"`RoleNotFoundException` - If the specified access role does not exist."},"409":{"description":"`ResourceStateConflictException` - In case of state token conflicts."}},"security":[{"oauth2_application":[]}],"tags":["roles"]}},"/roles/{id}/user_search":{"post":{"description":"Searches for users of the specified access role.\n

The query attribute specifies a complex query that can be used to narrow down the search. These are the list\n of searchable attributes:

\n \n\n

The output of the query can also be sorted. These are the list of sortable attributes:

\n ","operationId":"postRolesByIDUserSearch","parameters":[{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/search_request"}},{"in":"path","minLength":1,"name":"id","required":true,"type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/user_search_result"}},"400":{"description":"`MalformedSearchParameterException` - Thrown if the query is ill-formed."},"404":{"description":"`RoleNotFoundException` - If the specified access role does not exist."}},"security":[{"oauth2_application":[]}],"tags":["roles"]}},"/roles/{id}/users":{"get":{"description":"Action to get all the users assigned to the specified access role.","operationId":"getRolesByIDUsers","parameters":[{"description":"ID of the access role.","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"description":"Optional start index for retrieving the items from a given index (default 0).","format":"int32","in":"query","name":"start","type":"integer"},{"description":"Optional count for retrieving only a subset of the items (default is 25).","format":"int32","in":"query","name":"count","type":"integer"},{"description":"The property selector.","in":"query","name":"select","type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/users"}},"404":{"description":"`RoleNotFoundException` - Thrown if the access role with the given id does not exist."}},"security":[{"oauth2_application":[]}],"tags":["roles"]}},"/roles/{id}/users/{login}":{"delete":{"description":"Action to unassign a user to an access role","operationId":"deleteRolesByIDUsersByID","parameters":[{"description":"ID of the access role.","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"description":"Login of the user.","in":"path","minLength":1,"name":"login","required":true,"type":"string"}],"responses":{"204":{"description":""},"403":{"description":"`UserOperationNotAllowedException` - Thrown if the admin user is unassigned from the Administrator role."},"404":{"description":"`RoleNotFoundException` - Thrown if the access role with the given id does not exist. or `UserNotFoundException` - Thrown if a user with the given login does not exist."}},"security":[{"oauth2_application":[]}],"tags":["roles"]},"put":{"description":"Action to assign a user to an access role","operationId":"putRolesByIDUsersByID","parameters":[{"description":"ID of the access role.","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"description":"Login of the user.","in":"path","minLength":1,"name":"login","required":true,"type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/user"}},"400":{"description":"`InvalidRoleException` - Thrown if the access role with the given id does not exist. or `InvalidUserLoginException` - Thrown if a user with the given login does not exist."},"403":{"description":"`UserOperationNotAllowedException` - Thrown if the operation is not allowed."}},"security":[{"oauth2_application":[]}],"tags":["roles"]}},"/settings/logging/custom":{"get":{"description":"Action to get custom log settings.","operationId":"getSettingsLoggingCustom","responses":{"default":{"description":"","schema":{"$ref":"#/definitions/custom_log_settings"}}},"security":[{"oauth2_application":[]}],"tags":["settings"]},"patch":{"description":"Updates the custom log settings.","operationId":"patchSettingsLoggingCustom","parameters":[{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/custom_log_settings"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/custom_log_settings"}},"400":{"description":"`InvalidCustomLogCategoryException` - if one of the categories names are invalid. or `InvalidLogLevelException` - if on a production instance the configured level is DEBUG. or `InvalidRecipientEmailException` - if the email addresses are invalid."}},"security":[{"oauth2_application":[]}],"tags":["settings"]}},"/site_preferences/preference_groups/{group_id}/{instance_type}/preference_search":{"post":{"description":"

Search preferences across sites in the specified preference group and instance.

\n

\n

The query attribute specifies a complex query that can be used to narrow down the search.

\n\n

The following is a list of searchable fields:

\n\n \n\n

* value_type can only be joined with other attributes using a conjunction (AND).

\n

Note that only searchable attributes can be used in sorting.

\n\n

Note: If instance type sandbox is used, the preference values of development instance type will be returned as fallback.

","operationId":"postSitePreferencesPreferenceGroupsByIDByIDPreferenceSearch","parameters":[{"description":"An instance type, one of {staging,development,sandbox,production}.","in":"path","name":"instance_type","required":true,"type":"string"},{"description":"The ID of the preference group.","in":"path","name":"group_id","required":true,"type":"string"},{"description":"The preference values of type Password are masked when set.","in":"query","name":"mask_passwords","type":"boolean"},{"description":"The expand \"value\" is available to retrieve value definitions of the attribute definition.","in":"query","items":{"type":"string"},"name":"expand","type":"array"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/search_request"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/preference_value_search_result"}},"400":{"description":"`MalformedSearchParameterException` - Indicates the query is ill-formed."},"404":{"description":"`CustomPreferenceGroupNotFoundException` - Indicates the preference group is not found."}},"security":[{"oauth2_application":[]}],"tags":["site_preferences"]}},"/site_preferences/preference_groups/{group_id}/{instance_type}/preferences/{preference_id}":{"get":{"description":"Get a preference across sites in the specified preference group and instance.\n\n

Note: If instance type sandbox is used, the preference values of development instance type will be returned as fallback.

","operationId":"getSitePreferencesPreferenceGroupsByIDByIDPreferencesByID","parameters":[{"description":"An instance type, one of {staging,development,sandbox,production}.","in":"path","name":"instance_type","required":true,"type":"string"},{"description":"The ID of the preference group.","in":"path","name":"group_id","required":true,"type":"string"},{"description":"The ID of the preference to retrieve.","in":"path","minLength":1,"name":"preference_id","required":true,"type":"string"},{"description":"The preference values of type Password are masked when set.","in":"query","name":"mask_passwords","type":"boolean"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/preference_value"}},"404":{"description":"`CustomPreferenceGroupNotFoundException` - Indicates the preference group is not found. or `PreferenceNotFoundException` - Indicates the preference is not found."}},"security":[{"oauth2_application":[]}],"tags":["site_preferences"]}},"/site_search":{"post":{"description":"

Searches for sites.

\n \n

The query attribute specifies a complex query that can be used to narrow down the search. These are the list\n of searchable attributes:

\n \n\n

The output of the query can also be sorted. These are the list of sortable attributes:

\n ","operationId":"postSiteSearch","parameters":[{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/search_request"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/site_search_result"}},"400":{"description":"`EnumConstraintViolationException` - Thrown if the invalid value is entered for access_type or `MalformedSearchParameterException` - Thrown if the query is ill-formed."}},"security":[{"oauth2_application":[]}],"tags":["site_search"]}},"/sites":{"get":{"description":"Action to get all existing sites.","operationId":"getSites","parameters":[{"description":"Optional start index for retrieving the items from a given index (default 0).","format":"int32","in":"query","name":"start","type":"integer"},{"description":"Optional count for retrieving only a subset of the items (default is 25).","format":"int32","in":"query","name":"count","type":"integer"},{"description":"The property selector.","in":"query","name":"select","type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/sites"}}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}":{"get":{"description":"Action to read an existing site.","operationId":"getSitesByID","parameters":[{"description":"the id of the site","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/site"}}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}/ab_test_search":{"post":{"description":"

Searches for A/B Tests.

The query attribute specifies a complex query that can be used to narrow down the search. This is the list of searchable attributes:

These fields can only be used in Queries as conjunctions (using AND). If the field is used in a disjunction (OR) an exception will be thrown.

The output of the query can also be sorted. These are the list of sortable attributes:

","operationId":"postSitesByIDAbTestSearch","parameters":[{"description":"ID of the site that the A/B tests are contained within.","in":"path","maxLength":256,"minLength":1,"name":"site_id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/search_request"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/ab_test_search_result"}},"404":{"description":"`SiteNotFoundException` - Indicates that site specified with the given id is unknown."}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}/ab_tests":{"get":{"description":"Action to get all the A/B tests with searching.","operationId":"getSitesByIDAbTests","parameters":[{"description":"ID of the site that the A/B tests are contained within.","in":"path","maxLength":256,"minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"Optional start index for retrieving the items from a given index (default 0).","format":"int32","in":"query","minimum":0,"name":"start","type":"integer"},{"description":"Optional count for retrieving only a subset of the items (default is 25).","format":"int32","in":"query","minimum":0,"name":"count","type":"integer"},{"description":"The property selector.","in":"query","name":"select","type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/ab_tests"}}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}/ab_tests/{ab_test_id}/segments/{segment_id}/promotions/{promotion_id}":{"delete":{"description":"Action to unbind one promotions from a given abTest.","operationId":"deleteSitesByIDAbTestsByIDSegmentsByIDPromotionsByID","parameters":[{"in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The abTest ID that promotions are to be unbound from","in":"path","minLength":1,"name":"ab_test_id","required":true,"type":"string"},{"description":"the segment to bind to","in":"path","minLength":1,"name":"segment_id","required":true,"type":"string"},{"description":"The ID of the promotion that is to be assigned to the abTest.","in":"path","minLength":1,"name":"promotion_id","required":true,"type":"string"}],"responses":{"204":{"description":""},"404":{"description":"`ABTestNotFoundException` - Indicates that the abTest with the given abTest ID is not found. or `ABTestSegmentNotFoundException` - thrown when the segment with the given id is not found. or `PromotionNotFoundException` - thrown when promotion is not found for one of the specified promotion ids. or `SiteNotFoundException` - thrown when the site with the given id is not found."}},"security":[{"oauth2_application":[]}],"tags":["sites"]},"put":{"description":"Action to bind a single promotion to a given abTest.","operationId":"putSitesByIDAbTestsByIDSegmentsByIDPromotionsByID","parameters":[{"description":"The ID of the site that contains the abTest and promotion.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The ID of the abTest which contains the segment.","in":"path","minLength":1,"name":"ab_test_id","required":true,"type":"string"},{"description":"The ID of the segment to to which the promotion is to be assigned.","in":"path","minLength":1,"name":"segment_id","required":true,"type":"string"},{"description":"The ID of the promotion that is to be assigned to the abTest.","in":"path","minLength":1,"name":"promotion_id","required":true,"type":"string"}],"responses":{"204":{"description":""},"404":{"description":"`ABTestNotFoundException` - Indicates that the abTest with the given abTest ID is not found. or `ABTestSegmentNotFoundException` - thrown when the segment with the given id is not found. or `PromotionNotFoundException` - Indicates that the promotion with the given promotion ID is not found. or `SiteNotFoundException` - thrown when the site with the given id is not found."}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}/ab_tests/{ab_test_id}/segments/{segment_id}/slot_configurations/{slot_id}/{slot_config_id}":{"delete":{"description":"Action to unbind a slot configuration from a given abTest.","operationId":"deleteSitesByIDAbTestsByIDSegmentsByIDSlotConfigurationsByIDByID","parameters":[{"description":"The id of the abTest","in":"path","minLength":1,"name":"ab_test_id","required":true,"type":"string"},{"in":"path","minLength":1,"name":"segment_id","required":true,"type":"string"},{"description":"The id of the site","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The of the slot","in":"path","minLength":1,"name":"slot_id","required":true,"type":"string"},{"description":"The id of the slot configuration","in":"path","minLength":1,"name":"slot_config_id","required":true,"type":"string"},{"description":"The context string, which consists of three parts: the context type (which must be folder,\n category or global), an equals sign (=), and the context id (either the category id or folder id).","in":"query","minLength":1,"name":"context","type":"string"}],"responses":{"400":{"description":"`InvalidContextTypeException` - Indicates the slot context type is not one of \"global\", \"category\", or \"folder\""},"204":{"description":""},"404":{"description":"`ABTestNotFoundException` - Indicates that the abTest with the given abTest ID is not found. or `ABTestSegmentNotFoundException` - thrown when the segment with the given id is not found. or `SiteNotFoundException` - thrown when the site with the given id is not found. or `SlotConfigurationIdentifierNotFoundException` - Indicates that the slot with the given slot ID, slot configuration ID and context type is not found. or `SlotWithContextTypeNotFoundException` - Indicates that the slot with the given slot ID and context type is not found."}},"security":[{"oauth2_application":[]}],"tags":["sites"]},"put":{"description":"Action to bind a slot configuration to a given abTest.","operationId":"putSitesByIDAbTestsByIDSegmentsByIDSlotConfigurationsByIDByID","parameters":[{"description":"The id of the abTest","in":"path","minLength":1,"name":"ab_test_id","required":true,"type":"string"},{"in":"path","minLength":1,"name":"segment_id","required":true,"type":"string"},{"description":"The id of the site","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The of the slot","in":"path","minLength":1,"name":"slot_id","required":true,"type":"string"},{"description":"The id of the slot configuration","in":"path","minLength":1,"name":"slot_config_id","required":true,"type":"string"},{"description":"The context string, which consists of three parts: the context type (which must be folder,\n category or global), an equals sign (=), and the context id (either the category id or folder id).\n If you do not set this query parameter, the global context is used by default.","in":"query","minLength":1,"name":"context","type":"string"}],"responses":{"400":{"description":"`InvalidContextTypeException` - Indicates the slot context type is not one of \"global\", \"category\", or \"folder\""},"204":{"description":""},"404":{"description":"`ABTestNotFoundException` - Indicates that the abTest with the given abTest ID is not found. or `ABTestSegmentNotFoundException` - thrown when the segment with the given id is not found. or `SiteNotFoundException` - thrown when the site with the given id is not found. or `SlotConfigurationIdentifierNotFoundException` - Indicates that the slot with the given slot ID, slot configuration ID and context type is not found. or `SlotWithContextTypeNotFoundException` - Indicates that the slot with the given slot ID and context type is not found."}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}/ab_tests/{ab_test_id}/segments/{segment_id}/sorting_rules/{sorting_rule_id}/{category_id}":{"delete":{"description":"Action to unbind a single sorting rule from a given abTest.","operationId":"deleteSitesByIDAbTestsByIDSegmentsByIDSortingRulesByIDByID","parameters":[{"description":"The ID of the site that contains the abTest, sorting rule and category.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The ID of the abTest to which the sorting rule is to be assigned.","in":"path","minLength":1,"name":"ab_test_id","required":true,"type":"string"},{"in":"path","minLength":1,"name":"segment_id","required":true,"type":"string"},{"description":"The ID of sorting rule that is to be assigned to the abTest.","in":"path","minLength":1,"name":"sorting_rule_id","required":true,"type":"string"},{"description":"The ID of the category that is associated with the sorting rule.","in":"path","minLength":1,"name":"category_id","required":true,"type":"string"},{"description":"the optional context of the sorting rule, either \"site\" (default) or \"global\"","in":"query","name":"rule_context","type":"string"}],"responses":{"400":{"description":"`InvalidCategoryException` - Indicates that the category with the given category ID is not found."},"204":{"description":""},"404":{"description":"`ABTestNotFoundException` - Indicates that the abTest with the given abTest ID is not found. or `ABTestSegmentNotFoundException` - thrown when the segment with the given id is not found. or `SiteNotFoundException` - thrown when the site with the given id is not found. or `SortingRuleNotFoundException` - Indicates that the sorting rule with the given sorting rule ID is not found."}},"security":[{"oauth2_application":[]}],"tags":["sites"]},"put":{"description":"Action to bind a single sorting rule to a given abTest.","operationId":"putSitesByIDAbTestsByIDSegmentsByIDSortingRulesByIDByID","parameters":[{"description":"The ID of the site that contains the abTest, sorting rule and category.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The ID of the abTest to which the sorting rule is to be assigned.","in":"path","minLength":1,"name":"ab_test_id","required":true,"type":"string"},{"in":"path","minLength":1,"name":"segment_id","required":true,"type":"string"},{"description":"The ID of sorting rule that is to be assigned to the abTest.","in":"path","minLength":1,"name":"sorting_rule_id","required":true,"type":"string"},{"description":"The ID of the category that is associated with the sorting rule.","in":"path","minLength":1,"name":"category_id","required":true,"type":"string"},{"description":"the optional context of the sorting rule, either \"site\" (default) or \"global\"","in":"query","name":"rule_context","type":"string"}],"responses":{"400":{"description":"`InvalidCategoryException` - Indicates that the category with the given category ID is not found."},"204":{"description":""},"404":{"description":"`ABTestNotFoundException` - Indicates that the abTest with the given abTest ID is not found. or `ABTestSegmentNotFoundException` - thrown when the segment with the given id is not found. or `SiteNotFoundException` - thrown when the site with the given id is not found. or `SortingRuleNotFoundException` - Indicates that the sorting rule with the given sorting rule ID is not found."},"409":{"description":"`SortingRuleCampaignAssignConflictException` - Indicates that there is a sorting rule already assigned to the given abTest ID and category ID.\n The sorting rule with the given sorting rule ID cannot be assigned to the same abTest ID and category ID."}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}/ab_tests/{id}":{"delete":{"description":"Deletes the A/B Test by ID","operationId":"deleteSitesByIDAbTestsByID","parameters":[{"description":"ID of the site that the A/B tests are contained within.","in":"path","maxLength":256,"minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The id of the requested A/B Test.","in":"path","minLength":1,"name":"id","required":true,"type":"string"}],"responses":{"204":{"description":""},"404":{"description":"`SiteNotFoundException` - Indicates that site specified with the given id is unknown. or `ABTestNotFoundException` - Thrown in case the A/B Test does not exist matching the given id"}},"security":[{"oauth2_application":[]}],"tags":["sites"]},"get":{"description":"Action to get an A/B Test information.","operationId":"getSitesByIDAbTestsByID","parameters":[{"description":"ID of the site that the A/B tests are contained within.","in":"path","maxLength":256,"minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The id of the requested A/B Test.","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"description":"The expand parameter. A comma separated list with the allowed values (stats, promotions, sorting_rules, slot_configs)","in":"query","items":{"type":"string"},"name":"expand","type":"array"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/ab_test"}},"404":{"description":"`SiteNotFoundException` - Indicates that site specified with the given id is unknown. or `ABTestNotFoundException` - Thrown in case the A/B Test does not exist matching the given id"}},"security":[{"oauth2_application":[]}],"tags":["sites"]},"patch":{"description":"Updates the A/B Test with the specified information.","operationId":"patchSitesByIDAbTestsByID","parameters":[{"description":"ID of the site that the A/B tests are contained within.","in":"path","maxLength":256,"minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The id of the requested A/B Test.","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/ab_test"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/ab_test"}},"400":{"description":"`ABTestInvalidEmailException` - Thrown if an invalid email is specified. or `ABTestInvalidPipelineException` - Thrown if an invalid pipeline is specified. or `ABTestInvalidTriggerException` - Thrown if there is missing pipline_call or categories in the specified trigger of type pipeline_call or category_view_page respectively."},"404":{"description":"`SiteNotFoundException` - Indicates that site specified with the given id is unknown. or `ABTestNotFoundException` - Thrown in case the A/B Test does not exist matching the given id"},"409":{"description":"`ABTestDuplicateException` - Thrown if an A/B Test exists already in the site with the given identifier specified in the body that is different from the identifier in the path."}},"security":[{"oauth2_application":[]}],"tags":["sites"]},"put":{"description":"Creates an A/B Test using the information provided. If an A/B Test with the same unique identifier exists, it will be deleted and a new one will be created unless the header x-dw-validate-existing=true is passed in with the request.","operationId":"putSitesByIDAbTestsByID","parameters":[{"description":"ID of the site that the A/B tests are contained within.","in":"path","maxLength":256,"minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The id of the requested A/B Test.","in":"path","maxLength":40,"minLength":1,"name":"id","required":true,"type":"string"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/ab_test"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/ab_test"}},"400":{"description":"`ABTestInvalidEmailException` - Thrown if an invalid email is specified. or `ABTestInvalidPipelineException` - Thrown if an invalid pipeline is specified. or `ABTestInvalidTriggerException` - Thrown if there is missing pipline_call or categories in the specified trigger of type pipeline_call or category_view_page respectively."},"404":{"description":"`SiteNotFoundException` - Indicates that site specified with the given id is unknown. or `ABTestNotFoundException` - Thrown in case the A/B Test does not exist matching the given id"},"409":{"description":"`ABTestDuplicateException` - If an A/B Test exists already in the site with the given identifier and the header\nx-dw-validate-existing=true is passed in with the request."}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}/ab_tests/{id}/segments/{segment_id}":{"delete":{"description":"Deletes the A/B Test Segment by ID","operationId":"deleteSitesByIDAbTestsByIDSegmentsByID","parameters":[{"description":"ID of the site that the A/B tests are contained within.","in":"path","maxLength":256,"minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The id of the requested A/B Test.","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"description":"The id of the segment in the test.","in":"path","minLength":1,"name":"segment_id","required":true,"type":"string"}],"responses":{"204":{"description":""},"404":{"description":"`SiteNotFoundException` - Indicates that site specified with the given id is unknown. or `ABTestNotFoundException` - Thrown in case the A/B Test does not exist matching the given id or `ABTestSegmentNotFoundException` - Thrown if the segment cannot be found in the A/B Test provided"}},"security":[{"oauth2_application":[]}],"tags":["sites"]},"get":{"description":"Gets an A/B Test segment using the information provided.","operationId":"getSitesByIDAbTestsByIDSegmentsByID","parameters":[{"description":"ID of the site that the A/B tests are contained within.","in":"path","maxLength":256,"minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The id of the requested A/B Test.","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"description":"The id of the segment in the test.","in":"path","minLength":1,"name":"segment_id","required":true,"type":"string"},{"description":"The expand parameter. A comma separated list with the allowed values (stats, promotions, sorting_rules, slot_configs)","in":"query","items":{"type":"string"},"name":"expand","type":"array"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/ab_test_segment"}},"404":{"description":"`SiteNotFoundException` - Indicates that site specified with the given id is unknown. or `ABTestNotFoundException` - Thrown in case the A/B Test does not exist matching the given id or `ABTestSegmentNotFoundException` - Thrown if the segment cannot be found in the A/B Test provided"}},"security":[{"oauth2_application":[]}],"tags":["sites"]},"patch":{"description":"Updates the A/B Test segment with the specified information.","operationId":"patchSitesByIDAbTestsByIDSegmentsByID","parameters":[{"description":"ID of the site that the A/B tests are contained within.","in":"path","maxLength":256,"minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The id of the requested A/B Test.","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"description":"The id of the segment in the test.","in":"path","minLength":1,"name":"segment_id","required":true,"type":"string"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/ab_test_segment"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/ab_test_segment"}},"404":{"description":"`SiteNotFoundException` - Indicates that site specified with the given id is unknown. or `ABTestNotFoundException` - Thrown in case the A/B Test does not exist matching the given id or `ABTestSegmentNotFoundException` - Thrown if the segment cannot be found in the A/B Test provided"}},"security":[{"oauth2_application":[]}],"tags":["sites"]},"put":{"description":"Creates an A/B Test segment using the information provided.","operationId":"putSitesByIDAbTestsByIDSegmentsByID","parameters":[{"description":"ID of the site that the A/B tests are contained within.","in":"path","maxLength":256,"minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The id of the requested A/B Test.","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"description":"The id of the segment in the test.","in":"path","minLength":1,"name":"segment_id","required":true,"type":"string"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/ab_test_segment"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/ab_test_segment"}},"404":{"description":"`SiteNotFoundException` - Indicates that site specified with the given id is unknown. or `ABTestNotFoundException` - Thrown in case the A/B Test does not exist matching the given id or `ABTestSegmentNotFoundException` - Thrown if the segment cannot be found in the A/B Test provided"}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}/ai/recommender_names":{"get":{"description":"Get a list of available AI recommenders. Recommenders are configured in the Einstein configurator and are required with AI recommendation API requests.","operationId":"getSitesByIDAiRecommenderNames","parameters":[{"description":"Site ID to get a list of recommenders for.","in":"path","maxLength":256,"minLength":1,"name":"site_id","required":true,"type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/recommenders_result"}},"400":{"description":"`CQuotientException` - If CQuotient responds with a non-success status code."},"404":{"description":"`SiteNotFoundException` - If the given site does not exist."}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}/campaign_search":{"post":{"description":"

Searches for campaigns.

\n \n

The Campaign Search document contains a search object that allows filtering on various attributes.

\n \n\n

The query attribute specifies a complex query that can be used to narrow down the search. These are the list\n of searchable attributes:

\n \n\n

These fields can only be used in Queries as conjunctions (using AND). If the field is used in a disjunction\n (OR) an exception will be thrown.

\n\n

Note that only searchable attributes (excluding the ones marked with above with an asterisk) can be used in sorting\n Additionally start_date, end_date and last_modified cannot be used in sorting.

","operationId":"postSitesByIDCampaignSearch","parameters":[{"description":"The site context.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/search_request"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/campaign_search_result"}},"400":{"description":"`MalformedSearchParameterException` - Thrown if the query is ill-formed."}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}/campaigns/{campaign_id}":{"delete":{"description":"Deletes the campaign by ID","operationId":"deleteSitesByIDCampaignsByID","parameters":[{"description":"The site context.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"A campaign id to remove","in":"path","name":"campaign_id","required":true,"type":"string"}],"responses":{"204":{"description":""}},"security":[{"oauth2_application":[]}],"tags":["sites"]},"get":{"description":"Action to get campaign information.","operationId":"getSitesByIDCampaignsByID","parameters":[{"description":"The site the requested campaign belongs to.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The id of the requested campaign.","in":"path","minLength":1,"name":"campaign_id","required":true,"type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/campaign"}},"404":{"description":"`CampaignNotFoundException` - Thrown in case the campaign does not exist matching the given id"}},"security":[{"oauth2_application":[]}],"tags":["sites"]},"patch":{"description":"Updates the campaign with the specified information.","operationId":"patchSitesByIDCampaignsByID","parameters":[{"description":"The site context.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The id of the requested campaign.","in":"path","minLength":1,"name":"campaign_id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/campaign"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/campaign"}},"400":{"description":"`CampaignDuplicateException` - if a campaign exists already in the site with the given campaign id."},"404":{"description":"`CampaignNotFoundException` - Thrown in case the campaign does not exist matching the given id"}},"security":[{"oauth2_application":[]}],"tags":["sites"]},"put":{"description":"Creates a campaign using the information provided.","operationId":"putSitesByIDCampaignsByID","parameters":[{"description":"The site context.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The id of the campaign to create.","in":"path","minLength":1,"name":"campaign_id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/campaign"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/campaign"}},"400":{"description":"`IdConflictException` - if the Id in request is not the same as the ID in document."}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}/campaigns/{campaign_id}/coupons/{coupon_id}":{"delete":{"description":"Action to unbind a coupon from a given campaign.","operationId":"deleteSitesByIDCampaignsByIDCouponsByID","parameters":[{"in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The campaign ID that coupons are to be unbound from","in":"path","minLength":1,"name":"campaign_id","required":true,"type":"string"},{"description":"The coupon ID to unbind from a campaign","in":"path","minLength":1,"name":"coupon_id","required":true,"type":"string"},{"in":"query","name":"removeInPCA","type":"string"}],"responses":{"400":{"description":"`ConstraintViolationException` - Indicates some parameter constraint violation occurs"},"204":{"description":""},"404":{"description":"`CampaignNotFoundException` - Indicates that the campaign with the given campaign id\n \t\t\t\tis unknown."}},"security":[{"oauth2_application":[]}],"tags":["sites"]},"put":{"description":"Action to bind a single coupon to a given campaign.","operationId":"putSitesByIDCampaignsByIDCouponsByID","parameters":[{"in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The campaign ID that coupons are to be bound to","in":"path","minLength":1,"name":"campaign_id","required":true,"type":"string"},{"description":"The coupon ID to bind to a campaign","in":"path","minLength":1,"name":"coupon_id","required":true,"type":"string"}],"responses":{"400":{"description":"`ConstraintViolationException` - Indicates some parameter constraint violation occurs"},"204":{"description":""},"404":{"description":"`CampaignNotFoundException` - Indicates that the campaign with the given campaign id\n \t\t\t\tis unknown."}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}/campaigns/{campaign_id}/customer_groups/{customer_group_id}":{"delete":{"description":"Action to unbind a customer group from a given campaign.","operationId":"deleteSitesByIDCampaignsByIDCustomerGroupsByID","parameters":[{"in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The campaign ID that coupons are to be unbound from","in":"path","minLength":1,"name":"campaign_id","required":true,"type":"string"},{"description":"The customer group ID to unbind from a campaign","in":"path","minLength":1,"name":"customer_group_id","required":true,"type":"string"}],"responses":{"400":{"description":"`ConstraintViolationException` - Indicates some parameter constraint violation occurs"},"204":{"description":""},"404":{"description":"`CampaignNotFoundException` - Indicates that the campaign with the given campaign id\n is unknown."}},"security":[{"oauth2_application":[]}],"tags":["sites"]},"put":{"description":"Action to bind a single customer group to a given campaign.","operationId":"putSitesByIDCampaignsByIDCustomerGroupsByID","parameters":[{"in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The campaign ID that coupons are to be bound to","in":"path","minLength":1,"name":"campaign_id","required":true,"type":"string"},{"description":"The customer group ID to bind to a campaign","in":"path","minLength":1,"name":"customer_group_id","required":true,"type":"string"}],"responses":{"400":{"description":"`ConstraintViolationException` - Indicates some parameter constraint violation occurs"},"204":{"description":""},"404":{"description":"`CampaignNotFoundException` - Indicates that the campaign with the given campaign id\n is unknown."}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}/campaigns/{campaign_id}/promotions/{promotion_id}":{"delete":{"description":"Action to unbind a single promotion from a given campaign.","operationId":"deleteSitesByIDCampaignsByIDPromotionsByID","parameters":[{"description":"The ID of the site that contains the campaign and promotion.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The ID of the campaign to which the promotion is to be assigned.","in":"path","minLength":1,"name":"campaign_id","required":true,"type":"string"},{"description":"The ID of the promotion that is to be assigned to the campaign.","in":"path","minLength":1,"name":"promotion_id","required":true,"type":"string"}],"responses":{"204":{"description":""},"404":{"description":"`CampaignNotFoundException` - Indicates that the campaign with the given campaign ID is not found. or `PromotionNotFoundException` - Indicates that the campaign with the given promotion ID is not found. or `SiteNotFoundException` - thrown when site with the given site id is not found."}},"security":[{"oauth2_application":[]}],"tags":["sites"]},"patch":{"description":"Action to update the assignment of promotion to a campaign.","operationId":"patchSitesByIDCampaignsByIDPromotionsByID","parameters":[{"description":"The ID of the campaign.","in":"path","minLength":1,"name":"campaign_id","required":true,"type":"string"},{"description":"The ID of the site.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The ID of the promotion.","in":"path","minLength":1,"name":"promotion_id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/promotion_campaign_assignment"}}],"responses":{"204":{"description":""},"404":{"description":"`CampaignNotFoundException` - Indicates that the campaign with the given campaign ID is not found. or `CouponNotFoundException` - Indicates that the coupon with the given coupon ID is not found. or `CustomerGroupNotFoundException` - Indicates that the customer group with the given customer group ID is not\n found. or `PromotionNotFoundException` - Indicates that the promotion with the given promotion ID is not found. or `SiteNotFoundException` - thrown when site with the given site id is not found. or `SourceCodeGroupNotFoundException` - Indicates that the source code group with the given source code group ID\n is not found."}},"security":[{"oauth2_application":[]}],"tags":["sites"]},"put":{"description":"Action to bind a single promotion to a given campaign.","operationId":"putSitesByIDCampaignsByIDPromotionsByID","parameters":[{"description":"The ID of the site that contains the campaign and promotion.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The ID of the campaign to which the promotion is to be assigned.","in":"path","minLength":1,"name":"campaign_id","required":true,"type":"string"},{"description":"The ID of the promotion that is to be assigned to the campaign.","in":"path","minLength":1,"name":"promotion_id","required":true,"type":"string"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/promotion_campaign_assignment"}}],"responses":{"204":{"description":""},"404":{"description":"`CampaignNotFoundException` - Indicates that the campaign with the given campaign ID is not found. or `PromotionNotFoundException` - Indicates that the promotion with the given promotion ID is not found. or `SiteNotFoundException` - thrown when site with the given site id is not found."}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}/campaigns/{campaign_id}/slot_configurations/{slot_id}/{slot_config_id}":{"delete":{"description":"Action to unbind a slot configuration from a given campaign.","operationId":"deleteSitesByIDCampaignsByIDSlotConfigurationsByIDByID","parameters":[{"description":"The id of the campaign","in":"path","minLength":1,"name":"campaign_id","required":true,"type":"string"},{"description":"The id of the site","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The of the slot","in":"path","minLength":1,"name":"slot_id","required":true,"type":"string"},{"description":"The id of the slot configuration","in":"path","minLength":1,"name":"slot_config_id","required":true,"type":"string"},{"description":"The context string, which consists of three parts: the context type (which must be folder,\n category or global), an equals sign (=), and the context id (either the category id or folder id).","in":"query","minLength":1,"name":"context","type":"string"}],"responses":{"400":{"description":"`InvalidContextTypeException` - Indicates the slot context type is not one of \"global\", \"category\", or\n \"folder\""},"204":{"description":""},"404":{"description":"`CampaignNotFoundException` - Indicates that the campaign with the given campaign ID is not found. or `SiteNotFoundException` - thrown when site with the given site id is not found. or `SlotConfigurationIdentifierNotFoundException` - Indicates that the slot with the given slot ID, slot\n configuration ID and context type is not found. or `SlotWithContextTypeNotFoundException` - Indicates that the slot with the given slot ID and context type is\n not found."}},"security":[{"oauth2_application":[]}],"tags":["sites"]},"patch":{"description":"Action to update the assignment of slot configuration to a campaign.","operationId":"patchSitesByIDCampaignsByIDSlotConfigurationsByIDByID","parameters":[{"description":"The ID of the campaign.","in":"path","minLength":1,"name":"campaign_id","required":true,"type":"string"},{"description":"The ID of the site.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The ID of the slot.","in":"path","minLength":1,"name":"slot_id","required":true,"type":"string"},{"description":"The ID of the slot configuration.","in":"path","minLength":1,"name":"slot_config_id","required":true,"type":"string"},{"description":"The context string, which consists of three parts: the context type (which must be folder,\n category or global), an equals sign (=), and the context id (either the category id or folder id). If\n you do not set this query parameter, the global context is used by default.","in":"query","minLength":1,"name":"context","type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/slot_configuration_campaign_assignment"}}],"responses":{"400":{"description":"`InvalidContextTypeException` - Indicates the slot context type is not one of \"global\", \"category\", or\n \"folder\""},"204":{"description":""},"404":{"description":"`CampaignNotFoundException` - Indicates that the campaign with the given campaign ID is not found. or `SiteNotFoundException` - thrown when site with the given site id is not found. or `SlotConfigurationIdentifierNotFoundException` - Indicates that the slot with the given slot ID, slot\n configuration ID and context type is not found. or `SlotWithContextTypeNotFoundException` - Indicates that the slot with the given slot ID and context type is\n not found."}},"security":[{"oauth2_application":[]}],"tags":["sites"]},"put":{"description":"Action to bind a slot configuration to a given campaign.","operationId":"putSitesByIDCampaignsByIDSlotConfigurationsByIDByID","parameters":[{"description":"The ID of the campaign.","in":"path","minLength":1,"name":"campaign_id","required":true,"type":"string"},{"description":"The ID of the site.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The ID of the slot.","in":"path","minLength":1,"name":"slot_id","required":true,"type":"string"},{"description":"The ID of the slot configuration.","in":"path","minLength":1,"name":"slot_config_id","required":true,"type":"string"},{"description":"The context string, which consists of three parts: the context type (which must be folder,\n category or global), an equals sign (=), and the context id (either the category id or folder id). If\n you do not set this query parameter, the global context is used by default.","in":"query","minLength":1,"name":"context","type":"string"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/slot_configuration_campaign_assignment"}}],"responses":{"400":{"description":"`IdConflictException` - Indicates the ID in the URL does not match the ID in the request or `InvalidContextTypeException` - Indicates the slot context type is not one of \"global\", \"category\", or\n \"folder\""},"204":{"description":""},"404":{"description":"`CampaignNotFoundException` - Indicates that the campaign with the given campaign ID is not found. or `SiteNotFoundException` - thrown when site with the given site id is not found. or `SlotConfigurationIdentifierNotFoundException` - Indicates that the slot with the given slot ID, slot\n configuration ID and context type is not found. or `SlotWithContextTypeNotFoundException` - Indicates that the slot with the given slot ID and context type is\n not found."}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}/campaigns/{campaign_id}/sorting_rules/{sorting_rule_id}/{category_id}":{"delete":{"description":"Action to unbind a single sorting rule from a given campaign.","operationId":"deleteSitesByIDCampaignsByIDSortingRulesByIDByID","parameters":[{"description":"The ID of the site that contains the campaign, sorting rule and category.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The ID of the campaign to which the sorting rule is to be assigned.","in":"path","minLength":1,"name":"campaign_id","required":true,"type":"string"},{"description":"The ID of sorting rule that is to be assigned to the campaign.","in":"path","minLength":1,"name":"sorting_rule_id","required":true,"type":"string"},{"description":"The ID of the category that is associated with the sorting rule.","in":"path","minLength":1,"name":"category_id","required":true,"type":"string"},{"description":"The context in which the rule lives, either \"site\" or \"global\"","in":"query","name":"rule_context","type":"string"}],"responses":{"400":{"description":"`InvalidCategoryException` - Indicates that the category with the given category ID is not found."},"204":{"description":""},"404":{"description":"`CampaignNotFoundException` - Indicates that the campaign with the given campaign ID is not found. or `SiteNotFoundException` - thrown when site with the given site id is not found. or `SortingRuleNotFoundException` - Indicates that the sorting rule with the given sorting rule ID is not found."}},"security":[{"oauth2_application":[]}],"tags":["sites"]},"put":{"description":"Action to bind a single sorting rule to a given campaign.","operationId":"putSitesByIDCampaignsByIDSortingRulesByIDByID","parameters":[{"description":"The ID of the site that contains the campaign, sorting rule and category.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The ID of the campaign to which the sorting rule is to be assigned.","in":"path","minLength":1,"name":"campaign_id","required":true,"type":"string"},{"description":"The ID of sorting rule that is to be assigned to the campaign.","in":"path","minLength":1,"name":"sorting_rule_id","required":true,"type":"string"},{"description":"The ID of the category that is associated with the sorting rule.","in":"path","minLength":1,"name":"category_id","required":true,"type":"string"},{"description":"The context in which the rule lives, either \"site\" or \"global\"","in":"query","name":"rule_context","type":"string"}],"responses":{"400":{"description":"`InvalidCategoryException` - Indicates that the category with the given category ID is not found."},"204":{"description":""},"404":{"description":"`CampaignNotFoundException` - Indicates that the campaign with the given campaign ID is not found. or `SiteNotFoundException` - thrown when site with the given site id is not found. or `SortingRuleNotFoundException` - Indicates that the sorting rule with the given sorting rule ID is not found."},"409":{"description":"`SortingRuleCampaignAssignConflictException` - Indicates that there is a sorting rule already assigned to the\n given campaign ID and category ID. The sorting rule with the given sorting rule ID cannot be assigned\n to the same campaign ID and category ID."}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}/campaigns/{campaign_id}/source_code_groups/{source_code_group_id}":{"delete":{"description":"Action to unbind a source code group from a given campaign.","operationId":"deleteSitesByIDCampaignsByIDSourceCodeGroupsByID","parameters":[{"in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The campaign ID that source code groups are to be unbound from","in":"path","minLength":1,"name":"campaign_id","required":true,"type":"string"},{"description":"The source code group ID to unbind from a campaign","in":"path","minLength":1,"name":"source_code_group_id","required":true,"type":"string"}],"responses":{"400":{"description":"`ConstraintViolationException` - Indicates some parameter constraint violation occurs"},"204":{"description":""},"404":{"description":"`CampaignNotFoundException` - Indicates that the campaign with the given campaign id\n is unknown."}},"security":[{"oauth2_application":[]}],"tags":["sites"]},"put":{"description":"Action to bind a single source code group to a given campaign.","operationId":"putSitesByIDCampaignsByIDSourceCodeGroupsByID","parameters":[{"in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The campaign ID that source code group are to be bound to","in":"path","minLength":1,"name":"campaign_id","required":true,"type":"string"},{"description":"The source code group ID to bind to a campaign","in":"path","minLength":1,"name":"source_code_group_id","required":true,"type":"string"}],"responses":{"400":{"description":"`ConstraintViolationException` - Indicates some parameter constraint violation occurs"},"204":{"description":""},"404":{"description":"`CampaignNotFoundException` - Indicates that the campaign with the given campaign id\n is unknown."}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}/cartridges":{"post":{"description":"Add a cartridge to current cartridge path.","operationId":"postSitesByIDCartridges","parameters":[{"description":"ID of the site.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/cartridge_path_add_request"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/cartridge_path_api_response"}},"400":{"description":"`CartridgeAlreadyExistException` - Indicates that the cartridge already exist in cartridge path or `InvalidCartridgeException` - Indicates that the cartridge name is invalid or `InvalidOperationException` - The error may happen when position is either 'after' or 'before'. It indicates either target cartridge is not a existing custom cartridge."},"404":{"description":"`SiteNotFoundException` - Indicates that site specified with the given id is unknown."}},"security":[{"oauth2_application":[]}],"tags":["sites"]},"put":{"description":"Overwrite cartridge path.","operationId":"putSitesByIDCartridges","parameters":[{"description":"ID of the site.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/cartridge_path_create_request"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/cartridge_path_api_response"}},"400":{"description":"`InvalidCartridgePathException` - Indicates that the cartridge path is invalid"},"404":{"description":"`SiteNotFoundException` - Indicates that site specified with the given id is unknown."}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}/cartridges/{cartridge_name}":{"delete":{"description":"Remove a cartridge from cartridge path.","operationId":"deleteSitesByIDCartridgesByID","parameters":[{"description":"ID of the site.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"request body","in":"path","minLength":1,"name":"cartridge_name","required":true,"type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/cartridge_path_api_response"}},"400":{"description":"`InvalidOperationException` - It indicates either the cartridge doesn't exist in cartridge path or the cartridge can not be deleted (e.g. System Cartridge)."},"404":{"description":"`SiteNotFoundException` - Indicates that site specified with the given id is unknown."}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}/coupon_redemption_search":{"post":{"description":"

\n Searches for coupon redemptions.\n

\n

\n The Coupon Redemption Search document contains a search object that allows filtering on various attributes.\n

\n

\n The query attribute specifies a complex query that can be used to narrow down the search. These are the list of\n searchable attributes:\n

\n \n

\n Note that only searchable attributes can be used in sorting.\n

\n If the role to which the user belongs does not have View_Coupon_Codes permission, then the coupon codes returned\n will be masked.","operationId":"postSitesByIDCouponRedemptionSearch","parameters":[{"description":"The site context.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/search_request"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/coupon_redemption_search_result"}},"400":{"description":"`MalformedSearchParameterException` - Thrown if the query is ill-formed."}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}/coupon_search":{"post":{"description":"

\n Searches for coupons.\n

\n

\n The Coupon Search document contains a search object that allows filtering on various attributes.\n

\n

\n The query attribute specifies a complex query that can be used to narrow down the search. These are the list of\n searchable attributes:\n

\n \n

\n Note that only searchable attributes can be used in sorting. In case no sorting attribute is specified the result\n is sorted by coupon_id.\n

\n

\n The stats expand value is required to return the following fields in the Coupon document:\n

\n ","operationId":"postSitesByIDCouponSearch","parameters":[{"description":"The site context.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/search_request"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/coupon_search_result"}},"400":{"description":"`MalformedSearchParameterException` - Thrown if the query is ill-formed."}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}/coupons":{"get":{"description":"Action to get all the coupons with no filtering.\n

\n The result is sorted by by coupon_id ascending.\n

","operationId":"getSitesByIDCoupons","parameters":[{"description":"The site context.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"Optional start index for retrieving the codes from a given index (default 0).","format":"int32","in":"query","name":"start","type":"integer"},{"description":"Optional count for retrieving only a subset of the codes (default is 25).","format":"int32","in":"query","name":"count","type":"integer"},{"description":"The property selector.","in":"query","name":"select","type":"string"},{"in":"query","items":{"type":"string"},"name":"expand","type":"array"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/coupons"}}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}/coupons/{coupon_id}":{"delete":{"description":"Delete a coupon by id.","operationId":"deleteSitesByIDCouponsByID","parameters":[{"description":"The site context.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"Id of the coupon to delete from the site.","in":"path","minLength":1,"name":"coupon_id","required":true,"type":"string"}],"responses":{"204":{"description":""}},"security":[{"oauth2_application":[]}],"tags":["sites"]},"get":{"description":"Action to get coupon information.\n\n

The following fields are returned in the Coupon document when specifying the stats expand:\n

\n

\n\n If the role to which the user belongs does not have View_Coupon_Codes permission, then the coupon codes returned will be masked.","operationId":"getSitesByIDCouponsByID","parameters":[{"description":"The site context.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The id of the requested coupon.","in":"path","minLength":1,"name":"coupon_id","required":true,"type":"string"},{"description":"The property selector.","in":"query","name":"select","type":"string"},{"description":"The expand parameter. A comma separated list with the allowed values ( stats ).","in":"query","items":{"type":"string"},"name":"expand","type":"array"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/coupon"}},"404":{"description":"`CouponNotFoundException` - Thrown in case the coupon does not exist matching the given id"}},"security":[{"oauth2_application":[]}],"tags":["sites"]},"patch":{"description":"Updates the coupon with the specified information.","operationId":"patchSitesByIDCouponsByID","parameters":[{"description":"The site context.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The id of the requested coupon.","in":"path","minLength":1,"name":"coupon_id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/coupon"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/coupon"}},"400":{"description":"`CouponCodeDuplicateException` - Thrown if the code provided is in use by another coupon. or `CouponUpdateReadOnlyException` - Thrown if you try to update certain fields in a coupon after\n redeeming or exporting it. or `SystemGeneratedCouponQuotaException` - Thrown whenever a quota regarding system-generated coupons is violated"},"403":{"description":"`CouponLegacyUpdateForbiddenException` - Thrown when trying to update a legacy coupon. or `CouponUpdateForbiddenException` - Thrown when trying to update a broken coupon, that should be deleted and re-created."},"404":{"description":"`CouponNotFoundException` - Thrown if the coupon does not exist matching the given id."}},"security":[{"oauth2_application":[]}],"tags":["sites"]},"put":{"description":"Creates a coupon using the information provided. If a coupon exists with the same unique identifier,\n the coupon is replaced completely.","operationId":"putSitesByIDCouponsByID","parameters":[{"description":"The site context.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The id of the coupon to create.","in":"path","minLength":1,"name":"coupon_id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/coupon"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/coupon"}},"400":{"description":"`CouponCodeDuplicateException` - Thrown if the code provided is in use by another coupon. or `CouponCreateSingleCodeException` - Thrown if a single code coupon does not set the coupon code properly. or `CouponInvalidException` - Thrown if the coupon passed in is not valid (the argument indicates\n the field that was invalid). or `IdConflictException` - if the Id in request is not the same as the ID in document. or `SystemGeneratedCouponQuotaException` - Thrown whenever a quota regarding system-generated coupons is violated"},"403":{"description":"`SiteAccessForbiddenException` - Thrown if the resource requires global instead of site-specific context."}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}/coupons/{coupon_id}/campaigns":{"get":{"description":"Get the campaigns that have a coupon assigned to them either directly or through promotions","operationId":"getSitesByIDCouponsByIDCampaigns","parameters":[{"description":"The site context.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The id of the coupon that is assigned to campaigns directly or through promotions.","in":"path","name":"coupon_id","required":true,"type":"string"},{"description":"Optional start index for retrieving the campaigns (default 0).","format":"int32","in":"query","name":"start","type":"integer"},{"description":"Optional count for retrieving the campaigns (default is 25).","format":"int32","in":"query","name":"count","type":"integer"},{"in":"query","name":"select","type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/campaigns"}},"404":{"description":"`CouponNotFoundException` - Thrown if the coupon does not exist matching the given id."}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}/coupons/{coupon_id}/campaigns/{campaign_id}/promotions":{"get":{"description":"Get the promotions for a campaign that have a coupon assigned to them either directly or through campaigns.","operationId":"getSitesByIDCouponsByIDCampaignsByIDPromotions","parameters":[{"description":"The site context.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The id of the coupon that is assigned to promotions directly or through campaigns.","in":"path","name":"coupon_id","required":true,"type":"string"},{"description":"The id of the campaign that we want to restrict the set of promotions for.","in":"path","name":"campaign_id","required":true,"type":"string"},{"description":"Optional start index for retrieving the promotions (default 0).","format":"int32","in":"query","name":"start","type":"integer"},{"description":"Optional count for retrieving the promotions (default is 25).","format":"int32","in":"query","name":"count","type":"integer"},{"in":"query","name":"select","type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/promotions"}},"404":{"description":"`CampaignNotFoundException` - Thrown if the campaign does not exist matching the given id. or `CouponNotFoundException` - Thrown if the coupon does not exist matching the given id."}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}/coupons/{coupon_id}/codes":{"get":{"description":"Get the coupon codes for the given coupon.\n\n If the role to which the user belongs does not have View_Coupon_Codes permission, then the coupon codes returned will be masked.","operationId":"getSitesByIDCouponsByIDCodes","parameters":[{"description":"The site context.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The id of the coupon from which to delete codes (must be a multiple code coupon).","in":"path","name":"coupon_id","required":true,"type":"string"},{"description":"Optional start index for retrieving the codes from a given index (default 0).","format":"int32","in":"query","name":"start","type":"integer"},{"description":"Optional count for retrieving only a subset of the codes (default is 25).","format":"int32","in":"query","name":"count","type":"integer"},{"description":"Optional select clause for getting fields from the returned JSON document.","in":"query","name":"select","type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/coupon_codes"}},"404":{"description":"`CouponNotFoundException` - Thrown if the coupon does not exist matching the given id."}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}/coupons/{coupon_id}/multiple_codes":{"post":{"description":"Add or delete (modify) multiple codes to/from the supplied coupon.","operationId":"postSitesByIDCouponsByIDMultipleCodes","parameters":[{"description":"The site context.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The id of the coupon to modify codes (must be multiple code coupon).","in":"path","name":"coupon_id","required":true,"type":"string"},{"description":"Optional parameter for specifying when to delete multiple codes.","in":"query","name":"delete","type":"boolean"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/coupon_multi_codes_request"}}],"responses":{"400":{"description":"`CouponCodeCreateException` - Thrown if the coupon code could not be created."},"204":{"description":""},"404":{"description":"`CouponNotFoundException` - Thrown if the coupon does not exist matching the given id."}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}/coupons/{coupon_id}/promotions":{"get":{"description":"Get the promotions that have a coupon assigned to them either directly or through campaigns.","operationId":"getSitesByIDCouponsByIDPromotions","parameters":[{"description":"The site context.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The id of the coupon that is assigned to promotions directly or through campaigns.","in":"path","name":"coupon_id","required":true,"type":"string"},{"description":"Optional start index for retrieving the promotions (default 0).","format":"int32","in":"query","name":"start","type":"integer"},{"description":"Optional count for retrieving the promotions (default is 25).","format":"int32","in":"query","name":"count","type":"integer"},{"in":"query","name":"select","type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/promotions"}},"404":{"description":"`CouponNotFoundException` - Thrown if the coupon does not exist matching the given id."}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}/custom_objects/{object_type}/{key}":{"delete":{"description":"Deletes a site specific Custom Object. If the Custom Object does not exist, this will do nothing. Note that the customization scripts are only called, if the Custom Object does exist.","operationId":"deleteSitesByIDCustomObjectsByIDByID","parameters":[{"description":"the ID of the site","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"the ID of the object type","in":"path","minLength":1,"name":"object_type","required":true,"type":"string"},{"description":"the key attribute value of the Custom Object","in":"path","minLength":1,"name":"key","required":true,"type":"string"}],"responses":{"400":{"description":"`MalformedKeyParameterException` - If the object key must be an integer, but the path parameter has an invalid format"},"204":{"description":""},"404":{"description":"`ObjectTypeNotFoundException` - For an unknown object type ID"}},"security":[{"oauth2_application":[]}],"tags":["sites"]},"get":{"description":"Reads a site specific Custom Object with a given object type ID and a value for the key attribute of the object which represents its unique identifier.","operationId":"getSitesByIDCustomObjectsByIDByID","parameters":[{"description":"the ID of the site","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"the ID of the object type","in":"path","minLength":1,"name":"object_type","required":true,"type":"string"},{"description":"the key attribute value of the Custom Object","in":"path","minLength":1,"name":"key","required":true,"type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/custom_object"}},"400":{"description":"`MalformedKeyParameterException` - If the object key must be an integer, but the path parameter has an invalid format"},"404":{"description":"`ObjectTypeNotFoundException` - For an unknown object type ID or `CustomObjectNotFoundException` - For an unknown object key"}},"security":[{"oauth2_application":[]}],"tags":["sites"]},"patch":{"description":"

Updates a site specific Custom Object with information from the request body. Note that only provided attributes are updated and that the key attribute is ignored. All other attributes are unchanged.

Use Custom Properties prefixed with c_ to define the Custom Object fields.
For localizable strings, structure the field to support multiple language values by using a map where each locale, for example: en_US, fr_FR, has its corresponding string value.

","operationId":"patchSitesByIDCustomObjectsByIDByID","parameters":[{"description":"the ID of the site","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"the ID of the object type","in":"path","minLength":1,"name":"object_type","required":true,"type":"string"},{"description":"the key attribute value of the Custom Object","in":"path","minLength":1,"name":"key","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/custom_object"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/custom_object"}},"400":{"description":"`MalformedKeyParameterException` - If the object key must be an integer, but the path parameter has an invalid format"},"404":{"description":"`ObjectTypeNotFoundException` - For an unknown object type ID or `CustomObjectNotFoundException` - For an unknown object key"}},"security":[{"oauth2_application":[]}],"tags":["sites"]},"put":{"description":"

Creates a site specific Custom Object from the request body. Note that an existing site specific Custom Object with the same key is overwritten by this action.

Use Custom Properties prefixed with c_ to define the Custom Object fields.
For localizable strings, structure the field to support multiple language values by using a map where each locale, for example: en_US, fr_FR, has its corresponding string value.

","operationId":"putSitesByIDCustomObjectsByIDByID","parameters":[{"description":"the ID of the site","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"the ID of the object type","in":"path","minLength":1,"name":"object_type","required":true,"type":"string"},{"description":"the key attribute value of the Custom Object","in":"path","minLength":1,"name":"key","required":true,"type":"string"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/custom_object"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/custom_object"}},"400":{"description":"`MalformedKeyParameterException` - If the object key must be an integer, but the path parameter has an invalid format"},"404":{"description":"`ObjectTypeNotFoundException` - For an unknown object type ID or `CustomObjectNotFoundException` - For an unknown object key"}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}/customer_group_search":{"post":{"description":"

Searches for customer groups.

\n \n

The query attribute specifies a complex query that can be used to narrow down the search. These are the list\n of searchable attributes:

\n \n\n

The output of the query can also be sorted. These are the list of sortable attributes:

\n ","operationId":"postSitesByIDCustomerGroupSearch","parameters":[{"description":"The id of the site.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/search_request"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/customer_group_search_result"}},"400":{"description":"`CustomerGroupTypeInvalidException` - Thrown if the search term in term query does not match any of the customer group type. or `MalformedSearchParameterException` - Thrown if the query is ill-formed."}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}/customer_groups":{"get":{"description":"Action to get all the customer groups with no filtering.","operationId":"getSitesByIDCustomerGroups","parameters":[{"description":"The site context.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"Optional start index for retrieving the items from a given index (default 0).","format":"int32","in":"query","name":"start","type":"integer"},{"description":"Optional count for retrieving only a subset of the items (default is 25).","format":"int32","in":"query","name":"count","type":"integer"},{"description":"The property selector.","in":"query","name":"select","type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/customer_groups"}}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}/customer_groups/{id}":{"delete":{"description":"Triggers customer group deletion by ID. Be aware that the deletion happens via asynchronous batch process\n which is the reason the deletion itself is not necessarily finished after the call to this resource returned. The \n customer group that is in deletion will be provided in the response.","operationId":"deleteSitesByIDCustomerGroupsByID","parameters":[{"description":"The id of the site.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"One customer group id to remove","in":"path","name":"id","required":true,"type":"string"},{"description":"The attribute selector for the customer group which is now in deletion","in":"query","name":"select","type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/customer_group"}},"403":{"description":"`SystemCustomerGroupDeleteForbiddenException` - Thrown when attempting to delete the system customer group."}},"security":[{"oauth2_application":[]}],"tags":["sites"]},"get":{"description":"Action to get customer group information.","operationId":"getSitesByIDCustomerGroupsByID","parameters":[{"description":"The id of the site.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The id of the requested customer group.","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"description":"The attribute selector. Include 'member_count' explicitly if member count per customer group is required.","in":"query","name":"select","type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/customer_group"}},"404":{"description":"`CustomerGroupNotFoundException` - Thrown in case the customer group does not exist matching the given id"}},"security":[{"oauth2_application":[]}],"tags":["sites"]},"patch":{"description":"Updates the customer group with the specified information.","operationId":"patchSitesByIDCustomerGroupsByID","parameters":[{"description":"The id of the site.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The id of the requested customer group.","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/customer_group"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/customer_group"}},"403":{"description":"`SystemCustomerGroupUpdateForbiddenException` - Thrown when attempting to update the system customer group."},"404":{"description":"`CustomerGroupNotFoundException` - Thrown in case the customer group does not exist matching the given id"}},"security":[{"oauth2_application":[]}],"tags":["sites"]},"put":{"description":"Creates a customer group using the information provided.","operationId":"putSitesByIDCustomerGroupsByID","parameters":[{"description":"The id of the site.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The id of the customer group to create.","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/customer_group"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/customer_group"}},"400":{"description":"`CustomerGroupCreateException` - Thrown when there are system error in creating the customer group. or `IdConflictException` - Thrown when id in query parameter is different from the id in the body."},"403":{"description":"`SystemCustomerGroupCreateForbiddenException` - Thrown when attempting to create the system customer group."},"409":{"description":"`CustomerGroupAlreadyExistsException` - if a customer group exists already in the site with the given identifier."}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}/customer_groups/{id}/member_search":{"post":{"description":"

Searches for customer group members. For dynamic customer groups and the system groups \"Everyone\" and \"Unregistered\" no result is returned (Status Code: 204 - No Content).

\n\n

The query attribute specifies a complex query that can be used to narrow down the search. Attributes are grouped\n into different buckets. These are the list of searchable attributes with their corresponding buckets:

\n\n

Main:

\n \n

Customer Profile:

\n \n\n

Only attributes in the same bucket can be joined using a disjunction (OR).\n For instance, when joining login and customer_no above, only a conjunction is allowed (AND), whereas customer_no\n and email can be joined using a disjunction because they are in the same bucket. If an attribute\n is used in a disjunction (OR) that violates this rule, an exception will be thrown.

\n\n

The output of the query can also be sorted. These are the list of sortable attributes:

\n \n\n

If the Business manager customer search is configured to use the new Search Service, the following differences apply:\n

","operationId":"postSitesByIDCustomerGroupsByIDMemberSearch","parameters":[{"description":"The id of the site.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The id of the requested members customer group.","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/search_request"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/customer_group_member_search_result"}},"400":{"description":"`MalformedSearchParameterException` - Thrown if the query is ill-formed."},"404":{"description":"`CustomerGroupNotFoundException` - Thrown in case the customer group does not exist matching the given id"}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}/customer_groups/{id}/members":{"get":{"description":"Action to get all the customer group members with no filtering. For dynamic customer groups and the system groups \"Everyone\" and \"Unregistered\" no result is returned (Status Code: 204 - No Content).","operationId":"getSitesByIDCustomerGroupsByIDMembers","parameters":[{"in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"description":"Optional start index for retrieving the items from a given index (default 0).","format":"int32","in":"query","name":"start","type":"integer"},{"description":"Optional count for retrieving only a subset of the items (default is 25).","format":"int32","in":"query","name":"count","type":"integer"},{"description":"The property selector.","in":"query","name":"select","type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/customer_group_members"}},"404":{"description":"`CustomerGroupNotFoundException` - Thrown in case the customer group does not exist matching the given id"}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}/customer_groups/{id}/members/{customer_no}":{"delete":{"description":"Action to remove a customer from a (static) customer group.","operationId":"deleteSitesByIDCustomerGroupsByIDMembersByID","parameters":[{"description":"The id of the site.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The id of the customer group.","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"description":"The customer number of the customer to remove from the group.","in":"path","minLength":1,"name":"customer_no","required":true,"type":"string"},{"description":"The selector for selective response content.","in":"query","name":"select","type":"string"}],"responses":{"204":{"description":""},"403":{"description":"`CustomerGroupUnsupportedAssignmentException` - Thrown when the customer group is not a static group."},"404":{"description":"`CustomerGroupNotFoundException` - Thrown in case the customer group does not exist matching the given id. or `CustomerNotFoundException` - Thrown in case the customer list did not exist, or the customer does not exist in the list."}},"security":[{"oauth2_application":[]}],"tags":["sites"]},"get":{"description":"Action to get customer group member information.","operationId":"getSitesByIDCustomerGroupsByIDMembersByID","parameters":[{"description":"The id of the site.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The id of the requested members customer group.","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"description":"The customer number of the requested customer group member.","in":"path","minLength":1,"name":"customer_no","required":true,"type":"string"},{"description":"The selector for selective response content.","in":"query","name":"select","type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/customer_group_member"}},"404":{"description":"`CustomerGroupMemberNotFoundException` - Thrown in case the customer group member did not exist, or the group is not a static group or `CustomerGroupNotFoundException` - Thrown in case the customer group does not exist matching the given id"}},"security":[{"oauth2_application":[]}],"tags":["sites"]},"put":{"description":"Action to add customer to (static) customer group.","operationId":"putSitesByIDCustomerGroupsByIDMembersByID","parameters":[{"description":"The id of the site.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The id of the customer group.","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"description":"The customer number of the customer to add to the group.","in":"path","minLength":1,"name":"customer_no","required":true,"type":"string"},{"description":"The selector for selective response content.","in":"query","name":"select","type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/customer_group_member"}},"403":{"description":"`CustomerGroupUnsupportedAssignmentException` - Thrown when the customer group is not a static group."},"404":{"description":"`CustomerGroupNotFoundException` - Thrown in case the customer group does not exist matching the given id. or `CustomerNotFoundException` - Thrown in case the customer list did not exist, or the customer does not exist in in the list."}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}/gift_certificate_search":{"post":{"description":"

Searches for gift certificates.

\n \n

The query attribute specifies a complex query that can be used to narrow down the search. These are the list\n of searchable attributes:

\n \n\n

* masked_gift_certificate_code, also known as just code, can only be used in a term query. If a\n four-character code is supplied, it is assumed that the search is on the unmasked portion of the code, otherwise\n the full code must be matched. Text queries are not allowed.

\n\n

* currency_mnemonic can only be joined with other attributes using a conjunction (AND).

\n\n

Note that only searchable attributes can be used in sorting. The code attribute cannot be used for sorting.

","operationId":"postSitesByIDGiftCertificateSearch","parameters":[{"description":"The id of the site.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/search_request"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/gift_certificate_search_result"}},"400":{"description":"`MalformedSearchParameterException` - Thrown if the query is ill-formed."}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}/gift_certificates":{"get":{"description":"Action to get all the gift certificates with no filtering.","operationId":"getSitesByIDGiftCertificates","parameters":[{"description":"The site context.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"Optional start index for retrieving the items from a given index (default 0).","format":"int32","in":"query","name":"start","type":"integer"},{"description":"Optional count for retrieving only a subset of the items (default is 25).","format":"int32","in":"query","name":"count","type":"integer"},{"description":"The property selector.","in":"query","name":"select","type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/gift_certificates"}}},"security":[{"oauth2_application":[]}],"tags":["sites"]},"post":{"description":"Creates a gift certificate using the information provided.","operationId":"postSitesByIDGiftCertificates","parameters":[{"description":"The id of the site.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/gift_certificate"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/gift_certificate"}},"400":{"description":"`GiftCertificateAmountOutOfRangeException` - If the amount specified is out of range or `GiftCertificateCreateMerchantIDNotUniqueException` - If merchant id is not unique or `InvalidGiftCertificateException` - if the gift certificate passed in is not valid (the \n argument indicates the field that was invalid). or `InvalidGiftCertificateStatusException` - If gift certificate status specified is invalid or `InvalidRecipientEmailException` - If recipient email address is invalid"}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}/gift_certificates/{merchant_id}":{"delete":{"description":"Deletes the gift certificate by merchant ID","operationId":"deleteSitesByIDGiftCertificatesByID","parameters":[{"description":"The id of the site.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"One gift certificate merchant id to remove","in":"path","name":"merchant_id","required":true,"type":"string"}],"responses":{"204":{"description":""}},"security":[{"oauth2_application":[]}],"tags":["sites"]},"get":{"description":"Action to get gift certificate information using merchant ID.","operationId":"getSitesByIDGiftCertificatesByID","parameters":[{"description":"The id of the site.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The merchant id of the requested gift certificate.","in":"path","minLength":1,"name":"merchant_id","required":true,"type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/gift_certificate"}},"404":{"description":"`GiftCertificateNotFoundException` - Thrown in case the gift certificate does not exist matching the given merchant id"}},"security":[{"oauth2_application":[]}],"tags":["sites"]},"patch":{"description":"Updates the gift certificate with the specified information using merchant ID.\n\n This API can not operate on the transactions attribute of the GiftCertificate request object.","operationId":"patchSitesByIDGiftCertificatesByID","parameters":[{"description":"The id of the site.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The merchant id of the requested gift certificate.","in":"path","minLength":1,"name":"merchant_id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/gift_certificate"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/gift_certificate"}},"400":{"description":"`InvalidGiftCertificateStatusException` - If gift certificate status specified is invalid or `InvalidRecipientEmailException` - If recipient email address is invalid"},"404":{"description":"`GiftCertificateNotFoundException` - Thrown in case the gift certificate does not exist matching the given merchant id"}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}/locale_info/locales":{"get":{"description":"Action to get the set of locales with the system given a site.","operationId":"getSitesByIDLocaleInfoLocales","parameters":[{"description":"true if we want to include all the locales. Default is false.","in":"query","name":"include_all","type":"boolean"},{"description":"optional locale to return by id. If specified, that locale is looked up and returned, otherwise the\n list is returned.","in":"query","name":"id","type":"string"},{"description":"the set of fields to return from the request. Default is only the locale id.","in":"query","name":"select","type":"string"},{"description":"the start index for paging. Default is 0.","format":"int32","in":"query","name":"start","type":"integer"},{"description":"the count of the records to return in this page. Default is 25.","format":"int32","in":"query","name":"count","type":"integer"},{"description":"Only locales specified for the site are returned","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/locale_result"}}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}/orders/{order_no}":{"patch":{"description":"Updates the order.","operationId":"patchSitesByIDOrdersByID","parameters":[{"description":"ID of the site","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The order number","in":"path","minLength":1,"name":"order_no","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/order_update_request"}}],"responses":{"204":{"description":""},"404":{"description":"`OrderNotFoundException` - In case of the given order_no does not reference an existing order. or `SiteNotFoundException` - In case of the given site_id does not reference an existing site."}},"security":[{"oauth2_application":[]},{"client_id":[]}],"tags":["sites"]}},"/sites/{site_id}/orders/{order_no}/confirmation_status":{"put":{"description":"Updates the order confirmation status.","operationId":"putSitesByIDOrdersByIDConfirmationStatus","parameters":[{"description":"ID of the site.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The order number","in":"path","minLength":1,"name":"order_no","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/order_confirmation_status_update_request"}}],"responses":{"204":{"description":""},"404":{"description":"`OrderNotFoundException` - In case of the given order_no does not reference an existing order. or `SiteNotFoundException` - In case of the given site_id does not reference an existing site."}},"security":[{"oauth2_application":[]},{"client_id":[]}],"tags":["sites"]}},"/sites/{site_id}/orders/{order_no}/export_status":{"put":{"description":"Updates the order export status. Setting the status to EXPORTED will also trigger the finalization of on-order inventory transactions for this order, meaning that all inventory transactions with type on-order will be moved into final inventory transactions. This is only relevant when on-order inventory is turned on for the inventory list ordered products are in.","operationId":"putSitesByIDOrdersByIDExportStatus","parameters":[{"description":"ID of the site.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The order number","in":"path","minLength":1,"name":"order_no","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/order_export_status_update_request"}}],"responses":{"204":{"description":""},"404":{"description":"`OrderNotFoundException` - In case of the given order_no does not reference an existing order. or `SiteNotFoundException` - In case of the given site_id does not reference an existing site."}},"security":[{"oauth2_application":[]},{"client_id":[]}],"tags":["sites"]}},"/sites/{site_id}/orders/{order_no}/external_status":{"put":{"description":"Updates the order external status.","operationId":"putSitesByIDOrdersByIDExternalStatus","parameters":[{"description":"ID of the site.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The order number","in":"path","minLength":1,"name":"order_no","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/order_external_status_update_request"}}],"responses":{"204":{"description":""},"404":{"description":"`OrderNotFoundException` - In case of the given order_no does not reference an existing order. or `SiteNotFoundException` - In case of the given site_id does not reference an existing site."}},"security":[{"oauth2_application":[]},{"client_id":[]}],"tags":["sites"]}},"/sites/{site_id}/orders/{order_no}/payment_instruments/{payment_instrument_id}":{"patch":{"description":"Updates the payment instrument of an order.","operationId":"patchSitesByIDOrdersByIDPaymentInstrumentsByID","parameters":[{"description":"ID of the site","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The order number","in":"path","minLength":1,"name":"order_no","required":true,"type":"string"},{"description":"ID of the payment instrument","in":"path","minLength":1,"name":"payment_instrument_id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/payment_instrument_update_request"}}],"responses":{"204":{"description":""},"404":{"description":"`OrderNotFoundException` - In case of the given order_no does not reference an existing order. or `PaymentInstrumentNotFoundException` - In case of the given payment_instrument_id does not reference an existing payment instrument. or `SiteNotFoundException` - In case of the given site_id does not reference an existing site."}},"security":[{"oauth2_application":[]},{"client_id":[]}],"tags":["sites"]}},"/sites/{site_id}/orders/{order_no}/payment_instruments/{payment_instrument_id}/transaction":{"patch":{"description":"Updates the transaction of an order payment instrument.","operationId":"patchSitesByIDOrdersByIDPaymentInstrumentsByIDTransaction","parameters":[{"description":"ID of the site","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The order number","in":"path","minLength":1,"name":"order_no","required":true,"type":"string"},{"description":"ID of the payment instrument","in":"path","minLength":1,"name":"payment_instrument_id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/payment_transaction_update_request"}}],"responses":{"204":{"description":""},"404":{"description":"`OrderNotFoundException` - In case of the given order_no does not reference an existing order. or `PaymentInstrumentNotFoundException` - In case of the given payment_instrument_id does not reference an existing payment instrument. or `PaymentTransactionNotFoundException` - In case of the payment instrument does not reference a payment transaction. or `SiteNotFoundException` - In case of the given site_id does not reference an existing site."}},"security":[{"oauth2_application":[]},{"client_id":[]}],"tags":["sites"]}},"/sites/{site_id}/orders/{order_no}/payment_status":{"put":{"description":"Updates the order payment status.","operationId":"putSitesByIDOrdersByIDPaymentStatus","parameters":[{"description":"ID of the site.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The order number","in":"path","minLength":1,"name":"order_no","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/order_payment_status_update_request"}}],"responses":{"204":{"description":""},"404":{"description":"`OrderNotFoundException` - In case of the given order_no does not reference an existing order. or `SiteNotFoundException` - In case of the given site_id does not reference an existing site."}},"security":[{"oauth2_application":[]},{"client_id":[]}],"tags":["sites"]}},"/sites/{site_id}/orders/{order_no}/shipments/{shipment_id}/shipping_address":{"put":{"description":"Updates (create or replace) the order shipment address.","operationId":"putSitesByIDOrdersByIDShipmentsByIDShippingAddress","parameters":[{"description":"ID of the site","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The order number","in":"path","minLength":1,"name":"order_no","required":true,"type":"string"},{"description":"ID of the shipment","in":"path","minLength":1,"name":"shipment_id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/shipping_address_update_request"}}],"responses":{"204":{"description":""},"404":{"description":"`OrderNotFoundException` - In case of the given order_no does not reference an existing order. or `ShipmentNotFoundException` - In case of the given shipment_id does not reference an existing shipment. or `SiteNotFoundException` - In case of the given site_id does not reference an existing site."}},"security":[{"oauth2_application":[]},{"client_id":[]}],"tags":["sites"]}},"/sites/{site_id}/orders/{order_no}/shipping_status":{"put":{"description":"Updates the order shipping status.","operationId":"putSitesByIDOrdersByIDShippingStatus","parameters":[{"description":"ID of the site.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The order number","in":"path","minLength":1,"name":"order_no","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/order_shipping_status_update_request"}}],"responses":{"204":{"description":""},"404":{"description":"`OrderNotFoundException` - In case of the given order_no does not reference an existing order. or `SiteNotFoundException` - In case of the given site_id does not reference an existing site."}},"security":[{"oauth2_application":[]},{"client_id":[]}],"tags":["sites"]}},"/sites/{site_id}/orders/{order_no}/status":{"put":{"description":"Updates the order status by using the corresponding methods (fail, undoFail, place, cancel and undoCancel) from the dw.order.OrderMgr. Orders which are not in status CREATED or FAILED can not be set back.","operationId":"putSitesByIDOrdersByIDStatus","parameters":[{"description":"ID of the site","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The order number","in":"path","minLength":1,"name":"order_no","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/order_status_update_request"}}],"responses":{"204":{"description":""},"404":{"description":"`OrderNotFoundException` - In case of the given order_no does not reference an existing order. or `SiteNotFoundException` - In case of the given site_id does not reference an existing site."},"409":{"description":"`CancelOrderException` - The order could not be cancelled. or `OrderIntegrationStatusException` - The status change is not supported. An external order management system is integrated which has responsibility for further status changes on placed orders. or `OrderPreviouslyIntegratedStatusException` - The status change is not supported. The order was previously integrated with an external order management system which has responsibility for further status changes. or `OrderStatusTransitionException` - The status change is not supported. or `PlaceOrderException` - The order could not be placed. or `UndoCancelOrderException` - The cancelled order can not be reopened. or `UndoFailOrderException` - The failed order can not be reopened."}},"security":[{"oauth2_application":[]},{"client_id":[]}],"tags":["sites"]}},"/sites/{site_id}/promotion_campaign_assignment_search":{"post":{"description":"

Searches for promotion campaign assignments.

\n \n

The PromotionCampaignAssignment Search document contains a search object that allows filtering on various attributes.

\n \n

The query attribute specifies a complex query that can be used to narrow down the search. Attributes are grouped\n into different buckets. These are the list of searchable attributes with their corresponding buckets:

\n\n

Main:

\n \n

Campaign:

\n \n

Promotion:

\n \n

Special handling:

\n \n\n

Only fields in the same bucket can be joined using a disjunction (OR). For instance, when joining\n campaign_id and rank above, only a conjunction is allowed (AND), whereas promotion_id and description can be\n joined to each other using an OR because they are in the same bucket. Special handling fields must always use\n conjunctions. If the field is used in a disjunction (OR) that violates this rule, an exception will be thrown.

\n\n

Expands that can be applied for the search request

\n \n\n

Note that only searchable attributes (excluding the ones marked with above with an asterisk) can be used in sorting.

","operationId":"postSitesByIDPromotionCampaignAssignmentSearch","parameters":[{"description":"The site context.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/search_request"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/promotion_campaign_assignment_search_result"}}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}/promotion_search":{"post":{"description":"

Searches for promotions.

\n \n

The SearchRequest document contains a search object that allows filtering on various attributes.

\n \n

The query attribute specifies a complex query that can be used to narrow down the search. These are the searchable\n attributes:

\n \n

Note that only searchable attributes can be used in sorting. Additionally, the following attribute can be used to\n sort:

\n ","operationId":"postSitesByIDPromotionSearch","parameters":[{"description":"The site context.","in":"path","name":"site_id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/search_request"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/promotion_search_result"}},"400":{"description":"`MalformedSearchParameterException` - Thrown if the query is ill-formed."}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}/promotions/{id}":{"delete":{"description":"Deletes the promotion by ID","operationId":"deleteSitesByIDPromotionsByID","parameters":[{"description":"The site context.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"Promotion id to remove","in":"path","minLength":1,"name":"id","required":true,"type":"string"}],"responses":{"204":{"description":""}},"security":[{"oauth2_application":[]}],"tags":["sites"]},"get":{"description":"Action to get promotion information.","operationId":"getSitesByIDPromotionsByID","parameters":[{"description":"The site context.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The id of the requested promotion.","in":"path","minLength":1,"name":"id","required":true,"type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/promotion"}},"404":{"description":"`PromotionNotFoundException` - Thrown in case the promotion does not exist matching the given id"}},"security":[{"oauth2_application":[]}],"tags":["sites"]},"patch":{"description":"Updates the promotion with the specified information.","operationId":"patchSitesByIDPromotionsByID","parameters":[{"description":"The site context.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The id of the requested promotion.","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/promotion"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/promotion"}},"404":{"description":"`PromotionNotFoundException` - Thrown in case the promotion does not exist matching the given id"}},"security":[{"oauth2_application":[]}],"tags":["sites"]},"put":{"description":"Creates a promotion using the information provided.","operationId":"putSitesByIDPromotionsByID","parameters":[{"description":"The site context.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The id of the promotion to create.","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/promotion"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/promotion"}},"400":{"description":"`IdConflictException` - if the Id in request is not the same as the ID in document."}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}/site_preferences/preference_groups/{group_id}/{instance_type}":{"get":{"description":"For the specified site and instance, read the custom preferences in the preference group.\n Specify 'current' to retrieve the preferences for the instance on which this call is being made. The system will recognize its type.","operationId":"getSitesByIDSitePreferencesPreferenceGroupsByIDByID","parameters":[{"description":"The site context.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"One of {staging,development,sandbox,production,current}.","in":"path","name":"instance_type","required":true,"type":"string"},{"description":"The ID of the preference group.","in":"path","name":"group_id","required":true,"type":"string"},{"description":"Set to true to mask the values of preferences of type Password.","in":"query","name":"mask_passwords","type":"boolean"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/site_preferences"}},"404":{"description":"`CustomPreferenceGroupNotFoundException` - Indicates the preference group is not found."}},"security":[{"oauth2_application":[]}],"tags":["sites"]},"patch":{"description":"For the specified site and instance, update one or more custom preferences in the preference group.\n Preferences of type password cannot be set to \"************\" since it is a reserved value.","operationId":"patchSitesByIDSitePreferencesPreferenceGroupsByIDByID","parameters":[{"description":"The site context.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"One of {staging,development,sandbox,production}.","in":"path","name":"instance_type","required":true,"type":"string"},{"description":"The ID of the preference group.","in":"path","name":"group_id","required":true,"type":"string"},{"description":"Set to true to mask the values of preferences of type Password.","in":"query","name":"mask_passwords","type":"boolean"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/site_preferences"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/site_preferences"}},"404":{"description":"`CustomPreferenceGroupNotFoundException` - Indicates the preference group is not found. or `ObjectTypeNotFoundException` - Indicates the SitePreferences system object is not found."}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}/slot_configuration_campaign_assignment_search":{"post":{"description":"

Searches for slotconfiguration campaign assignments.

\n \n

The SlotConfigCampaignAssignment Search document contains a search object that allows filtering on various attributes.

\n\n

The query attribute specifies a complex query that can be used to narrow down the search. Attributes are grouped\n into different buckets. These are the list of searchable attributes with their corresponding buckets:

\n\n

Main:

\n \n

Campaign:

\n \n

Slot configuration:

\n \n\n

Only attributes in the same bucket can be joined using a disjunction (OR).\n For instance, when joining rank and description above, only a conjunction is allowed (AND), whereas slot_configuration_id\n and description can be joined using a disjunction because they are in the same bucket. If an attribute\n is used in a disjunction (OR) that violates this rule, an exception will be thrown.

\n\n

Expands that can be applied for the search request

\n \n\n

Note that only searchable attributes (excluding the ones marked with above with an asterisk) can be used in sorting.

","operationId":"postSitesByIDSlotConfigurationCampaignAssignmentSearch","parameters":[{"description":"The site context.","in":"path","name":"site_id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/search_request"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/slot_configuration_campaign_assignment_search_result"}},"400":{"description":"`MalformedSearchParameterException` - Thrown if the query is ill-formed."}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}/slot_configuration_search":{"post":{"description":"

Searches for slot configurations.

\n\n

The query attribute specifies a complex query that can be used to narrow down the search. Attributes are grouped\n into different buckets. These are the list of searchable attributes with their corresponding buckets:

\n\n

Main:

\n \n

Slot:

\n \n\n

Only fields in the same bucket can be joined using a disjunction (OR). For instance, when joining context and\n description above, only a conjunction is allowed (AND), whereas context and slot_id can be joined to each other\n using a disjunction because they are in the same bucket. If the field is used in a disjunction (OR) that\n violates this rule, an exception will be thrown.

","operationId":"postSitesByIDSlotConfigurationSearch","parameters":[{"description":"The site context.","in":"path","name":"site_id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/search_request"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/slot_configuration_search_result"}},"400":{"description":"`TypeMissmatchException` - Indicates that the value to search with does not match the\n type of the search field."}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}/slot_configurations":{"get":{"description":"Action to get all the slot configurations with no filtering.","operationId":"getSitesByIDSlotConfigurations","parameters":[{"description":"The id of the site.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"Optional start index for retrieving the items from a given index (default 0).","format":"int32","in":"query","name":"start","type":"integer"},{"description":"Optional count for retrieving only a subset of the items (default is 25).","format":"int32","in":"query","name":"count","type":"integer"},{"description":"The property selector.","in":"query","name":"select","type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/slot_configurations"}}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}/slot_search":{"post":{"description":"

Searches for slots.

\n \n

The query attribute specifies a complex query that can be used to narrow down the search. The set of fields that\n are available to search are:

\n \n\n

Note that only searchable attributes can be used in sorting. \"context_type\" value is restricted to Global/Folder/Category.

","operationId":"postSitesByIDSlotSearch","parameters":[{"description":"The site context.","in":"path","name":"site_id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/search_request"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/slot_search_result"}},"400":{"description":"`MalformedSearchParameterException` - Thrown if the query is ill-formed."}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}/slots":{"get":{"description":"Action to get all the slots with no filtering. Fetches the slot entities which are already populated in the database by crawling the active code.","operationId":"getSitesByIDSlots","parameters":[{"description":"The id of the site.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"Optional start index for retrieving the items from a given index (default 0).","format":"int32","in":"query","name":"start","type":"integer"},{"description":"Optional count for retrieving only a subset of the items (default is 25).","format":"int32","in":"query","name":"count","type":"integer"},{"description":"The property selector.","in":"query","name":"select","type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/slots"}}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}/slots/{slot_id}/slot_configurations/{configuration_id}":{"delete":{"description":"Removes a configuration for slot in a given context from a site.","operationId":"deleteSitesByIDSlotsByIDSlotConfigurationsByID","parameters":[{"description":"The id of the site for which you want to create the slot configuration.","in":"path","maxLength":32,"minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The id of the slot.","in":"path","maxLength":256,"minLength":1,"name":"slot_id","required":true,"type":"string"},{"description":"The id of the slot configuration.","in":"path","maxLength":256,"minLength":1,"name":"configuration_id","required":true,"type":"string"},{"description":"The context string, which consists of three parts: the context type (which must be \n folder , category or global ), an equals sign ( = ), \n and the context id (either the category id or folder id). If you do not set this \n query parameter, the global context is used by default.","in":"query","name":"context","type":"string"}],"responses":{"400":{"description":"`InvalidContextTypeException` - Thrown if the specified context type is invalid."},"204":{"description":""},"404":{"description":"`SlotNotFoundException` - Throw if there was no slot with the specified id found for the \n requested site."}},"security":[{"oauth2_application":[]}],"tags":["sites"]},"get":{"description":"Action to read an existing slot configuration.","operationId":"getSitesByIDSlotsByIDSlotConfigurationsByID","parameters":[{"description":"The id of the site for which you want to create the slot configuration.","in":"path","maxLength":32,"minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The id of the slot.","in":"path","maxLength":256,"minLength":1,"name":"slot_id","required":true,"type":"string"},{"description":"The id of the slot configuration.","in":"path","maxLength":256,"minLength":1,"name":"configuration_id","required":true,"type":"string"},{"description":"The context string, which consists of three parts: the context type (which must be \n folder , category or global ), an equals sign ( = ), \n and the context id (either the category id or folder id). If you do not set this \n query parameter, the global context is used by default.","in":"query","name":"context","type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/slot_configuration"}},"400":{"description":"`InvalidContextTypeException` - Thrown if the specified context type is invalid. or `MissingSlotConfigurationContextIdException` - Thrown if the specified context id for given context 'category' or 'folder' is missing."},"404":{"description":"`SlotConfigurationNotFoundException` - Thrown if there was no slot configuration found for the specified\n configuration id. or `SlotNotFoundException` - Throw if there was no slot with the specified id found for the \n requested site."}},"security":[{"oauth2_application":[]}],"tags":["sites"]},"patch":{"description":"Updates an existing slot configuration. This action ignores the slot_id and\n the context information in the input document. Note that this operation will\n not touch any relational properties, which means, that e.g. the rank on a specific\n campaign assignment will not be changed, when the rank for the slot configuration\n itself is updated.","operationId":"patchSitesByIDSlotsByIDSlotConfigurationsByID","parameters":[{"description":"The id of the site for which you want to create the slot configuration.","in":"path","maxLength":32,"minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The id of the slot.","in":"path","maxLength":256,"minLength":1,"name":"slot_id","required":true,"type":"string"},{"description":"The id of the slot configuration.","in":"path","maxLength":256,"minLength":1,"name":"configuration_id","required":true,"type":"string"},{"description":"The context string, which consists of three parts: the context type (which must be \n folder , category or global ), an equals sign ( = ), \n and the context id (either the category id or folder id). If you do not set this \n query parameter, the global context is used by default.","in":"query","name":"context","type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/slot_configuration"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/slot_configuration"}},"400":{"description":"`InvalidContextTypeException` - Thrown if the specified context type is invalid. or `MissingSlotConfigurationContextIdException` - Thrown if the specified context id for given context 'category' or 'folder' is missing."},"404":{"description":"`ContentNotFoundException` - Thrown if content asset does not exist in the library of the current domain\n but is assigned during update. or `SlotConfigurationNotFoundException` - Thrown if there was no slot configuration found for the specified configuration \n id. or `SlotNotFoundException` - Thrown if there was no slot with the given id found for the \n requested site."},"409":{"description":"`SlotConfigurationAlreadyExistsException` - Thrown if the configuration ID should be updated into one that is already\n assigned."}},"security":[{"oauth2_application":[]}],"tags":["sites"]},"put":{"description":"Creates a new configuration for an existing slot. If a slot configuration\n exists with the specified configuration_id, slot_id, and context, the existing\n slot configuration is overwritten.","operationId":"putSitesByIDSlotsByIDSlotConfigurationsByID","parameters":[{"description":"The id of the site for which you want to create the slot configuration.","in":"path","maxLength":32,"minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The id of the slot.","in":"path","maxLength":256,"minLength":1,"name":"slot_id","required":true,"type":"string"},{"description":"The id of the slot configuration.","in":"path","maxLength":256,"minLength":1,"name":"configuration_id","required":true,"type":"string"},{"description":"The context string, which consists of three parts: the context type (which must be \n folder , category or global ), an equals sign ( = ), \n and the context id (either the category id or folder id). If you do not set this \n query parameter, the global context is used by default.","in":"query","name":"context","type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/slot_configuration"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/slot_configuration"}},"400":{"description":"`IdConflictException` - if the Id in request is not the same as the ID in document. or `InvalidContextTypeException` - Thrown if the specified context type is invalid. or `MissingSlotConfigurationContextIdException` - Thrown if the specified context id for given context 'category' or 'folder' is missing."},"404":{"description":"`ContentNotFoundException` - Thrown if content asset does not exist in the library of the current domain\n but is assigned during creation of the configuration. or `SlotNotFoundException` - Thrown if there was no slot with the given id found for the \n requested site."}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}/slots/{slot_id}/{context_type}":{"get":{"description":"Action to get slot information. Fetches the slot entities which are already populated in the database by crawling the active code.","operationId":"getSitesByIDSlotsByIDByID","parameters":[{"description":"The site context.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The id of the requested slot.","in":"path","minLength":1,"name":"slot_id","required":true,"type":"string"},{"description":"The context type (folder, global, category).","in":"path","name":"context_type","required":true,"type":"string"},{"description":"The property selector. If not passed, then the default selector will be used.","in":"query","name":"select","type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/slot"}},"404":{"description":"`SlotNotFoundException` - Indicates the slot does not exist matching the given id."}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}/sorting_rule_search":{"post":{"description":"

Searches for product sorting rules.

\n \n

The query attribute specifies a complex query that can be used to narrow down the search. These are the list\n of searchable attributes:

\n \n\n

The output of the query can also be sorted. These are the list of sortable attributes:

\n \n\n

This resource does not support expand options.

","operationId":"postSitesByIDSortingRuleSearch","parameters":[{"description":"The id of the site.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/search_request"}},{"description":"the optional context in which the sorting rule should be looked up, either \"site\", \"global\", or \"any\" (default)","in":"query","name":"rule_context","type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/sorting_rule_search_result"}}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}/source_code_group_search":{"post":{"description":"Searches for source code groups.\n

\n The query attribute specifies a complex query that can be used to narrow down the search. These are the list\n of searchable attributes:\n

\n\n

* - These fields can only be used in Queries as conjunctions (using AND). If the field is used in a disjunction\n (OR) an exception will be thrown.

\n \n

The output of the query can also be sorted. These are the list of sortable attributes:

\n \n \n

Expands that can be applied for the search request

\n ","operationId":"postSitesByIDSourceCodeGroupSearch","parameters":[{"description":"The id of the site.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/search_request"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/source_code_group_search_result"}},"400":{"description":"`MalformedSearchParameterException` - Thrown if the query is ill-formed."}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}/source_code_groups":{"get":{"description":"Action to get all the source code groups with no filtering.","operationId":"getSitesByIDSourceCodeGroups","parameters":[{"in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"Optional start index for retrieving the items from a given index (default 0).","format":"int32","in":"query","name":"start","type":"integer"},{"description":"Optional count for retrieving only a subset of the items (default is 25).","format":"int32","in":"query","name":"count","type":"integer"},{"description":"The property selector.","in":"query","name":"select","type":"string"},{"in":"query","items":{"type":"string"},"name":"expand","type":"array"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/source_code_groups"}}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}/source_code_groups/{id}":{"delete":{"description":"Deletes the source code group by ID","operationId":"deleteSitesByIDSourceCodeGroupsByID","parameters":[{"description":"The id of the site.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"One source code group id to remove","in":"path","maxLength":28,"minLength":1,"name":"id","required":true,"type":"string"}],"responses":{"204":{"description":""}},"security":[{"oauth2_application":[]}],"tags":["sites"]},"get":{"description":"Action to retrieve source code group information.","operationId":"getSitesByIDSourceCodeGroupsByID","parameters":[{"description":"The id of the site.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The id of the requested source code group.","in":"path","maxLength":28,"minLength":1,"name":"id","required":true,"type":"string"},{"description":"the query parameter takes an expansion list to include extra information, such as specifications. \n \t\t usage: expand=specifications.","in":"query","items":{"type":"string"},"name":"expand","type":"array"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/source_code_group"}},"404":{"description":"`SourceCodeGroupNotFoundException` - Thrown in case the source code group does not exist matching the given id"}},"security":[{"oauth2_application":[]}],"tags":["sites"]},"patch":{"description":"

Updates the source code group with the specified information.

","operationId":"patchSitesByIDSourceCodeGroupsByID","parameters":[{"description":"The id of the site.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The id of the requested source code group.","in":"path","maxLength":28,"minLength":1,"name":"id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/source_code_group"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/source_code_group"}},"404":{"description":"`SourceCodeGroupNotFoundException` - Thrown in case the source code group does not exist matching the given id"}},"security":[{"oauth2_application":[]}],"tags":["sites"]},"put":{"description":"Creates a source code group using the information provided.","operationId":"putSitesByIDSourceCodeGroupsByID","parameters":[{"description":"The id of the site.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The id of the source code group to create.","in":"path","maxLength":28,"minLength":1,"name":"id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/source_code_group"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/source_code_group"}},"400":{"description":"`IdConflictException` - Thrown when the id given in request URL is different from the id provided in the source code group document or `SourceCodeGroupInvalidException` - if the source code group passed in is not valid (the argument indicates the field that was invalid)."}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}/store_search":{"post":{"description":"

\n Searches for stores.\n

\n

\n The query attribute specifies a complex query that can be used to narrow down the search. This is the list of\n searchable attributes:\n

\n ","operationId":"postSitesByIDStoreSearch","parameters":[{"description":"The site context.","in":"path","name":"site_id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/search_request"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/store_search_result"}},"400":{"description":"`MalformedSearchParameterException` - Thrown if the query is ill-formed."}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}/stores":{"get":{"description":"Action to get all the stores with no filtering.","operationId":"getSitesByIDStores","parameters":[{"in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"Optional start index for retrieving the items from a given index (default 0).","format":"int32","in":"query","name":"start","type":"integer"},{"description":"Optional count for retrieving only a subset of the items (default is 25).","format":"int32","in":"query","name":"count","type":"integer"},{"description":"The property selector.","in":"query","name":"select","type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/stores"}}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/sites/{site_id}/stores/{id}":{"delete":{"description":"Deletes the store by ID","operationId":"deleteSitesByIDStoresByID","parameters":[{"description":"The site context.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"One store id to remove","in":"path","maxLength":256,"minLength":1,"name":"id","required":true,"type":"string"}],"responses":{"204":{"description":""},"404":{"description":"`StoreNotFoundException` - Thrown in case the store does not exist matching the given id"}},"security":[{"oauth2_application":[]}],"tags":["sites"]},"get":{"description":"Action to get store information.","operationId":"getSitesByIDStoresByID","parameters":[{"description":"The site context.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The id of the requested store.","in":"path","maxLength":256,"minLength":1,"name":"id","required":true,"type":"string"},{"description":"the selector for the get. If not passed, then the defaultSelector will be used instead.","in":"query","name":"select","type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/store"}},"404":{"description":"`StoreNotFoundException` - Thrown in case the store does not exist matching the given id"}},"security":[{"oauth2_application":[]}],"tags":["sites"]},"patch":{"description":"Updates the store with the specified information.","operationId":"patchSitesByIDStoresByID","parameters":[{"description":"The site context.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The id of the requested store.","in":"path","maxLength":256,"minLength":1,"name":"id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/store"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/store"}},"404":{"description":"`StoreNotFoundException` - Thrown in case the store does not exist matching the given id"}},"security":[{"oauth2_application":[]}],"tags":["sites"]},"put":{"description":"Creates a store using the information provided.","operationId":"putSitesByIDStoresByID","parameters":[{"description":"The site context.","in":"path","minLength":1,"name":"site_id","required":true,"type":"string"},{"description":"The id of the store to create.","in":"path","maxLength":256,"minLength":1,"name":"id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/store"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/store"}},"400":{"description":"`IdConflictException` - if the Id in request is not the same as the ID in document."}},"security":[{"oauth2_application":[]}],"tags":["sites"]}},"/system_object_definition_search":{"post":{"description":"

Searches for system objects.

\n \n

The query attribute specifies a complex query that can be used to narrow down the search. These are the list\n of searchable attributes:

\n \n\n

The output of the query can also be sorted. These are the list of sortable attributes:

\n ","operationId":"postSystemObjectDefinitionSearch","parameters":[{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/search_request"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/object_type_definition_search_result"}},"400":{"description":"`MalformedSearchParameterException` - Thrown if the query is ill-formed."}},"security":[{"oauth2_application":[]}],"tags":["system_object_definition_search"]}},"/system_object_definitions":{"get":{"description":"Action to get all the system objects with no filtering.","operationId":"getSystemObjectDefinitions","parameters":[{"description":"Optional start index for retrieving the items from a given index (default 0).","format":"int32","in":"query","name":"start","type":"integer"},{"description":"Optional count for retrieving only a subset of the items (default is 25).","format":"int32","in":"query","name":"count","type":"integer"},{"description":"The property selector.","in":"query","name":"select","type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/object_type_definitions"}}},"security":[{"oauth2_application":[]}],"tags":["system_object_definitions"]}},"/system_object_definitions/{object_type}":{"get":{"description":"Action to get system object information.","operationId":"getSystemObjectDefinitionsByID","parameters":[{"description":"The id of the object type for the requested system object.","in":"path","minLength":1,"name":"object_type","required":true,"type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/object_type_definition"}},"404":{"description":"`SystemObjectNotFoundException` - Thrown in case the system object does not exist matching the given objectType"}},"security":[{"oauth2_application":[]}],"tags":["system_object_definitions"]}},"/system_object_definitions/{object_type}/attribute_definition_search":{"post":{"description":"

Searches the attribute definitions of the specified system object type.

\n

\n

The query attribute specifies a complex query that can be used to narrow down the search. Attributes are grouped\n into different buckets. These are the list of searchable attributes with their corresponding buckets:

\n\n

Main:

\n \n

Definition version:

\n \n

Group:

\n \n\n

Only attributes in the same bucket can be joined using a disjunction (OR).\n For instance, when joining localizable and description above, only a conjunction is allowed (AND), whereas display_name\n and description can be joined using a disjunction because they are in the same bucket. If an attribute\n is used in a disjunction (OR) that violates this rule, an exception will be thrown.

\n\n

* These attributes are not searchable or sortable for built in system attributes. They work normally for non\n system attributes.

\n\n

Note that only searchable attributes can be used in sorting.

","operationId":"postSystemObjectDefinitionsByIDAttributeDefinitionSearch","parameters":[{"description":"The object type id that contains these definitions","in":"path","name":"object_type","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/search_request"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/object_attribute_definition_search_result"}},"400":{"description":"`MalformedSearchParameterException` - Indicates the query is ill-formed."},"404":{"description":"`ObjectTypeNotFoundException` - in case the object type does not match an existing system type"}},"security":[{"oauth2_application":[]}],"tags":["system_object_definitions"]}},"/system_object_definitions/{object_type}/attribute_definitions":{"get":{"description":"Action to get all the attribute definitions with no filtering.","operationId":"getSystemObjectDefinitionsByIDAttributeDefinitions","parameters":[{"in":"path","name":"object_type","required":true,"type":"string"},{"description":"Optional start index for retrieving the items from a given index (default 0).","format":"int32","in":"query","name":"start","type":"integer"},{"description":"Optional count for retrieving only a subset of the items (default is 25).","format":"int32","in":"query","name":"count","type":"integer"},{"description":"The property selector.","in":"query","name":"select","type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/object_attribute_definitions"}},"404":{"description":"`ObjectTypeNotFoundException` - in case the object type does not match an existing system type"}},"security":[{"oauth2_application":[]}],"tags":["system_object_definitions"]}},"/system_object_definitions/{object_type}/attribute_definitions/{id}":{"delete":{"description":"Deletes the attribute definition by ID","operationId":"deleteSystemObjectDefinitionsByIDAttributeDefinitionsByID","parameters":[{"description":"The metadata object that contains these definitions","in":"path","name":"object_type","required":true,"type":"string"},{"description":"Attribute definition id to remove","in":"path","minLength":1,"name":"id","required":true,"type":"string"}],"responses":{"400":{"description":"`AttributeDefinitionReadOnlyException` - Thrown when trying to delete an internal attribute definition"},"204":{"description":""},"404":{"description":"`AttributeDefinitionNotFoundException` - Thrown in case the attribute definition cannot be found or `ObjectTypeNotFoundException` - Thrown in case the object type cannot be found"}},"security":[{"oauth2_application":[]}],"tags":["system_object_definitions"]},"get":{"description":"Action to get attribute definition information.","operationId":"getSystemObjectDefinitionsByIDAttributeDefinitionsByID","parameters":[{"description":"The object type id that contains these definitions","in":"path","name":"object_type","required":true,"type":"string"},{"description":"The id of the requested attribute definition.","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"description":"The selector for the get. If not passed, then the defaultSelector will be used instead.","in":"query","name":"select","type":"string"},{"description":"The expansion \"value\" is available to retrieve value definitions of the attribute definition.","in":"query","items":{"type":"string"},"name":"expand","type":"array"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/object_attribute_definition"}},"404":{"description":"`AttributeDefinitionNotFoundException` - Thrown in case the attribute definition does not exist matching the given id or `ObjectTypeNotFoundException` - in case the object type does not match an existing system type"}},"security":[{"oauth2_application":[]}],"tags":["system_object_definitions"]},"patch":{"description":"Updates the attribute definition with the specified information. The request must include the If-Match header, which holds\n the last known base-point information. The value of this header is an \"ETag\" representing the attribute definition state. If\n the request does not contain an If-Match header with the current server customer \"ETag\", a 409 (IfMatchRequiredException)\n fault is returned. If the If-Match header does not match the current server attribute definition \"ETag\", a 412 (InvalidIfMatchException)\n fault is returned.","operationId":"patchSystemObjectDefinitionsByIDAttributeDefinitionsByID","parameters":[{"description":"The object type id that contains these definitions","in":"path","name":"object_type","required":true,"type":"string"},{"description":"The id of the requested attribute definition.","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"description":"must match the last eTag","in":"header","name":"If-Match","type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/object_attribute_definition"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/object_attribute_definition"}},"400":{"description":"`AttributeDefinitionPropertyReadOnlyException` - Thrown in case a read only system attribute it tried to be changed, which is not allowed. or `AttributeDefinitionReadOnlyException` - Thrown when trying to modify a read-only field of an internal\n attribute definition"},"404":{"description":"`AttributeDefinitionNotFoundException` - Thrown in case the attribute definition does not exist matching the given id or `ObjectTypeNotFoundException` - Thrown in case the object type cannot be found"}},"security":[{"oauth2_application":[]}],"tags":["system_object_definitions"]},"put":{"description":"Creates a attribute definition using the information provided.","operationId":"putSystemObjectDefinitionsByIDAttributeDefinitionsByID","parameters":[{"description":"The metadata object that contains these definitions","in":"path","name":"object_type","required":true,"type":"string"},{"description":"The id of the attribute definition to create.","in":"path","name":"id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/object_attribute_definition"}},{"in":"header","name":"x-dw-validate-existing","type":"boolean"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/object_attribute_definition"}},"400":{"description":"`AttributeDefinitionCreateException` - if the attribute definition could not be created. or `AttributeDefinitionDuplicateException` - if a attribute definition exists already with the given attribute definition id. or `AttributeDefinitionReadOnlyException` - Thrown when trying to create an internal attribute definition or `IdConflictException` - if the Id in request is not the same as the ID in document."},"404":{"description":"`ObjectTypeNotFoundException` - Thrown in case the object type cannot be found"}},"security":[{"oauth2_application":[]}],"tags":["system_object_definitions"]}},"/system_object_definitions/{object_type}/attribute_group_search":{"post":{"description":"

Searches for attribute groups.

\n \n

The query attribute specifies a complex query that can be used to narrow down the search. These are the list\n of searchable attributes:

\n \n\n

The output of the query can also be sorted. These are the list of sortable attributes:

\n ","operationId":"postSystemObjectDefinitionsByIDAttributeGroupSearch","parameters":[{"in":"path","name":"object_type","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/search_request"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/object_attribute_group_search_result"}},"400":{"description":"`MalformedSearchParameterException` - Thrown if the query is ill-formed."}},"security":[{"oauth2_application":[]}],"tags":["system_object_definitions"]}},"/system_object_definitions/{object_type}/attribute_groups":{"get":{"description":"Action to get all the attribute groups with no filtering.","operationId":"getSystemObjectDefinitionsByIDAttributeGroups","parameters":[{"in":"path","name":"object_type","required":true,"type":"string"},{"description":"Optional start index for retrieving the items from a given index (default 0).","format":"int32","in":"query","name":"start","type":"integer"},{"description":"Optional count for retrieving only a subset of the items (default is 25).","format":"int32","in":"query","name":"count","type":"integer"},{"description":"The property selector.","in":"query","name":"select","type":"string"},{"in":"query","items":{"type":"string"},"name":"expand","type":"array"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/object_attribute_groups"}},"404":{"description":"`ObjectTypeNotFoundException` - in case the object type does not match an existing system type"}},"security":[{"oauth2_application":[]}],"tags":["system_object_definitions"]}},"/system_object_definitions/{object_type}/attribute_groups/{group_id}/attribute_definitions/{def_id}":{"delete":{"description":"Un-assign an attribute definition from an attribute group.","operationId":"deleteSystemObjectDefinitionsByIDAttributeGroupsByIDAttributeDefinitionsByID","parameters":[{"description":"The ID of the system object that contains the attribute definition and attribute group.","in":"path","name":"object_type","required":true,"type":"string"},{"description":"The ID of the attribute group.","in":"path","minLength":1,"name":"group_id","required":true,"type":"string"},{"description":"The ID of the attribute definition.","in":"path","minLength":1,"name":"def_id","required":true,"type":"string"}],"responses":{"204":{"description":""},"404":{"description":"`AttributeDefinitionNotFoundException` - Indicates the specified attribute definition is not found. or `AttributeGroupNotFoundException` - Indicates the specified attribute group is not found. or `ObjectTypeNotFoundException` - Indicates the specified system object is not found."}},"security":[{"oauth2_application":[]}],"tags":["system_object_definitions"]},"put":{"description":"Assign an attribute definition to an attribute group.","operationId":"putSystemObjectDefinitionsByIDAttributeGroupsByIDAttributeDefinitionsByID","parameters":[{"description":"The ID of the system object that contains the attribute definition and attribute group.","in":"path","name":"object_type","required":true,"type":"string"},{"description":"The ID of the attribute group.","in":"path","minLength":1,"name":"group_id","required":true,"type":"string"},{"description":"The ID of the attribute definition.","in":"path","minLength":1,"name":"def_id","required":true,"type":"string"}],"responses":{"204":{"description":""},"404":{"description":"`AttributeDefinitionNotFoundException` - Indicates the specified attribute definition is not found. or `AttributeGroupNotFoundException` - Indicates the specified attribute group is not found. or `ObjectTypeNotFoundException` - Indicates the specified system object is not found."}},"security":[{"oauth2_application":[]}],"tags":["system_object_definitions"]}},"/system_object_definitions/{object_type}/attribute_groups/{id}":{"delete":{"description":"Deletes the attribute group by ID","operationId":"deleteSystemObjectDefinitionsByIDAttributeGroupsByID","parameters":[{"description":"the object type id that contains this attribute group","in":"path","name":"object_type","required":true,"type":"string"},{"description":"One attribute group id to remove","in":"path","name":"id","required":true,"type":"string"}],"responses":{"400":{"description":"`AttributeGroupReadOnlyException` - Thrown when trying to delete an internal attribute group"},"204":{"description":""},"404":{"description":"`AttributeGroupNotFoundException` - Thrown in case the attribute group cannot be found or `ObjectTypeNotFoundException` - Thrown in case the object type cannot be found"}},"security":[{"oauth2_application":[]}],"tags":["system_object_definitions"]},"get":{"description":"Action to get attribute group information.","operationId":"getSystemObjectDefinitionsByIDAttributeGroupsByID","parameters":[{"description":"the object type id that contains this attribute group","in":"path","name":"object_type","required":true,"type":"string"},{"description":"The id of the requested attribute group.","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"in":"query","name":"select","type":"string"},{"in":"query","items":{"type":"string"},"name":"expand","type":"array"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/object_attribute_group"}},"404":{"description":"`AttributeGroupNotFoundException` - Thrown in case the attribute group does not exist matching the given id or `ObjectTypeNotFoundException` - in case the object type does not match an existing system type"}},"security":[{"oauth2_application":[]}],"tags":["system_object_definitions"]},"patch":{"description":"Updates the attribute group with the specified information. The request must include the If-Match header, which holds\n the last known base-point information. The value of this header is an \"ETag\" representing the attribute group state. If\n the request does not contain an If-Match header with the current server customer \"ETag\", a 409 (IfMatchRequiredException)\n fault is returned. If the If-Match header does not match the current server attribute group \"ETag\", a 412 (InvalidIfMatchException)\n fault is returned.","operationId":"patchSystemObjectDefinitionsByIDAttributeGroupsByID","parameters":[{"description":"the object type id that contains this attribute group","in":"path","name":"object_type","required":true,"type":"string"},{"description":"The id of the requested attribute group.","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"description":"must match the last eTag","in":"header","name":"If-Match","type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/object_attribute_group"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/object_attribute_group"}},"400":{"description":"`AttributeGroupReadOnlyException` - Thrown when trying to modify an attribute of a field of an attribute group\n that is read only"},"404":{"description":"`AttributeGroupNotFoundException` - Thrown in case the attribute group does not exist matching the given id"}},"security":[{"oauth2_application":[]}],"tags":["system_object_definitions"]},"put":{"description":"Creates a attribute group using the information provided. If a attribute group with the same unique identifier, it will be deleted and a new one will be created unless the header x-dw-validate-existing=true is passed in with the request.","operationId":"putSystemObjectDefinitionsByIDAttributeGroupsByID","parameters":[{"description":"the object type id that contains this attribute group","in":"path","name":"object_type","required":true,"type":"string"},{"description":"The id of the attribute group to create.","in":"path","minLength":1,"name":"id","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/object_attribute_group"}},{"description":"if true, and a attribute group already exists, will throw a AttributeGroupDuplicateException.","in":"header","name":"x-dw-validate-existing","type":"boolean"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/object_attribute_group"}},"400":{"description":"`AttributeGroupDuplicateException` - if a attribute group exists already in the site with the given identifier and the header x-dw-validate-existing=true is passed in with the request. or `AttributeGroupReadOnlyException` - Thrown when trying to create an internal attribute group"}},"security":[{"oauth2_application":[]}],"tags":["system_object_definitions"]}},"/user_search":{"post":{"description":"Searches for users.\n

\n The query attribute specifies a complex query that can be used to narrow down the search. These are the list\n of searchable attributes:\n

\n \n\n

The output of the query can also be sorted. These are the list of sortable attributes:

\n ","operationId":"postUserSearch","parameters":[{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/search_request"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/user_search_result"}},"400":{"description":"`MalformedSearchParameterException` - Thrown if the query is ill-formed."}},"security":[{"oauth2_application":[]}],"tags":["user_search"]}},"/users":{"get":{"description":"Action to get all users with no filtering.","operationId":"getUsers","parameters":[{"description":"Optional start index for retrieving the items from a given index (default 0).","format":"int32","in":"query","name":"start","type":"integer"},{"description":"Optional count for retrieving only a subset of the items (default is 25).","format":"int32","in":"query","name":"count","type":"integer"},{"description":"The property selector.","in":"query","name":"select","type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/users"}}},"security":[{"oauth2_application":[]}],"tags":["users"]}},"/users/this":{"get":{"description":"Action to get the user password expiration information.","operationId":"getUsersThis","responses":{"default":{"description":"","schema":{"$ref":"#/definitions/user"}},"401":{"description":"`UserIsLockedException` - If the user profile is currently locked. or `UserNotAvailableException` - If the user provided by the OAuth token cannot be found."}},"security":[{"oauth2_application":[]}],"tags":["users"]}},"/users/this/password":{"patch":{"description":"Action to change a local user password. This action cannot change the password for a user managed by Account\n Manager.","operationId":"patchUsersThisPassword","parameters":[{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/password_change_request"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/user"}},"400":{"description":"`InvalidPasswordException` - If the provided current user password is invalid. or `PasswordNotValidForReuseException` - If the same new password was set recently before. or `PasswordPolicyViolationException` - If the new password doesn't meet the acceptance crtiteria of a user\n password."},"401":{"description":"`UserIsLockedException` - If the user profile is currently locked. or `UserNotAvailableException` - If the user provided by the OAuth token cannot be found."}},"security":[{"oauth2_application":[]}],"tags":["users"]}},"/users/{login}":{"delete":{"description":"Action to delete a single user.","operationId":"deleteUsersByID","parameters":[{"description":"login of the user","in":"path","minLength":1,"name":"login","required":true,"type":"string"}],"responses":{"204":{"description":""},"404":{"description":"`UserNotFoundException` - If no user with the specified login could be found."}},"security":[{"oauth2_application":[]}],"tags":["users"]},"get":{"description":"Action to get a user.","operationId":"getUsersByID","parameters":[{"description":"login of the user","in":"path","minLength":1,"name":"login","required":true,"type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/user"}},"404":{"description":"`UserNotFoundException` - If no user with the specified login could be found."}},"security":[{"oauth2_application":[]}],"tags":["users"]},"patch":{"description":"

Action to update a user.

\n\n

Note: The locked flag and the user password cannot be updated with this resource.

","operationId":"patchUsersByID","parameters":[{"description":"login of the user","in":"path","minLength":1,"name":"login","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/user"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/user"}},"400":{"description":"`ExternalIdAlreadyExistsException` - If another user with the same external id already exists. or `ExternalIdNullException` - If the external id is explicitly set to null for an externally managed user or `UnknownLocaleException` - If either the Preferred UI Locale or the Preferred Data Locale are unknown. or `IdConflictException` - If the login in the request URL is different from the login in the request body."},"403":{"description":"`UserOperationNotAllowedException` - If creation or replacement of a user with the given login is not allowed."},"404":{"description":"`UserNotFoundException` - If no user with the specified login could be found."}},"security":[{"oauth2_application":[]}],"tags":["users"]},"put":{"description":"Action to create or overwrite a user. \n\n If a user with the given login already exists, the existing user will be overwritten.\n If no such login exists, a new user is created.","operationId":"putUsersByID","parameters":[{"description":"login of the user","in":"path","minLength":1,"name":"login","required":true,"type":"string"},{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/user"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/user"}},"400":{"description":"`ExternalIdAlreadyExistsException` - If another user with the same external id already exists. or `InvalidCredentialsException` - If password or external id of the user are invalid. or `LocalUserCreationException` - If creation of a local Business Manager user is not allowed with the current server settings. or `PasswordPolicyViolationException` - If the password doesn't meet the acceptance crtiteria of a user password. or `UnknownLocaleException` - If either the Preferred UI Locale or the Preferred Data Locale are unknown. or `IdConflictException` - If the login in the request URL is different from the login in the request body."},"403":{"description":"`UserOperationNotAllowedException` - If creation or replacement of a user with the given login is not allowed."}},"security":[{"oauth2_application":[]}],"tags":["users"]}},"/users/{login}/access_key/{scope}":{"delete":{"description":"Deletes a single access key.","operationId":"deleteUsersByIDAccessKeyByID","parameters":[{"description":"The login of the user.","in":"path","minLength":1,"name":"login","required":true,"type":"string"},{"description":"The scope of the access key.","in":"path","name":"scope","required":true,"type":"string"}],"responses":{"204":{"description":""},"403":{"description":"`UserNotExternallyManagedException` - When the specified user is not externally managed. or `UserAccessForbiddenException` - When the user executing the request is missing the required functional permission 'Manage_Users_Access_Keys'."},"404":{"description":"`AccessKeyNotFoundException` - If the access key does not exist. or `AuthenticationScopeNotFoundException` - If the access scope does not exist. or `UserNotFoundException` - If no user was found for the login."}},"security":[{"oauth2_application":[]}],"tags":["users"]},"get":{"description":"Gets a single access key.","operationId":"getUsersByIDAccessKeyByID","parameters":[{"description":"The login of the user.","in":"path","minLength":1,"name":"login","required":true,"type":"string"},{"description":"The scope of the access key.","in":"path","name":"scope","required":true,"type":"string"}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/access_key_details"}},"403":{"description":"`UserNotExternallyManagedException` - When the specified user is not externally managed. or `UserAccessForbiddenException` - When the user executing the request is missing the required functional permission 'Manage_Users_Access_Keys'."},"404":{"description":"`AccessKeyNotFoundException` - If the access key does not exist. or `AuthenticationScopeNotFoundException` - If the access scope does not exist. or `UserNotFoundException` - If no user was found for the login."}},"security":[{"oauth2_application":[]}],"tags":["users"]},"patch":{"description":"Enables / disables a single access key.","operationId":"patchUsersByIDAccessKeyByID","parameters":[{"description":"The login of the user.","in":"path","minLength":1,"name":"login","required":true,"type":"string"},{"description":"The scope of the access key.","in":"path","name":"scope","required":true,"type":"string"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/access_key_update_request"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/access_key_details"}},"403":{"description":"`UserNotExternallyManagedException` - When the specified user is not externally managed. or `UserAccessForbiddenException` - When the user executing the request is missing the required functional permission 'Manage_Users_Access_Keys'."},"404":{"description":"`AccessKeyNotFoundException` - If the access key does not exist. or `AuthenticationScopeNotFoundException` - If the access scope does not exist. or `UserNotFoundException` - If no user was found for the login."}},"security":[{"oauth2_application":[]}],"tags":["users"]},"put":{"description":"Creates a single access key (and removes an existing one for the same scope).","operationId":"putUsersByIDAccessKeyByID","parameters":[{"description":"The login of the user.","in":"path","minLength":1,"name":"login","required":true,"type":"string"},{"description":"The scope of the access key.","in":"path","name":"scope","required":true,"type":"string"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/empty_body"}}],"responses":{"default":{"description":"","schema":{"$ref":"#/definitions/access_key_details"}},"400":{"description":"`AccessKeyIsExpiredException` - If the acces key is already expired."},"403":{"description":"`UserNotExternallyManagedException` - When the specified user is not externally managed. or `UserAccessForbiddenException` - When the user executing the request is missing the required functional permission 'Manage_Users_Access_Keys'."},"404":{"description":"`AuthenticationScopeNotFoundException` - If the access scope does not exist. or `UserNotFoundException` - If no user was found for the login."}},"security":[{"oauth2_application":[]}],"tags":["users"]}}},"produces":["application/json","text/xml","application/xml"],"securityDefinitions":{"oauth2_application":{"description":"Authentication flow with client ID and password with account manager.","flow":"application","scopes":{"x-info":"Scopes are NOT supported. This is just a dummy, because the 'scopes' field is required."},"tokenUrl":"https://account.demandware.com:443/dw/oauth2/access_token","type":"oauth2"},"client_id":{"description":"Add client ID for application identification. Alternative as 'client_id' query parameter.","in":"header","name":"x-dw-client-id","type":"apiKey"}},"swagger":"2.0"} \ No newline at end of file diff --git a/dw.json b/dw.json new file mode 120000 index 00000000..c4b894ec --- /dev/null +++ b/dw.json @@ -0,0 +1 @@ +/Users/clavery/code/b2c-commerce-industries/dw.json \ No newline at end of file diff --git a/packages/b2c-cli/package.json b/packages/b2c-cli/package.json index 7be85757..0556c05d 100644 --- a/packages/b2c-cli/package.json +++ b/packages/b2c-cli/package.json @@ -11,7 +11,8 @@ "@oclif/core": "^4", "@oclif/plugin-help": "^6", "@oclif/plugin-plugins": "^5", - "@salesforce/b2c-tooling": "workspace:*" + "@salesforce/b2c-tooling": "workspace:*", + "cliui": "^9.0.1" }, "devDependencies": { "@eslint/compat": "^1", diff --git a/packages/b2c-cli/src/commands/code/deploy.ts b/packages/b2c-cli/src/commands/code/deploy.ts index 712b653f..bbb6591c 100644 --- a/packages/b2c-cli/src/commands/code/deploy.ts +++ b/packages/b2c-cli/src/commands/code/deploy.ts @@ -20,11 +20,9 @@ export default class Deploy extends InstanceCommand { ]; async run(): Promise { - this.requireServer(); this.requireCodeVersion(); this.requireWebDavCredentials(); - const instance = this.createWebDavInstance(); const path = this.args.cartridgePath; const hostname = this.resolvedConfig.hostname!; const version = this.resolvedConfig.codeVersion!; @@ -34,7 +32,7 @@ export default class Deploy extends InstanceCommand { this.log(t('commands.code.deploy.codeVersion', 'Code Version: {{version}}', {version})); try { - await uploadCartridges(instance, path); + await uploadCartridges(this.instance, path); this.log(t('commands.code.deploy.complete', 'Deployment complete')); } catch (error) { if (error instanceof Error) { diff --git a/packages/b2c-cli/src/commands/sites/list.ts b/packages/b2c-cli/src/commands/sites/list.ts index 4170d268..18a7e676 100644 --- a/packages/b2c-cli/src/commands/sites/list.ts +++ b/packages/b2c-cli/src/commands/sites/list.ts @@ -1,72 +1,82 @@ +import {ux} from '@oclif/core'; +import cliui from 'cliui'; import {InstanceCommand} from '@salesforce/b2c-tooling/cli'; +import type {OcapiComponents} from '@salesforce/b2c-tooling'; import {t} from '../../i18n/index.js'; -interface SitesResponse { - _v: string; - count: number; - data: Array<{ - id: string; - display_name?: {default?: string}; - status?: string; - }>; - total: number; -} +type Sites = OcapiComponents['schemas']['sites']; +type Site = OcapiComponents['schemas']['site']; export default class SitesList extends InstanceCommand { static description = t('commands.sites.list.description', 'List sites on a B2C Commerce instance'); + static enableJsonFlag = true; + static examples = [ '<%= config.bin %> <%= command.id %>', '<%= config.bin %> <%= command.id %> --server my-sandbox.demandware.net', + '<%= config.bin %> <%= command.id %> --json', ]; - async run(): Promise { - this.requireServer(); + async run(): Promise { this.requireOAuthCredentials(); - const instance = this.createApiInstance(); const hostname = this.resolvedConfig.hostname!; this.log(t('commands.sites.list.fetching', 'Fetching sites from {{hostname}}...', {hostname})); - try { - const response = await instance.ocapiDataRequest('sites?select=(**)'); - - if (!response.ok) { - const errorText = await response.text(); - this.error( - t('commands.sites.list.fetchFailed', 'Failed to fetch sites: {{status}} {{statusText}}\n{{error}}', { - status: response.status, - statusText: response.statusText, - error: errorText, - }), - ); - } - - const data = (await response.json()) as SitesResponse; - - if (data.count === 0) { - this.log(t('commands.sites.list.noSites', 'No sites found.')); - return; - } - - this.log(''); - this.log(t('commands.sites.list.foundSites', 'Found {{count}} site(s):', {count: data.count})); - this.log(''); - - for (const site of data.data) { - const displayName = site.display_name?.default || site.id; - const status = site.status || 'unknown'; - this.log(` ${site.id}`); - this.log(` ${t('commands.sites.list.displayName', 'Display Name: {{name}}', {name: displayName})}`); - this.log(` ${t('commands.sites.list.status', 'Status: {{status}}', {status})}`); - this.log(''); - } - } catch (error) { - if (error instanceof Error) { - this.error(t('commands.sites.list.error', 'Failed to fetch sites: {{message}}', {message: error.message})); - } - throw error; + // eslint-disable-next-line new-cap + const {data, error} = await this.instance.ocapi.GET('/sites', { + params: {query: {select: '(**)'}}, + }); + + if (error) { + this.error(t('commands.sites.list.error', 'Failed to fetch sites: {{message}}', {message: String(error)})); + } + + const sites = data as Sites; + + // In JSON mode, just return the data - oclif handles output to stdout + if (this.jsonEnabled()) { + return sites; + } + + // Human-readable table output to stdout + if (!sites || sites.count === 0) { + ux.stdout(t('commands.sites.list.noSites', 'No sites found.')); + return sites; + } + + this.printSitesTable(sites.data ?? []); + + return sites; + } + + private printSitesTable(sites: Site[]): void { + const ui = cliui({width: process.stdout.columns || 80}); + + // Header + ui.div( + {text: 'ID', width: 30, padding: [0, 2, 0, 0]}, + {text: 'Display Name', width: 30, padding: [0, 2, 0, 0]}, + {text: 'Status', padding: [0, 0, 0, 0]}, + ); + + // Separator + ui.div({text: '─'.repeat(70), padding: [0, 0, 0, 0]}); + + // Rows + for (const site of sites) { + const displayName = site.display_name?.default || site.id || ''; + const status = site.storefront_status || 'unknown'; + + ui.div( + {text: site.id || '', width: 30, padding: [0, 2, 0, 0]}, + {text: displayName, width: 30, padding: [0, 2, 0, 0]}, + {text: status, padding: [0, 0, 0, 0]}, + ); } + + ux.stdout(ui.toString()); } } diff --git a/packages/b2c-cli/src/types/cliui.d.ts b/packages/b2c-cli/src/types/cliui.d.ts new file mode 100644 index 00000000..7ff73fcd --- /dev/null +++ b/packages/b2c-cli/src/types/cliui.d.ts @@ -0,0 +1,24 @@ +declare module 'cliui' { + interface Column { + text: string; + width?: number; + align?: 'center' | 'left' | 'right'; + padding?: [number, number, number, number]; + border?: boolean; + } + + interface UIOptions { + width?: number; + wrap?: boolean; + } + + interface UI { + div(...columns: (Column | string)[]): void; + span(...columns: (Column | string)[]): void; + resetOutput(): void; + toString(): string; + } + + function cliui(options?: UIOptions): UI; + export default cliui; +} diff --git a/packages/b2c-tooling/.prettierignore b/packages/b2c-tooling/.prettierignore new file mode 100644 index 00000000..c61f4a4a --- /dev/null +++ b/packages/b2c-tooling/.prettierignore @@ -0,0 +1 @@ +*.generated.ts diff --git a/packages/b2c-tooling/eslint.config.mjs b/packages/b2c-tooling/eslint.config.mjs index 44799e9c..58c1aabc 100644 --- a/packages/b2c-tooling/eslint.config.mjs +++ b/packages/b2c-tooling/eslint.config.mjs @@ -8,6 +8,9 @@ const gitignorePath = path.resolve(path.dirname(fileURLToPath(import.meta.url)), export default [ includeIgnoreFile(gitignorePath), + { + ignores: ['**/*.generated.ts'], + }, ...tseslint.configs.recommended, prettierPlugin, { diff --git a/packages/b2c-tooling/package.json b/packages/b2c-tooling/package.json index 31b6ddfa..4e52eae4 100644 --- a/packages/b2c-tooling/package.json +++ b/packages/b2c-tooling/package.json @@ -117,10 +117,12 @@ "module": "./dist/esm/index.js", "types": "./dist/esm/index.d.ts", "files": [ - "dist" + "dist", + "specs" ], "scripts": { - "build": "pnpm run build:esm && pnpm run build:cjs", + "generate:types": "openapi-typescript specs/data-api.json -o src/clients/ocapi.generated.ts", + "build": "pnpm run generate:types && pnpm run build:esm && pnpm run build:cjs", "build:esm": "tsc -p tsconfig.esm.json", "build:cjs": "tsc -p tsconfig.cjs.json && echo '{\"type\":\"commonjs\"}' > dist/cjs/package.json", "clean": "shx rm -rf dist", @@ -139,6 +141,7 @@ "eslint": "^9", "eslint-config-prettier": "^10", "eslint-plugin-prettier": "^5.5.4", + "openapi-typescript": "^7.10.1", "prettier": "^3.6.2", "shx": "^0.3.3", "typescript": "^5", @@ -157,6 +160,7 @@ }, "dependencies": { "i18next": "^25.6.3", + "openapi-fetch": "^0.15.0", "pino": "^10.1.0", "pino-pretty": "^13.1.2" } diff --git a/packages/b2c-tooling/specs/data-api.json b/packages/b2c-tooling/specs/data-api.json new file mode 100644 index 00000000..244b6f4e --- /dev/null +++ b/packages/b2c-tooling/specs/data-api.json @@ -0,0 +1,34174 @@ +{ + "openapi": "3.0.0", + "info": { + "description": "Data API endpoints enable developers to build applications for merchants: Create, update, delete business objects, like products, customers, pricing and promotions or assignments. They typically provide read and write access and are designed for moderate usage.", + "title": "Data API", + "version": "25.6" + }, + "paths": { + "/alerts/descriptors": { + "get": { + "description": "Gets a collection of all alert descriptors", + "operationId": "getAlertsDescriptors", + "responses": { + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/alert_descriptors" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/alert_descriptors" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/alert_descriptors" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "alerts" + ] + } + }, + "/alerts/descriptors/{application_id}": { + "get": { + "description": "Gets a collection of all alert descriptors for the given application context.", + "operationId": "getAlertsDescriptorsByID", + "parameters": [ + { + "description": "The application ID.", + "in": "path", + "name": "application_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The application context path (optional).", + "in": "query", + "name": "application_context_path", + "schema": { + "type": "string" + } + } + ], + "responses": { + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/alert_descriptors" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/alert_descriptors" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/alert_descriptors" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "alerts" + ] + } + }, + "/alerts/descriptors/{application_id}/{application_context_path}/{message_id}": { + "get": { + "description": "Gets a single alert descriptor", + "operationId": "getAlertsDescriptorsByIDByIDByID", + "parameters": [ + { + "description": "The application ID.", + "in": "path", + "name": "application_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The application context path.", + "in": "path", + "name": "application_context_path", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The message ID.", + "in": "path", + "name": "message_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "404": { + "description": "`AlertDescriptorNotFoundException` - If no alert descriptor was found for the given path." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/alert_descriptor" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/alert_descriptor" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/alert_descriptor" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "alerts" + ] + } + }, + "/alerts/descriptors/{application_id}/{application_context_path}/{message_id}/revalidate": { + "patch": { + "description": "

Triggers rule validation for all described descriptors.

When a validation rule for a descriptor is triggered active alerts might be deleted if the conditions are not met anymore. Additionally, new alerts might be created if conditions of a descriptor are now met.

If the alert descriptor is context-specific, a context object ID needs to be provided in the request body. The request body can be ued to further restrict the set of descriptors that are validated.

", + "operationId": "patchAlertsDescriptorsByIDByIDByIDRevalidate", + "parameters": [ + { + "description": "The application ID.", + "in": "path", + "name": "application_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The application context path.", + "in": "path", + "name": "application_context_path", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The message ID.", + "in": "path", + "name": "message_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/alert_descriptors_revalidation_request" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/alert_descriptors_revalidation_request" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/alert_descriptors_revalidation_request" + } + } + } + }, + "responses": { + "204": { + "description": "" + }, + "400": { + "description": "`ContextObjectIdRequiredException` - If the descriptor is context specific but no context object id was provided in the request body." + }, + "404": { + "description": "`AlertDescriptorNotFoundException` - If no matching alert descriptor was found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "alerts" + ] + } + }, + "/alerts/usersettings": { + "get": { + "description": "Gets the alert settings for the user.", + "operationId": "getAlertsUsersettings", + "responses": { + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/alert_settings" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/alert_settings" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/alert_settings" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "alerts" + ] + }, + "patch": { + "description": "Changes the alert settings for the user.", + "operationId": "patchAlertsUsersettings", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/alert_settings" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/alert_settings" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/alert_settings" + } + } + } + }, + "responses": { + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/alert_settings" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/alert_settings" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/alert_settings" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "alerts" + ] + } + }, + "/catalog_search": { + "post": { + "description": "

Searches for catalogs.

\n \n

The query attribute specifies a complex query that can be used to narrow down the search. These are the list\n of searchable attributes:

\n
    \n
  • id - String
  • \n
  • name - String
  • \n
  • description - String
  • \n
  • creation_date - DateTime
  • \n
  • last_modified - DateTime
  • \n
\n \n

There are two additional fields that can be used as search filters. They are not attributes in CatalogWO object, \n but can be used as filters to query catalogs based on site assignments.

\n
    \n
  • is_master_catalog - Boolean
  • \n
  • is_storefront_catalog - Boolean
  • \n
\n \n

On using is_master_catalog in the search query, catalogs without any site assignments are returned. \n On using is_storefront_catalog in the search query, catalogs with one or more site assignments are returned.

\n \n

The output of the query can also be sorted. These are the list of sortable attributes:

\n
    \n
  • id - String
  • \n
  • name - String
  • \n
  • description - String
  • \n
  • creation_date - DateTime
  • \n
", + "operationId": "postCatalogSearch", + "requestBody": { + "$ref": "#/components/requestBodies/search_request" + }, + "responses": { + "400": { + "description": "`MalformedSearchParameterException` - Thrown if the query is ill-formed." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/catalog_search_result" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/catalog_search_result" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/catalog_search_result" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalog_search" + ] + } + }, + "/catalogs": { + "get": { + "description": "Action to get all the catalogs with no filtering.", + "operationId": "getCatalogs", + "parameters": [ + { + "description": "Optional start index for retrieving the items from a given index (default 0).", + "in": "query", + "name": "start", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "Optional count for retrieving only a subset of the items (default is 25).", + "in": "query", + "name": "count", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "The property selector.", + "in": "query", + "name": "select", + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "expand", + "style": "form", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/catalogs" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/catalogs" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/catalogs" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + } + }, + "/catalogs/{catalog_id}": { + "get": { + "description": "Gets catalog information by catalog Id.\n \n Expansion \"stats\" can be used to retrieved some expensive statistic data, such as assigned_product_count and owned_product_count.\n Example: /s/-/dw/data/v99_9/catalogs/my-catalog?expand=stats", + "operationId": "getCatalogsByID", + "parameters": [ + { + "description": "The id of the requested catalog.", + "in": "path", + "name": "catalog_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "in": "query", + "name": "expand", + "style": "form", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "description": "the selector for the get. If not passed, the defaultSelector will be used instead.", + "in": "query", + "name": "select", + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": "`CatalogNotFoundException` - Thrown in case the catalog does not exist matching the given id or the catalog identified was already in deletion." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/catalog" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/catalog" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/catalog" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + }, + "patch": { + "description": "Updates the catalog with the specified information.", + "operationId": "patchCatalogsByID", + "parameters": [ + { + "description": "The id of the requested catalog.", + "in": "path", + "name": "catalog_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/catalog" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/catalog" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/catalog" + } + } + }, + "required": true + }, + "responses": { + "404": { + "description": "`CatalogNotFoundException` - Thrown in case the catalog id is unknown." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/catalog" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/catalog" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/catalog" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + } + }, + "/catalogs/{catalog_id}/categories": { + "get": { + "description": "Action to get all the categories with no filtering.", + "operationId": "getCatalogsByIDCategories", + "parameters": [ + { + "in": "path", + "name": "catalog_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "Optional start index for retrieving the items from a given index (default 0).", + "in": "query", + "name": "start", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "Optional count for retrieving only a subset of the items (default is 25).", + "in": "query", + "name": "count", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "The property selector.", + "in": "query", + "name": "select", + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "expand", + "style": "form", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "404": { + "description": "`CatalogNotFoundException` - Indicates that the catalog is not provided in the request." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/categories" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/categories" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/categories" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + } + }, + "/catalogs/{catalog_id}/categories/{category_id}": { + "delete": { + "description": "Deletes the category by catalog ID and category ID", + "operationId": "deleteCatalogsByIDCategoriesByID", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "name": "catalog_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The category id to remove", + "in": "path", + "name": "category_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`CatalogNotFoundException` - Indicates that the catalog is not provided in the request. or `CategoryNotFoundException` - Indicates that the category does not exist for the catalog provided in \n the request." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + }, + "get": { + "description": "Action to read an existing category within a catalog. By default, the server\n also returns the first level of sub-categories, but you can specify another level by setting the levels\n parameter. Please note, using a large value for levels may cause performance \n issues in case of a large and deep category tree.", + "operationId": "getCatalogsByIDCategoriesByID", + "parameters": [ + { + "description": "the id of the catalog that the category belongs to", + "in": "path", + "name": "catalog_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "the id of the category requested", + "in": "path", + "name": "category_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + }, + { + "description": "Specifies how many levels of nested sub-categories you want the server to return. The default value\n \tis 1.", + "in": "query", + "name": "levels", + "schema": { + "type": "integer", + "format": "int32", + "minimum": 0 + } + }, + { + "description": "the expansion that client can use to specify and retrieve further information about the category (Internal use only for now).", + "in": "query", + "name": "expand", + "style": "form", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "404": { + "description": "`CatalogNotFoundException` - Indicates that the catalog is not provided in the request. or `CategoryNotFoundException` - Indicates that the category does not exist for the catalog provided in \n the request." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/category" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/category" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/category" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + }, + "patch": { + "description": "Updates a catalog category using the information provided.", + "operationId": "patchCatalogsByIDCategoriesByID", + "parameters": [ + { + "description": "The id of the catalog.", + "in": "path", + "name": "catalog_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the category", + "in": "path", + "name": "category_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/category" + }, + "responses": { + "400": { + "description": "`CategoryInvalidException` - Indicates that the category in the request is not valid \n \t\t\t\t(the argument indicates the field that was invalid)." + }, + "404": { + "description": "`CatalogNotFoundException` - Indicates that the catalog is not provided in the request. or `CategoryNotFoundException` - Indicates that the category does not exist for the catalog provided in \n the request." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/category" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/category" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/category" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + }, + "put": { + "description": "Creates a catalog category using the information provided.", + "operationId": "putCatalogsByIDCategoriesByID", + "parameters": [ + { + "description": "The id of the catalog.", + "in": "path", + "name": "catalog_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the category to be created", + "in": "path", + "name": "category_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/category" + }, + "responses": { + "400": { + "description": "`CategoryInvalidException` - Indicates that the category in the request is not valid \n \t\t\t\t(the argument indicates the field that was invalid). or `IdConflictException` - Indicates that the category ID in the request URL does not match the category ID in the request body." + }, + "404": { + "description": "`CatalogNotFoundException` - Indicates that the catalog is not provided in the request." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/category" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/category" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/category" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + } + }, + "/catalogs/{catalog_id}/categories/{category_id}/category_links": { + "get": { + "description": "Action to get a set of outgoing category links in a given catalog category, sorted by position.", + "operationId": "getCatalogsByIDCategoriesByIDCategoryLinks", + "parameters": [ + { + "description": "The id of the catalog.", + "in": "path", + "name": "catalog_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the source category.", + "in": "path", + "name": "category_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "in": "query", + "name": "start", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "in": "query", + "name": "count", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "Optional select clause for getting fields from the returned JSON document.", + "in": "query", + "name": "select", + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": "`CatalogNotFoundException` - Thrown in case the source catalog does not exist or `CategoryNotFoundException` - Thrown in case the source category does not exist" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/category_links" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/category_links" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/category_links" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + } + }, + "/catalogs/{catalog_id}/categories/{category_id}/category_links/{target_catalog_id}/{target_category_id}/{type}": { + "delete": { + "description": "Deletes the category link by ID", + "operationId": "deleteCatalogsByIDCategoriesByIDCategoryLinksByIDByIDByID", + "parameters": [ + { + "description": "The id of the source catalog.", + "in": "path", + "name": "catalog_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the source category.", + "in": "path", + "name": "category_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the target catalog.", + "in": "path", + "name": "target_catalog_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the target category.", + "in": "path", + "name": "target_category_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "the link type", + "in": "path", + "name": "type", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`CatalogNotFoundException` - Thrown in case the source catalog or the target catalog do not exist or `CategoryLinkNotFoundException` - Thrown in case the category link does not exist from the source catalog/category to the destination catalog/category with the given type. or `CategoryNotFoundException` - Thrown in case the source category or the target category do not exist" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + }, + "get": { + "description": "Action to get category link information.", + "operationId": "getCatalogsByIDCategoriesByIDCategoryLinksByIDByIDByID", + "parameters": [ + { + "description": "The id of the source catalog.", + "in": "path", + "name": "catalog_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the source category.", + "in": "path", + "name": "category_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the target catalog.", + "in": "path", + "name": "target_catalog_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the target category.", + "in": "path", + "name": "target_category_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "the link type", + "in": "path", + "name": "type", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "Optional select clause for getting fields from the returned JSON document.", + "in": "query", + "name": "select", + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": "`CatalogNotFoundException` - Thrown in case the source catalog or the target catalog do not exist or `CategoryLinkNotFoundException` - Thrown in case the category link does not exist from the source catalog/category to the destination catalog/category with the given type. or `CategoryNotFoundException` - Thrown in case the source category or the target category do not exist" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/category_link" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/category_link" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/category_link" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + }, + "patch": { + "description": "Updates the category link with the specified information.", + "operationId": "patchCatalogsByIDCategoriesByIDCategoryLinksByIDByIDByID", + "parameters": [ + { + "description": "The id of the source catalog.", + "in": "path", + "name": "catalog_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the source category.", + "in": "path", + "name": "category_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the target catalog.", + "in": "path", + "name": "target_catalog_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the target category.", + "in": "path", + "name": "target_category_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "the link type", + "in": "path", + "name": "type", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/category_link" + }, + "responses": { + "404": { + "description": "`CatalogNotFoundException` - Thrown in case the source catalog or the target catalog do not exist or `CategoryLinkNotFoundException` - Thrown in case the category link does not exist from the source catalog/category to the destination catalog/category with the given type. or `CategoryNotFoundException` - Thrown in case the source category or the target category do not exist" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/category_link" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/category_link" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/category_link" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + }, + "put": { + "description": "Creates a category link using the information provided. If a category link with the same unique identifier,\n it will be updated with the new position.", + "operationId": "putCatalogsByIDCategoriesByIDCategoryLinksByIDByIDByID", + "parameters": [ + { + "description": "The id of the source catalog.", + "in": "path", + "name": "catalog_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the source category.", + "in": "path", + "name": "category_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the target catalog.", + "in": "path", + "name": "target_catalog_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the target category.", + "in": "path", + "name": "target_category_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "the link type", + "in": "path", + "name": "type", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/category_link" + }, + "responses": { + "404": { + "description": "`CatalogNotFoundException` - Thrown in case the source catalog or the target catalog do not exist or `CategoryNotFoundException` - Thrown in case the source category or the target category do not exist" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/category_link" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/category_link" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/category_link" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + } + }, + "/catalogs/{catalog_id}/categories/{category_id}/category_product_assignment_search": { + "post": { + "description": "

Searches for category product assignments.

\n \n

The query attribute specifies a complex query that can be used to narrow down the search. This is the list\n of searchable attributes:

\n
    \n
  • product_id - String
  • \n
  • product_name - String
  • \n
  • online_flag - Boolean
  • \n
  • searchable - Boolean
  • \n
  • valid_from - DateTime
  • \n
  • valid_to - DateTime
  • \n
  • creation_date - DateTime
  • \n
\n \n

Sortable Fields:

\n
    \n
  • product_id - String
  • \n
  • product_name - String
  • \n
  • position - Double
  • \n
  • creation_date - DateTime
  • \n
\n \n

Expansions that can be applied for the search request:

\n
    \n
  • product_base - String - This expand will enable retrieval of the following basic Product information:
  • \n
  • product_images - String - to fetch preview image and image groups specified for the given product
  • \n
  • product_all_images - String - to fetch preview image and image groups specified for the product plus images for its variants and variation groups
  • \n
  • product_variations - String to fetch variations related information, version 17.8+
  • \n
  • product_availability - String to fetch availability related information, version 17.8+
  • \n
  • product_categories - String to fetch category related information, version 17.8+
  • \n
  • product_prices - String to fetch prices related information, version 17.8+
  • \n
  • product_options - String to fetch options related information, version 17.8+
  • \n
  • product_all - String to fetch all expanded information, version 17.8+

    \n\n \t
      \n \t\t
    • brand
    • \n \t
    • ean
    • \n
    • link
    • \n \t
    • long_description
    • \n
    • manufacturer_name
    • \n
    • manufacturer_sku
    • \n \t\t
    • name
    • \n
    • page_description
    • \n
    • page_keywords
    • \n
    • page_title
    • \n
    • searchable
    • \n \t
    • short_description
    • \n
    • type
    • \n
    • unit
    • \n \t
    • upc
    • \n \t
  • \n
", + "operationId": "postCatalogsByIDCategoriesByIDCategoryProductAssignmentSearch", + "parameters": [ + { + "description": "The id of the catalog.", + "in": "path", + "name": "catalog_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the category.", + "in": "path", + "name": "category_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The site context.", + "in": "query", + "name": "site_id", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/category_product_assignment_search_request" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/category_product_assignment_search_request" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/category_product_assignment_search_request" + } + } + } + }, + "responses": { + "400": { + "description": "`MalformedSearchParameterException` - Thrown if the query is ill-formed." + }, + "404": { + "description": "`CatalogNotFoundException` - Thrown if the catalog does not exist matching the given category_id. or `CategoryNotFoundException` - Thrown if the category does not exist matching the given catalog_id." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/category_product_assignment_search_result" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/category_product_assignment_search_result" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/category_product_assignment_search_result" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + } + }, + "/catalogs/{catalog_id}/categories/{category_id}/products/{product_id}": { + "delete": { + "description": " Removes a category product assignment;\n \n \n

For example, if we have products A, B, C at positions 1, 2, 7.5 and delete assignment for product B, \n this will end up the products A, B, C at positions 1, null, 7.5.

", + "operationId": "deleteCatalogsByIDCategoriesByIDProductsByID", + "parameters": [ + { + "description": "The catalog of the assignment.", + "in": "path", + "name": "catalog_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the requested category.", + "in": "path", + "name": "category_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the requested product to un-assign.", + "in": "path", + "name": "product_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`CatalogNotFoundException` - Thrown if the catalog does not exist matching the given id. or `CategoryNotFoundException` - Thrown if the category does not exist matching the given id." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + }, + "get": { + "description": "Retrieves category product assignment information.\n \n Expands that can be applied for the get request\n
    \n
  • product_base - String
  • \n
  • product_images - String - to fetch image groups specified for the given product
  • \n
  • product_all_images - String - to fetch image groups specified for the given product plus images for its variants and variation groups
  • \n
", + "operationId": "getCatalogsByIDCategoriesByIDProductsByID", + "parameters": [ + { + "description": "The catalog of the assignment.", + "in": "path", + "name": "catalog_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the requested category.", + "in": "path", + "name": "category_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id (SKU) of the requested assigned product.", + "in": "path", + "name": "product_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The site context.", + "in": "query", + "name": "site_id", + "schema": { + "type": "string" + } + }, + { + "description": "The List of expansion values applied to the product associated to the assignment.", + "in": "query", + "name": "expand", + "style": "form", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "description": "The selector for the get. If not passed, then the defaultSelector will be used instead.", + "in": "query", + "name": "select", + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": "`CatalogNotFoundException` - Thrown if the catalog does not exist matching the given id. or `CategoryNotFoundException` - Thrown if the category does not exist matching the given id. or `CategoryProductAssignmentNotFoundException` - Thrown if the category product assignment does not exist matching the given ids. or `ProductNotFoundException` - Thrown if the product does not exist matching the given id." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/category_product_assignment" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/category_product_assignment" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/category_product_assignment" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + }, + "patch": { + "description": "

Updates the category product assignment with the specified information, such as position.

\n

As the assigned position n is a normalized target position , we'll make sure that the product is assigned\n to a position so that the order of positions are maintained.

\n\n

For example, if we have products A, B, C, D at positions 1, 2, 3, 4 and update product A with new position 3, \n the end result is B, C, A, D with order of positions 1, 2, 3, 4.

If we then update product C to no position,\n the end result is B, A, D, C with order of positions 1, 2, 3, null.

\n\n

If there are n existing positioned assignment, updating product to position >= n will end with new assignment with position such that the order of positions is maintained.

", + "operationId": "patchCatalogsByIDCategoriesByIDProductsByID", + "parameters": [ + { + "description": "The id of the requested catalog to which the product is assigned.", + "in": "path", + "name": "catalog_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the requested category to which the product is assigned.", + "in": "path", + "name": "category_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id (SKU) of the requested assigned product.", + "in": "path", + "name": "product_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/category_product_assignment" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/category_product_assignment" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/category_product_assignment" + } + } + }, + "required": true + }, + "responses": { + "404": { + "description": "`CatalogNotFoundException` - Thrown if the catalog does not exist matching the given id. or `CategoryNotFoundException` - Thrown if the category does not exist matching the given id. or `CategoryProductAssignmentNotFoundException` - Thrown if the category product assignment does not exist. or `ProductNotFoundException` - Thrown if the product does not exist matching the given id." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/category_product_assignment" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/category_product_assignment" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/category_product_assignment" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + }, + "put": { + "description": "

Creates a category product assignment using the information provided;

\n \n

As the assigned position n is a normalized target position , we'll make sure that the product is assigned\n to a position so that the order of positions are maintained. \n \n For example, product A, B, C at position 1, 2, 3. product D is assigned to\n position 2, the end result is A, D, B, C with order of positions 1, 2, 3, 4;

\n \n

If there are n existing positioned assignment, assigning a new product to position >= n+1 will end\n with new assignment with position n+1.

", + "operationId": "putCatalogsByIDCategoriesByIDProductsByID", + "parameters": [ + { + "description": "The id of the requested catalog to which to assign the product.", + "in": "path", + "name": "catalog_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the requested category to which to assign the product.", + "in": "path", + "name": "category_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id (SKU) of the requested product to assign.", + "in": "path", + "name": "product_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/category_product_assignment" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/category_product_assignment" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/category_product_assignment" + } + } + } + }, + "responses": { + "400": { + "description": "`IdConflictException` - if the Id in request is not the same as the ID in document." + }, + "404": { + "description": "`CatalogNotFoundException` - Thrown if the catalog does not exist matching the given id. or `CategoryNotFoundException` - Thrown if the category does not exist matching the given id. or `ProductNotFoundException` - Thrown if the product does not exist matching the given id." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/category_product_assignment" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/category_product_assignment" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/category_product_assignment" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + } + }, + "/catalogs/{catalog_id}/category_search": { + "post": { + "description": "

Searches for catalog categories in the scope of catalog

\n

By default, the server also returns the first level of subcategories,\n but you can specify another level by setting the levels parameter. \n Please note, using a large value for levels may cause performance \n issues in case of a large and deep category tree.

\n \n

The query attribute specifies a complex query that can be used to narrow down the search. These are the list\n of searchable attributes:

\n
    \n
  • id - String
  • \n
  • name - String
  • \n
  • description - String
  • \n
  • creation_date - DateTime
  • \n
  • online - Boolean
  • \n
  • parent_category_id - String
  • \n
\n\n

The output of the query can also be sorted. These are the list of sortable attributes:

\n
    \n
  • id - String
  • \n
  • name - String
  • \n
  • description - String
  • \n
  • creation_date - DateTime
  • \n
  • online - Boolean
  • \n
  • position - Double
  • \n
", + "operationId": "postCatalogsByIDCategorySearch", + "parameters": [ + { + "description": "The id of the catalog.", + "in": "path", + "name": "catalog_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + }, + { + "in": "query", + "name": "levels", + "schema": { + "type": "integer", + "format": "int32", + "minimum": 0 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/search_request" + }, + "responses": { + "400": { + "description": "`MalformedSearchParameterException` - Thrown if the query is ill-formed." + }, + "404": { + "description": "`CatalogNotFoundException` - Thrown if the specified catalog does not exist." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/category_search_result" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/category_search_result" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/category_search_result" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + } + }, + "/catalogs/{catalog_id}/shared_product_options": { + "get": { + "description": "Read shared product options in a catalog.", + "operationId": "getCatalogsByIDSharedProductOptions", + "parameters": [ + { + "description": "The id of the catalog.", + "in": "path", + "name": "catalog_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "Optional start index for retrieving the items from a given index (default 0).", + "in": "query", + "name": "start", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "Optional count for retrieving only a subset of the items (default is 25).", + "in": "query", + "name": "count", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "The property selector.", + "in": "query", + "name": "select", + "schema": { + "type": "string" + } + }, + { + "description": "The currency mnemonic for retrieving the product option values according to the sorting mode.ex:'USD'", + "in": "query", + "name": "currency", + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": "`CatalogNotFoundException` - Indicates the catalog is not found." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/product_options" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/product_options" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/product_options" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + } + }, + "/catalogs/{catalog_id}/shared_product_options/{id}": { + "delete": { + "description": "Deletes a shared product option by ID.", + "operationId": "deleteCatalogsByIDSharedProductOptionsByID", + "parameters": [ + { + "description": "The id of the catalog.", + "in": "path", + "name": "catalog_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the shared product option.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`CatalogNotFoundException` - Indicates the catalog is not found. or `ProductOptionNotFoundException` - Indicates the shared product option is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + }, + "get": { + "description": "Read a shared product option in a catalog.", + "operationId": "getCatalogsByIDSharedProductOptionsByID", + "parameters": [ + { + "description": "The id of the catalog.", + "in": "path", + "name": "catalog_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the shared product option.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The currency mnemonic for retrieving the product option values according to the sorting mode.ex:'USD'", + "in": "query", + "name": "currency", + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": "`CatalogNotFoundException` - Indicates the catalog is not found. or `ProductOptionNotFoundException` - Indicates the shared product option is not found." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/product_option" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/product_option" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/product_option" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + }, + "patch": { + "description": "Updates a shared product option with the information provided.", + "operationId": "patchCatalogsByIDSharedProductOptionsByID", + "parameters": [ + { + "description": "The id of the catalog.", + "in": "path", + "name": "catalog_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the shared product option.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/product_option" + }, + "responses": { + "404": { + "description": "`CatalogNotFoundException` - Indicates the catalog is not found. or `ProductOptionNotFoundException` - Indicates the shared product option is not found." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/product_option" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/product_option" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/product_option" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + }, + "put": { + "description": "Creates a shared product option using the information provided.", + "operationId": "putCatalogsByIDSharedProductOptionsByID", + "parameters": [ + { + "description": "The id of the catalog.", + "in": "path", + "name": "catalog_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the shared product option.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/product_option" + }, + "responses": { + "400": { + "description": "`ProductOptionDuplicateException` - Indicates the shared product option is a duplicate." + }, + "404": { + "description": "`AttributeDefinitionNotFoundException` - Indicates the id specified is not a valid attribute definition. or `CatalogNotFoundException` - Indicates the catalog is not found." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/product_option" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/product_option" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/product_option" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + } + }, + "/catalogs/{catalog_id}/shared_product_options/{option_id}/values": { + "get": { + "description": "Read shared product option values of a shared product option in a catalog.", + "operationId": "getCatalogsByIDSharedProductOptionsByIDValues", + "parameters": [ + { + "description": "The id of the catalog.", + "in": "path", + "name": "catalog_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the shared product option.", + "in": "path", + "name": "option_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "Optional start index for retrieving the items from a given index (default 0).", + "in": "query", + "name": "start", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "Optional count for retrieving only a subset of the items (default is 25).", + "in": "query", + "name": "count", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "The property selector.", + "in": "query", + "name": "select", + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": "`CatalogNotFoundException` - Indicates the catalog is not found. or `ProductOptionNotFoundException` - Indicates the shared product option is not found." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/product_option_values" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/product_option_values" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/product_option_values" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + } + }, + "/catalogs/{catalog_id}/shared_product_options/{option_id}/values/{id}": { + "delete": { + "description": "Deletes a shared product option value by ID.", + "operationId": "deleteCatalogsByIDSharedProductOptionsByIDValuesByID", + "parameters": [ + { + "description": "The id of the catalog.", + "in": "path", + "name": "catalog_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the shared product option.", + "in": "path", + "name": "option_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the shared product option value.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`CatalogNotFoundException` - Indicates the catalog is not found. or `ProductOptionNotFoundException` - Indicates the shared product option is not found. or `ProductOptionValueNotFoundException` - Indicates the shared product option value is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + }, + "get": { + "description": "Read a shared product option value of a shared product option in a catalog.", + "operationId": "getCatalogsByIDSharedProductOptionsByIDValuesByID", + "parameters": [ + { + "description": "The id of the catalog.", + "in": "path", + "name": "catalog_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the shared product option.", + "in": "path", + "name": "option_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "the id of shared product option value.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "404": { + "description": "`CatalogNotFoundException` - Indicates the catalog is not found. or `ProductOptionNotFoundException` - Indicates the shared product option is not found. or `ProductOptionValueNotFoundException` - Indicates the shared product option value is not found." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/product_option_value" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/product_option_value" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/product_option_value" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + }, + "patch": { + "description": "Updates a shared product option value with the information provided.", + "operationId": "patchCatalogsByIDSharedProductOptionsByIDValuesByID", + "parameters": [ + { + "description": "The id of the catalog.", + "in": "path", + "name": "catalog_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the shared product option.", + "in": "path", + "name": "option_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the shared product option value.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/product_option_value" + }, + "responses": { + "404": { + "description": "`CatalogNotFoundException` - Indicates the catalog is not found. or `ProductOptionNotFoundException` - Indicates the shared product option is not found. or `ProductOptionValueNotFoundException` - Indicates the shared product option value is not found." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/product_option_value" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/product_option_value" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/product_option_value" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + }, + "put": { + "description": "Creates a shared product option value using the information provided.", + "operationId": "putCatalogsByIDSharedProductOptionsByIDValuesByID", + "parameters": [ + { + "description": "The id of the catalog.", + "in": "path", + "name": "catalog_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the shared product option.", + "in": "path", + "name": "option_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the shared product option value.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/product_option_value" + }, + "responses": { + "404": { + "description": "`CatalogNotFoundException` - Indicates the catalog is not found. or `ProductOptionNotFoundException` - Indicates the shared product option is not found." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/product_option_value" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/product_option_value" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/product_option_value" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + } + }, + "/catalogs/{catalog_id}/shared_variation_attributes": { + "get": { + "description": "Reads variation attributes of a Domain.", + "operationId": "getCatalogsByIDSharedVariationAttributes", + "parameters": [ + { + "description": "id of the catalog.", + "in": "path", + "name": "catalog_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "in": "query", + "name": "start", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "in": "query", + "name": "count", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "in": "query", + "name": "select", + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": "`CatalogNotFoundException` - Indicates the catalog is not found." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/variation_attributes" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/variation_attributes" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/variation_attributes" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + } + }, + "/catalogs/{catalog_id}/shared_variation_attributes/{attribute_id}/values": { + "get": { + "description": "Reads variation attribute values of a variation attribute of a catalog.", + "operationId": "getCatalogsByIDSharedVariationAttributesByIDValues", + "parameters": [ + { + "description": "id of the owning catalog.", + "in": "path", + "name": "catalog_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The variation attribute ID that contains the values.", + "in": "path", + "name": "attribute_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "the first record to get in the page", + "in": "query", + "name": "start", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "the number of records to get", + "in": "query", + "name": "count", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "a string that specifies which fields to return (default is all).", + "in": "query", + "name": "select", + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": "`CatalogNotFoundException` - Indicates the catalog is not found. or `VariationAttributeNotFoundException` - Indicate the variation attribute is not found" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/variation_attribute_values" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/variation_attribute_values" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/variation_attribute_values" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + } + }, + "/catalogs/{catalog_id}/shared_variation_attributes/{attribute_id}/values/{id}": { + "delete": { + "description": "Deletes the variation attribute value of a variation attribute bound to a catalog", + "operationId": "deleteCatalogsByIDSharedVariationAttributesByIDValuesByID", + "parameters": [ + { + "description": "The id of the catalog.", + "in": "path", + "name": "catalog_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the variation attribute that contains the value.", + "in": "path", + "name": "attribute_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of one value to remove", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`CatalogNotFoundException` - if the catalog id specified cannot be found or `VariationAttributeNotFoundException` - if the attribute id specified is not a valid variation attribute or `VariationAttributeValueNotFoundException` - if the value id specified does not a valid value id" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + }, + "get": { + "description": "Action to get Shared Variation Attribute value information.", + "operationId": "getCatalogsByIDSharedVariationAttributesByIDValuesByID", + "parameters": [ + { + "description": "The owning catalog ID.", + "in": "path", + "name": "catalog_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The variation attribute custom ID", + "in": "path", + "name": "attribute_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the variation attribute value", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "404": { + "description": "`CatalogNotFoundException` - Indicates the catalog is not found. or `VariationAttributeNotFoundException` - Indicate the variation attribute is not found or `VariationAttributeValueNotFoundException` - Indicate the variation attribute value is not found" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/variation_attribute_value" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/variation_attribute_value" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/variation_attribute_value" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + }, + "patch": { + "description": "Updates the variation attribute value of a variation attribute of a catalog.", + "operationId": "patchCatalogsByIDSharedVariationAttributesByIDValuesByID", + "parameters": [ + { + "description": "The id of the catalog.", + "in": "path", + "name": "catalog_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the requested variation attribute.", + "in": "path", + "name": "attribute_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the variation value.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/variation_attribute_value" + }, + "responses": { + "404": { + "description": "`CatalogNotFoundException` - if the catalog id specified cannot be found or `VariationAttributeNotFoundException` - if the attribute id specified is not a valid variation attribute or `VariationAttributeValueNotFoundException` - if the value id specified does not a valid value id" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/variation_attribute_value" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/variation_attribute_value" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/variation_attribute_value" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + }, + "put": { + "description": "Action to create a Shared Variation Attribute value.", + "operationId": "putCatalogsByIDSharedVariationAttributesByIDValuesByID", + "parameters": [ + { + "description": "The owning catalog ID.", + "in": "path", + "name": "catalog_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The variation attribute ID", + "in": "path", + "name": "attribute_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the variation attribute value", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/variation_attribute_value" + }, + "responses": { + "404": { + "description": "`CatalogNotFoundException` - Indicates the catalog is not found. or `VariationAttributeNotFoundException` - Indicate the variation attribute is not found or `VariationAttributeValueNotFoundException` - Indicate the variation attribute value is not found" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/variation_attribute_value" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/variation_attribute_value" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/variation_attribute_value" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + } + }, + "/catalogs/{catalog_id}/shared_variation_attributes/{id}": { + "delete": { + "description": "Deletes the shared variation attribute by ID.", + "operationId": "deleteCatalogsByIDSharedVariationAttributesByID", + "parameters": [ + { + "description": "The id of the catalog.", + "in": "path", + "name": "catalog_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "One variation attribute id to remove.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`CatalogNotFoundException` - Indicates the catalog is not found. or `VariationAttributeNotFoundException` - Thrown if the variation attribute does not exist." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + }, + "get": { + "description": "Action to get shared variation attribute information only for master Catalog.", + "operationId": "getCatalogsByIDSharedVariationAttributesByID", + "parameters": [ + { + "description": "The id of the catalog.", + "in": "path", + "name": "catalog_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the requested variation attribute.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "404": { + "description": "`CatalogNotFoundException` - Indicates the catalog is not found. or `VariationAttributeNotFoundException` - Thrown if the variation attribute matching the given id does not exist." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/variation_attribute" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/variation_attribute" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/variation_attribute" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + }, + "patch": { + "description": "Updates the shared variation attribute with the specified information.\n\n
    \n
  • name
  • \n
  • slicing
  • \n
", + "operationId": "patchCatalogsByIDSharedVariationAttributesByID", + "parameters": [ + { + "description": "The id of the catalog.", + "in": "path", + "name": "catalog_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the requested variation attribute.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/variation_attribute" + }, + "responses": { + "404": { + "description": "`CatalogNotFoundException` - if the specified catalog id cannot be found." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/variation_attribute" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/variation_attribute" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/variation_attribute" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + }, + "put": { + "description": "Creates a shared variation attribute using the information provided. \n To create a variation attribute specific to a product, use the products resource.", + "operationId": "putCatalogsByIDSharedVariationAttributesByID", + "parameters": [ + { + "description": "The id of the catalog.", + "in": "path", + "name": "catalog_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the variation attribute to create.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/variation_attribute" + }, + "responses": { + "400": { + "description": "`SharedVariationAttributeIDNotUniqueException` - if the specified id isn't unique." + }, + "404": { + "description": "`AttributeDefinitionNotFoundException` - if attribute definition supplied is not a product attribute. or `CatalogNotFoundException` - Indicates the catalog is not found." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/variation_attribute" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/variation_attribute" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/variation_attribute" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "catalogs" + ] + } + }, + "/category_search": { + "post": { + "description": "

Searches for catalog categories anywhere they appear.

\n

By default, the server also returns the first level of subcategories,\n but you can specify another level by setting the levels parameter. \n Please note, using a large value for levels may cause performance \n issues in case of a large and deep category tree.

\n \n

The query attribute specifies a complex query that can be used to narrow down the search. These are the list\n of searchable attributes:

\n
    \n
  • id - String
  • \n
  • name - String
  • \n
  • description - String
  • \n
  • creation_date - DateTime
  • \n
  • online - Boolean
  • \n
  • catalog_id - String
  • \n
\n\n

The output of the query can also be sorted. These are the list of sortable attributes:

\n
    \n
  • id - String
  • \n
  • name - String
  • \n
  • description - String
  • \n
  • creation_date - DateTime
  • \n
  • online - Boolean
  • \n
  • position - Double
  • \n
", + "operationId": "postCategorySearch", + "parameters": [ + { + "in": "query", + "name": "levels", + "schema": { + "type": "integer", + "format": "int32", + "minimum": 0 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/search_request" + }, + "responses": { + "400": { + "description": "`MalformedSearchParameterException` - Thrown if the query is ill-formed." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/category_search_result" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/category_search_result" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/category_search_result" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "category_search" + ] + } + }, + "/code_versions": { + "get": { + "description": "Read all existing code versions.", + "operationId": "getCodeVersions", + "responses": { + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/code_version_result" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/code_version_result" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/code_version_result" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "code_versions" + ] + } + }, + "/code_versions/{code_version_id}": { + "delete": { + "description": "Delete a code version.", + "operationId": "deleteCodeVersionsByID", + "parameters": [ + { + "description": "The id of the code version.", + "in": "path", + "name": "code_version_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "204": { + "description": "" + }, + "400": { + "description": "`CodeVersionModificationException` - Indicates that a code version with the given id can't be \n deleted (because it is active)." + }, + "404": { + "description": "`CodeVersionIdNotFoundException` - Indicates that a code version with the given id was not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "code_versions" + ] + }, + "get": { + "description": "Read a code version.", + "operationId": "getCodeVersionsByID", + "parameters": [ + { + "description": "The id of the code version.", + "in": "path", + "name": "code_version_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The expand parameter. Allowed value (size).", + "in": "query", + "name": "expand", + "style": "form", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "404": { + "description": "`CodeVersionIdNotFoundException` - Indicates that a code version with the given id was not found." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/code_version" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/code_version" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/code_version" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "code_versions" + ] + }, + "patch": { + "description": "Update an existing code version.\n
    \n
  • Only an inactive code version can be updated.
  • \n
  • Only the active flag and the id can be changed. The active flag can therefore only set to \"true\".
  • \n
  • To set the active flag to \"false\" will not work.
  • \n
", + "operationId": "patchCodeVersionsByID", + "parameters": [ + { + "description": "The id of the code version.", + "in": "path", + "name": "code_version_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/code_version" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/code_version" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/code_version" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "`CodeVersionModificationException` - Indicates that a code version with the given id can't be updated (because it is active)." + }, + "404": { + "description": "`CodeVersionIdNotFoundException` - Indicates that a code version with the given id was not found." + }, + "409": { + "description": "`CodeVersionIdAlreadyExistsException` - Indicates that a code version with the given id already exists." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/code_version" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/code_version" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/code_version" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "code_versions" + ] + }, + "put": { + "description": "Create a new code version.", + "operationId": "putCodeVersionsByID", + "parameters": [ + { + "description": "The id of the code version.", + "in": "path", + "name": "code_version_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "409": { + "description": "`CodeVersionIdAlreadyExistsException` - Indicates that a code version with the given id already exists." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/code_version" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/code_version" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/code_version" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "code_versions" + ] + } + }, + "/custom_object_definitions/{object_type}/attribute_definition_search": { + "post": { + "description": "

Searches the attribute definitions of the specified custom object type.

\n

The query attribute specifies a complex query that can be used to narrow down the search. Attributes are grouped\n into different buckets. These are the list of searchable attributes with their corresponding buckets:

\n\n

Main:

\n
    \n
  • id - String
  • \n
  • display_name* - Localized String
  • \n
  • description* - Localized String
  • \n
  • key - boolean
  • \n
  • mandatory - boolean
  • \n
  • searchable - boolean
  • \n
  • system - boolean
  • \n
  • visible - boolean
  • \n
\n

Definition version:

\n
    \n
  • localizable - boolean
  • \n
  • site_specific - boolean
  • \n
  • value_type - one of {string, int, double, text, html, date, image, boolean, money, quantity, datetime, email, password, set_of_string, set_of_int, set_of_double, enum_of_string, enum_of_int, unknown}
  • \n
\n\n

Only attributes in the same bucket can be joined using a disjunction (OR).\n For instance, when joining localizable and description above, only a conjunction is allowed (AND), whereas display_name\n and description can be joined using a disjunction because they are in the same bucket. If an attribute\n is used in a disjunction (OR) that violates this rule, an exception will be thrown.

\n\n

Additionally, attribute definitions can also be searched by attribute group.\n

  • group - String
\n

\n\n

These attributes are not searchable or sortable for built in system attributes. They work normally for non\n system attributes.

\n\n

Note that only searchable attributes can be used in sorting.

", + "operationId": "postCustomObjectDefinitionsByIDAttributeDefinitionSearch", + "parameters": [ + { + "description": "The type of object", + "in": "path", + "name": "object_type", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/search_request" + }, + "responses": { + "400": { + "description": "`MalformedSearchParameterException` - Indicates the query is ill-formed." + }, + "404": { + "description": "`ObjectTypeNotFoundException` - Indicates that the object type cannot be found." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/object_attribute_definition_search_result" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/object_attribute_definition_search_result" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/object_attribute_definition_search_result" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "custom_object_definitions" + ] + } + }, + "/custom_object_definitions/{object_type}/attribute_definitions": { + "get": { + "description": "Action to get all the attribute definitions with no filtering.", + "operationId": "getCustomObjectDefinitionsByIDAttributeDefinitions", + "parameters": [ + { + "in": "path", + "name": "object_type", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "Optional start index for retrieving the items from a given index (default 0).", + "in": "query", + "name": "start", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "Optional count for retrieving only a subset of the items (default is 25).", + "in": "query", + "name": "count", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "The property selector.", + "in": "query", + "name": "select", + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": "`ObjectTypeNotFoundException` - Thrown in case the object type cannot be found" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/object_attribute_definitions" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/object_attribute_definitions" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/object_attribute_definitions" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "custom_object_definitions" + ] + } + }, + "/custom_object_definitions/{object_type}/attribute_definitions/{id}": { + "delete": { + "description": "Deletes the attribute definition by ID", + "operationId": "deleteCustomObjectDefinitionsByIDAttributeDefinitionsByID", + "parameters": [ + { + "description": "The metadata object that contains these definitions", + "in": "path", + "name": "object_type", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "Attribute definition id to remove", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "204": { + "description": "" + }, + "400": { + "description": "`AttributeDefinitionKeyReadOnlyException` - Thrown when trying to delete a key attribute of custom object or `AttributeDefinitionReadOnlyException` - Thrown when trying to delete a internal attribute of custom object" + }, + "404": { + "description": "`AttributeDefinitionNotFoundException` - Thrown in case the attribute definition does not exist matching the given id or `ObjectTypeNotFoundException` - Thrown in case the object type cannot be found" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "custom_object_definitions" + ] + }, + "get": { + "description": "Action to get attribute definition information.", + "operationId": "getCustomObjectDefinitionsByIDAttributeDefinitionsByID", + "parameters": [ + { + "description": "The object type id that contains these definitions", + "in": "path", + "name": "object_type", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "The id of the requested attribute definition.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The expand \"value\" is available to retrieve value definitions of the attribute definition.", + "in": "query", + "name": "expand", + "style": "form", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "description": "The selector for the get. If not passed, then the defaultSelector will be used instead.", + "in": "query", + "name": "select", + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": "`AttributeDefinitionNotFoundException` - Thrown in case the attribute definition does not exist matching the given id or `ObjectTypeNotFoundException` - Thrown in case the object type cannot be found" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/object_attribute_definition" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/object_attribute_definition" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/object_attribute_definition" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "custom_object_definitions" + ] + }, + "patch": { + "description": "Updates the attribute definition with the specified information.", + "operationId": "patchCustomObjectDefinitionsByIDAttributeDefinitionsByID", + "parameters": [ + { + "description": "The object type id that contains these definitions", + "in": "path", + "name": "object_type", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "The id of the requested attribute definition.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "in": "header", + "name": "If-Match", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/object_attribute_definition" + }, + "responses": { + "400": { + "description": "`AttributeDefinitionKeyReadOnlyException` - Thrown when trying to modify a key attribute of custom object or `AttributeDefinitionPropertyReadOnlyException` - Thrown in case a read only system attribute it tried to be changed, which is not allowed." + }, + "404": { + "description": "`AttributeDefinitionNotFoundException` - Thrown in case the attribute definition does not exist matching the given id or `ObjectTypeNotFoundException` - Thrown in case the object type cannot be found" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/object_attribute_definition" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/object_attribute_definition" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/object_attribute_definition" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "custom_object_definitions" + ] + }, + "put": { + "description": "Creates a attribute definition using the information provided.", + "operationId": "putCustomObjectDefinitionsByIDAttributeDefinitionsByID", + "parameters": [ + { + "description": "The metadata object that contains these definitions", + "in": "path", + "name": "object_type", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "The id of the attribute definition to create.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/object_attribute_definition" + }, + "responses": { + "400": { + "description": "`AttributeDefinitionCreateException` - if the attribute definition could not be created. or `AttributeDefinitionKeyReadOnlyException` - Thrown when trying to create a key attribute of a custom object or `AttributeDefinitionLocalizableNotAllowedException` - if trying to create a localizable attribute with a non-localizable type or `IdConflictException` - if the Id in request is not the same as the ID in document." + }, + "404": { + "description": "`ObjectTypeNotFoundException` - Thrown in case the object type cannot be found" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/object_attribute_definition" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/object_attribute_definition" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/object_attribute_definition" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "custom_object_definitions" + ] + } + }, + "/custom_object_definitions/{object_type}/attribute_group_search": { + "post": { + "description": "

Searches for attribute groups.

\n \n

The query attribute specifies a complex query that can be used to narrow down the search. These are the list\n of searchable attributes:

\n
    \n
  • id - String
  • \n
  • display_name - Localized < String >
  • \n
  • description - Localized < String >
  • \n
  • position - Double
  • \n
  • internal - Boolean
  • \n
\n\n

The output of the query can also be sorted. These are the list of sortable attributes:

\n
    \n
  • id - String
  • \n
  • display_name - Localized < String >
  • \n
  • description - Localized < String >
  • \n
  • position - Double
  • \n
  • internal - Boolean
  • \n
", + "operationId": "postCustomObjectDefinitionsByIDAttributeGroupSearch", + "parameters": [ + { + "in": "path", + "name": "object_type", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/search_request" + }, + "responses": { + "400": { + "description": "`MalformedSearchParameterException` - Thrown if the query is ill-formed." + }, + "404": { + "description": "`ObjectTypeNotFoundException` - Thrown in case the object type cannot be found" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/object_attribute_group_search_result" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/object_attribute_group_search_result" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/object_attribute_group_search_result" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "custom_object_definitions" + ] + } + }, + "/custom_object_definitions/{object_type}/attribute_groups": { + "get": { + "description": "Action to get all the attribute groups with no filtering.", + "operationId": "getCustomObjectDefinitionsByIDAttributeGroups", + "parameters": [ + { + "in": "path", + "name": "object_type", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "Optional start index for retrieving the items from a given index (default 0).", + "in": "query", + "name": "start", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "Optional count for retrieving only a subset of the items (default is 25).", + "in": "query", + "name": "count", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "The property selector.", + "in": "query", + "name": "select", + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "expand", + "style": "form", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "404": { + "description": "`ObjectTypeNotFoundException` - Thrown in case the object type cannot be found" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/object_attribute_groups" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/object_attribute_groups" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/object_attribute_groups" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "custom_object_definitions" + ] + } + }, + "/custom_object_definitions/{object_type}/attribute_groups/{group_id}/attribute_definitions/{def_id}": { + "delete": { + "description": "Un-assign an attribute definition from an attribute group.", + "operationId": "deleteCustomObjectDefinitionsByIDAttributeGroupsByIDAttributeDefinitionsByID", + "parameters": [ + { + "description": "The ID of the custom object that contains the attribute definition and attribute group.", + "in": "path", + "name": "object_type", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "The ID of the attribute group.", + "in": "path", + "name": "group_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The ID of the attribute definition.", + "in": "path", + "name": "def_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`AttributeDefinitionNotFoundException` - Indicates the specified attribute definition is not found. or `AttributeGroupNotFoundException` - Indicates the specified attribute group is not found. or `ObjectTypeNotFoundException` - Indicates the specified custom object is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "custom_object_definitions" + ] + }, + "put": { + "description": "Assign an attribute definition to an attribute group.", + "operationId": "putCustomObjectDefinitionsByIDAttributeGroupsByIDAttributeDefinitionsByID", + "parameters": [ + { + "description": "The ID of the custom object that contains the attribute definition and attribute group.", + "in": "path", + "name": "object_type", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "The ID of the attribute group.", + "in": "path", + "name": "group_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The ID of the attribute definition.", + "in": "path", + "name": "def_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`AttributeDefinitionNotFoundException` - Indicates the specified attribute definition is not found. or `AttributeGroupNotFoundException` - Indicates the specified attribute group is not found. or `ObjectTypeNotFoundException` - Indicates the specified custom object is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "custom_object_definitions" + ] + } + }, + "/custom_object_definitions/{object_type}/attribute_groups/{id}": { + "delete": { + "description": "Deletes the attribute group by ID", + "operationId": "deleteCustomObjectDefinitionsByIDAttributeGroupsByID", + "parameters": [ + { + "description": "the object type id that contains this attribute group", + "in": "path", + "name": "object_type", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "One attribute group id to remove", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`AttributeGroupNotFoundException` - Thrown in case the attribute group does not exist matching the given id or `ObjectTypeNotFoundException` - Thrown in case the object type cannot be found" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "custom_object_definitions" + ] + }, + "get": { + "description": "Action to get attribute group information.", + "operationId": "getCustomObjectDefinitionsByIDAttributeGroupsByID", + "parameters": [ + { + "description": "the object type id that contains this attribute group", + "in": "path", + "name": "object_type", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "The id of the requested attribute group.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "in": "query", + "name": "select", + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "expand", + "style": "form", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "404": { + "description": "`AttributeGroupNotFoundException` - Thrown in case the attribute group does not exist matching the given id or `ObjectTypeNotFoundException` - Thrown in case the object type cannot be found" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/object_attribute_group" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/object_attribute_group" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/object_attribute_group" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "custom_object_definitions" + ] + }, + "patch": { + "description": "Updates the attribute group with the specified information.", + "operationId": "patchCustomObjectDefinitionsByIDAttributeGroupsByID", + "parameters": [ + { + "description": "the object type id that contains this attribute group", + "in": "path", + "name": "object_type", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "The id of the requested attribute group.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "in": "header", + "name": "If-Match", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/object_attribute_group" + }, + "responses": { + "404": { + "description": "`AttributeGroupNotFoundException` - Thrown in case the attribute group does not exist matching the given id or `ObjectTypeNotFoundException` - Thrown in case the object type cannot be found" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/object_attribute_group" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/object_attribute_group" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/object_attribute_group" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "custom_object_definitions" + ] + }, + "put": { + "description": "Creates a attribute group using the information provided.", + "operationId": "putCustomObjectDefinitionsByIDAttributeGroupsByID", + "parameters": [ + { + "description": "the object type id that contains this attribute group", + "in": "path", + "name": "object_type", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "The id of the attribute group to create.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/object_attribute_group" + }, + "responses": { + "400": { + "description": "`IdConflictException` - when the id in the body does not match that provided in the URL" + }, + "404": { + "description": "`ObjectTypeNotFoundException` - Thrown in case the object type cannot be found" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/object_attribute_group" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/object_attribute_group" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/object_attribute_group" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "custom_object_definitions" + ] + } + }, + "/custom_objects/{object_type}/{key}": { + "delete": { + "description": "Deletes a global Custom Object. If the Custom Object does not exist, this will do nothing. Note that the customization scripts are only called, if the Custom Object does exist.", + "operationId": "deleteCustomObjectsByIDByID", + "parameters": [ + { + "description": "the ID of the object type", + "in": "path", + "name": "object_type", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "the key attribute value of the Custom Object", + "in": "path", + "name": "key", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "204": { + "description": "" + }, + "400": { + "description": "`MalformedKeyParameterException` - If the object key must be an integer, but the path parameter has an invalid format" + }, + "404": { + "description": "`ObjectTypeNotFoundException` - For an unknown object type ID" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "custom_objects" + ] + }, + "get": { + "description": "Reads a global Custom Object with a given object type ID and a value for the key attribute of the object which represents its unique identifier.", + "operationId": "getCustomObjectsByIDByID", + "parameters": [ + { + "description": "the ID of the object type", + "in": "path", + "name": "object_type", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "the key attribute value of the Custom Object", + "in": "path", + "name": "key", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "400": { + "description": "`MalformedKeyParameterException` - If the object key must be an integer, but the path parameter has an invalid format" + }, + "404": { + "description": "`ObjectTypeNotFoundException` - For an unknown object type ID or `CustomObjectNotFoundException` - For an unknown object key" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/custom_object" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/custom_object" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/custom_object" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "custom_objects" + ] + }, + "patch": { + "description": "

Updates a global Custom Object with information from the request body. Note that only provided attributes are updated and that the key attribute is ignored. All other attributes are unchanged.

Use Custom Properties prefixed with c_ to define the Custom Object fields.
For localizable strings, structure the field to support multiple language values by using a map where each locale, for example: en_US, fr_FR, has its corresponding string value.

", + "operationId": "patchCustomObjectsByIDByID", + "parameters": [ + { + "description": "the ID of the object type", + "in": "path", + "name": "object_type", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "the key attribute value of the Custom Object", + "in": "path", + "name": "key", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/custom_object" + }, + "responses": { + "400": { + "description": "`MalformedKeyParameterException` - If the object key must be an integer, but the path parameter has an invalid format" + }, + "404": { + "description": "`ObjectTypeNotFoundException` - For an unknown object type ID or `CustomObjectNotFoundException` - For an unknown object key" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/custom_object" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/custom_object" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/custom_object" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "custom_objects" + ] + }, + "put": { + "description": "

Creates a global Custom Object from the request body. Note that an existing global Custom Object with the same key is overwritten by this action.

Use Custom Properties prefixed with c_ to define the Custom Object fields.
For localizable strings, structure the field to support multiple language values by using a map where each locale, for example: en_US, fr_FR, has its corresponding string value.

", + "operationId": "putCustomObjectsByIDByID", + "parameters": [ + { + "description": "the ID of the object type", + "in": "path", + "name": "object_type", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "the key attribute value of the Custom Object", + "in": "path", + "name": "key", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/custom_object2" + }, + "responses": { + "400": { + "description": "`MalformedKeyParameterException` - If the object key must be an integer, but the path parameter has an invalid format" + }, + "404": { + "description": "`ObjectTypeNotFoundException` - For an unknown object type ID or `CustomObjectNotFoundException` - For an unknown object key" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/custom_object" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/custom_object" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/custom_object" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "custom_objects" + ] + } + }, + "/custom_objects_search/{object_type}": { + "post": { + "description": "

Search resource for custom objects in scope of a specific custom object type.

\n \n

The custom object search document contains a search object that allows filtering on various attributes.

\n \n \n

The query attribute specifies a complex query that can be used to narrow down the search. These are the list\n of searchable attributes:

\n
    \n
  • key_value_string - String
  • \n
  • key_value_integer - Integer
  • \n
  • creation_date - Date
  • \n
  • last_modified - Date
  • \n
  • site_id - String
  • \n
  • any custom attribute
  • \n
\n \n

Note that only searchable attributes can be used in sorting.

", + "operationId": "postCustomObjectsSearchByID", + "parameters": [ + { + "description": "ID of the object type to search objects for", + "in": "path", + "name": "object_type", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/search_request" + }, + "responses": { + "400": { + "description": "`TypeMissmatchException` - Indicates that the value to search with does not match the\n type of the search field." + }, + "404": { + "description": "`ObjectTypeNotFoundException` - In case of an unknown object type." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/custom_object_search_result" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/custom_object_search_result" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/custom_object_search_result" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "custom_objects_search" + ] + } + }, + "/customer_lists/{customer_list_id}/customer_search": { + "post": { + "description": "Action to search for customers in a customer list.\n\n The query attribute specifies a complex query that can be used to narrow down the search.\n Note that a text_query search only returns exact word matches. For example, the search \n term \"Jon\" returns \"Jon Smith\", but doesn't return \"Jonathan Smith\".\n \n The sum of the values of the start and count parameters should not be more than 10000.\n \n These attributes are searchable:\n\n
    \n
  • customer_no - String
  • \n
  • first_name - String
  • \n
  • second_name - String
  • \n
  • last_name - String
  • \n
  • suffix - String
  • \n
  • salutation - String
  • \n
  • title - String
  • \n
  • fax - String
  • \n
  • phone_home - String
  • \n
  • phone_business - String
  • \n
  • phone_mobile - String
  • \n
  • email - String
  • \n
  • gender - Integer
  • \n
  • company_name - String
  • \n
  • credentials.login - String
  • \n
  • credentials.enabled - boolean
  • \n
", + "operationId": "postCustomerListsByIDCustomerSearch", + "parameters": [ + { + "description": "The customer list id to search in", + "in": "path", + "name": "customer_list_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/search_request" + }, + "responses": { + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/customer_search_result" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/customer_search_result" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/customer_search_result" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "customer_lists" + ] + } + }, + "/customer_lists/{list_id}": { + "get": { + "description": "Action to read an existing customerlist.", + "operationId": "getCustomerListsByID", + "parameters": [ + { + "description": "the id of the customerlist", + "in": "path", + "name": "list_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "404": { + "description": "`CustomerListNotFoundException` - Indicates that there was no customerlist found for the customerlist id." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/customer_list" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/customer_list" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/customer_list" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "customer_lists" + ] + } + }, + "/customer_lists/{list_id}/customers": { + "post": { + "description": "Action to create a new customer. The customer is created using the specified credentials and customer\n information.This action verifies the following:\n
    \n
  • Login acceptance criteria and uniqueness
  • \n
  • Mandatory customer properties
  • \n
\n If the action fails to create the customer, it returns a 400 fault with an appropriate message.", + "operationId": "postCustomerListsByIDCustomers", + "parameters": [ + { + "description": "The customer list id", + "in": "path", + "name": "list_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/customer" + }, + "responses": { + "400": { + "description": "`CredentialsMissingException` - Indicates that the mandatory credentials are missing in the input document. or `InvalidLoginException` - Indicates the login does not match the login acceptance criteria. or `LoginAlreadyInUseException` - Indicates the login is already in use. or `LoginMissingException` - Indicates that the mandatory login property is missing in the input document." + }, + "404": { + "description": "`CustomerListNotFoundException` - Indicates that the customer list with the given customer list id is unknown." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/customer" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/customer" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/customer" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "customer_lists" + ] + } + }, + "/customer_lists/{list_id}/customers/{customer_no}": { + "delete": { + "description": "Deletes the customer including all related information like the customer addresses.
\n\n Returns a status code of 204 on successful completion when deleting the customer. If the customer to be deleted\n did not exist, a 204 will still be returned to indicate the resource is no longer present in the system.", + "operationId": "deleteCustomerListsByIDCustomersByID", + "parameters": [ + { + "description": "The customer list id", + "in": "path", + "name": "list_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The customer number", + "in": "path", + "name": "customer_no", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`CustomerListCustomerNotFoundException` - Indicates that the customer with the given customer number is\n unknown. or `CustomerListNotFoundException` - Indicates that the customer list with the given customer list id is\n unknown." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "customer_lists" + ] + }, + "get": { + "description": "Action to get customer information.", + "operationId": "getCustomerListsByIDCustomersByID", + "parameters": [ + { + "description": "The customer list id", + "in": "path", + "name": "list_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The customer number", + "in": "path", + "name": "customer_no", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "404": { + "description": "`CustomerListCustomerNotFoundException` - Indicates that the customer with the given customer number is unknown. or `CustomerListNotFoundException` - Indicates that the customer list with the given customer list id is unknown." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/customer" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/customer" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/customer" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "customer_lists" + ] + }, + "patch": { + "description": "Updates the customer with the specified information. The customer number is allowed to be updated but will result in a\n CustomerNumberAlreadyInUseException if there is already another customer with the same customer number existing.", + "operationId": "patchCustomerListsByIDCustomersByID", + "parameters": [ + { + "description": "The customer list id", + "in": "path", + "name": "list_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The customer number", + "in": "path", + "name": "customer_no", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/customer" + }, + "responses": { + "400": { + "description": "`InvalidLoginException` - Indicates the login does not match the login acceptance criteria. or `LoginAlreadyInUseException` - Indicates the login is already in use." + }, + "404": { + "description": "`CustomerListCustomerNotFoundException` - Indicates that the customer with the given customer number is unknown. or `CustomerListNotFoundException` - Indicates that the customer list with the given customer list id is unknown." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/customer" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/customer" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/customer" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "customer_lists" + ] + }, + "put": { + "description": "Action to create a new customer. The customer is created using the specified customer number, credentials and\n customer information.This action verifies the following:\n
    \n
  • Login acceptance criteria and uniqueness
  • \n
  • Mandatory customer properties
  • \n
\n If the action fails to create the customer, it returns a 400 fault with an appropriate message.", + "operationId": "putCustomerListsByIDCustomersByID", + "parameters": [ + { + "description": "The customer list id", + "in": "path", + "name": "list_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The customer number", + "in": "path", + "name": "customer_no", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/customer" + }, + "responses": { + "400": { + "description": "`CredentialsMissingException` - Indicates that the mandatory credentials are missing in the input document. or `InvalidLoginException` - Indicates the login does not match the login acceptance criteria. or `LoginAlreadyInUseException` - Indicates that the given login is already in use. or `LoginMissingException` - Indicates that the mandatory login property is missing in the input document." + }, + "404": { + "description": "`CustomerListNotFoundException` - Indicates that the customer list with the given customer list id is unknown." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/customer" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/customer" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/customer" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "customer_lists" + ] + } + }, + "/customer_lists/{list_id}/customers/{customer_no}/addresses": { + "get": { + "description": "Action that returns a pageable list of all customer addresses. The\n default page size is 10 customer addresses.", + "operationId": "getCustomerListsByIDCustomersByIDAddresses", + "parameters": [ + { + "description": "The customer list id", + "in": "path", + "name": "list_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The customer number", + "in": "path", + "name": "customer_no", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The result set index to return the first instance for. Default value is 0.", + "in": "query", + "name": "start", + "schema": { + "type": "integer", + "format": "int32", + "minimum": 0 + } + }, + { + "description": "The maximum number of instances per request. Default value is 25.", + "in": "query", + "name": "count", + "schema": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 200 + } + } + ], + "responses": { + "404": { + "description": "`CustomerListCustomerNotFoundException` - Indicates that the customer with the given customer number is unknown. or `CustomerListNotFoundException` - Indicates that the customer list with the given customer list id is unknown." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/customer_address_result" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/customer_address_result" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/customer_address_result" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "customer_lists" + ] + }, + "post": { + "description": "The action creates a new customer address with the given address\n information.", + "operationId": "postCustomerListsByIDCustomersByIDAddresses", + "parameters": [ + { + "description": "The customer list id", + "in": "path", + "name": "list_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The customer number", + "in": "path", + "name": "customer_no", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/customer_address" + }, + "responses": { + "400": { + "description": "`AddressIdAlreadyInUseException` - If the address id is already in use. or `InvalidAddressIdException` - If the address id is null or empty." + }, + "404": { + "description": "`CustomerListCustomerNotFoundException` - Indicates that the customer with the given customer number is unknown. or `CustomerListNotFoundException` - Indicates that the customer list with the given customer list id is unknown." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/customer_address" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/customer_address" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/customer_address" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "customer_lists" + ] + } + }, + "/customer_lists/{list_id}/customers/{customer_no}/addresses/{address_id}": { + "delete": { + "description": "Action which deletes a customer address.", + "operationId": "deleteCustomerListsByIDCustomersByIDAddressesByID", + "parameters": [ + { + "description": "The customer list id", + "in": "path", + "name": "list_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The customer number", + "in": "path", + "name": "customer_no", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The address id", + "in": "path", + "name": "address_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`CustomerListCustomerNotFoundException` - Indicates that the customer with the given customer number is unknown. or `CustomerListNotFoundException` - Indicates that the customer list with the given customer list id is unknown." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "customer_lists" + ] + }, + "get": { + "description": "Action which returns an address of a customer.", + "operationId": "getCustomerListsByIDCustomersByIDAddressesByID", + "parameters": [ + { + "description": "The customer list id", + "in": "path", + "name": "list_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The customer number", + "in": "path", + "name": "customer_no", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The address id", + "in": "path", + "name": "address_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "404": { + "description": "`CustomerListCustomerAddressNotFoundException` - Indicates that the customer address id is unknown. or `CustomerListCustomerNotFoundException` - Indicates that the customer with the given customer number is unknown. or `CustomerListNotFoundException` - Indicates that the customer list with the given customer list id is unknown." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/customer_address" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/customer_address" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/customer_address" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "customer_lists" + ] + }, + "patch": { + "description": "Action which updates an address of a customer with the given address information.", + "operationId": "patchCustomerListsByIDCustomersByIDAddressesByID", + "parameters": [ + { + "description": "The customer list id", + "in": "path", + "name": "list_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The customer number", + "in": "path", + "name": "customer_no", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The address id", + "in": "path", + "name": "address_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/customer_address" + }, + "responses": { + "400": { + "description": "`AddressIdAlreadyInUseException` - If the new address id is already in use. or `InvalidAddressIdException` - If the new address id is empty." + }, + "404": { + "description": "`CustomerListCustomerAddressNotFoundException` - Indicates that the customer address id is unknown. or `CustomerListCustomerNotFoundException` - Indicates that the customer with the given customer number is unknown. or `CustomerListNotFoundException` - Indicates that the customer list with the given customer list id is unknown." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/customer_address" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/customer_address" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/customer_address" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "customer_lists" + ] + } + }, + "/global_preferences/preference_groups/{group_id}/{instance_type}": { + "get": { + "description": "For the specified instance, read the custom preferences in the preference group at the global(organization) level.\n Specify 'current' to retrieve the preferences for the instance on which this call is being made. The system will recognize its type.\n\n

Note: If instance type sandbox is used, the preference values of development instance type will be returned as fallback.

", + "operationId": "getGlobalPreferencesPreferenceGroupsByIDByID", + "parameters": [ + { + "description": "One of {staging,development,sandbox,production,current}.", + "in": "path", + "name": "instance_type", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "The ID of the preference group.", + "in": "path", + "name": "group_id", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "Set to true to mask the values of preferences of type Password.", + "in": "query", + "name": "mask_passwords", + "schema": { + "type": "boolean" + } + }, + { + "description": "The expansion \"sites\" retrieves the custom preferences in the preference group for all the available sites.", + "in": "query", + "name": "expand", + "style": "form", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "404": { + "description": "`CustomPreferenceGroupNotFoundException` - Indicates the preference group is not found." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/organization_preferences" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/organization_preferences" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/organization_preferences" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "global_preferences" + ] + }, + "patch": { + "description": "For the specified instance, update one or more custom preferences in the preference group at the global(organization) level.\n\n

Note: If instance type sandbox is used, the preference values of development instance type will be returned as fallback.

", + "operationId": "patchGlobalPreferencesPreferenceGroupsByIDByID", + "parameters": [ + { + "description": "One of {staging,development,sandbox,production}.", + "in": "path", + "name": "instance_type", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "The ID of the preference group.", + "in": "path", + "name": "group_id", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "Set to true to mask the values of preferences of type Password.", + "in": "query", + "name": "mask_passwords", + "schema": { + "type": "boolean" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/organization_preferences" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/organization_preferences" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/organization_preferences" + } + } + }, + "required": true + }, + "responses": { + "404": { + "description": "`CustomPreferenceGroupNotFoundException` - Indicates the preference group is not found." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/organization_preferences" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/organization_preferences" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/organization_preferences" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "global_preferences" + ] + } + }, + "/inventory_list_search": { + "post": { + "description": "

\n Searches for inventory lists.\n

\n

\n The query attribute specifies a complex query that can be used to narrow down the search. This is the list of\n searchable attributes:\n

\n
    \n
  • id - String
  • \n
  • default_in_stock - boolean
  • \n
  • description - String
  • \n
  • on_order_inventory_enabled - boolean
  • \n
  • status - one of {\"normal\",\"delete\"}
  • \n
  • use_bundle_inventory_only - boolean
  • \n
", + "operationId": "postInventoryListSearch", + "requestBody": { + "$ref": "#/components/requestBodies/search_request" + }, + "responses": { + "400": { + "description": "`MalformedSearchParameterException` - Thrown if the query is ill-formed. or `MalformedSelectorException` - Thrown if the given selector is invalid." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/inventory_list_search_result" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/inventory_list_search_result" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/inventory_list_search_result" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "inventory_list_search" + ] + } + }, + "/inventory_lists": { + "get": { + "description": "Action to get all the inventory lists with no filtering.", + "operationId": "getInventoryLists", + "parameters": [ + { + "description": "Optional start index for retrieving the items from a given index (default 0).", + "in": "query", + "name": "start", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "Optional count for retrieving only a subset of the items (default is 25).", + "in": "query", + "name": "count", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "The property selector.", + "in": "query", + "name": "select", + "schema": { + "type": "string" + } + } + ], + "responses": { + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/inventory_lists" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/inventory_lists" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/inventory_lists" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "inventory_lists" + ] + } + }, + "/inventory_lists/{id}": { + "delete": { + "description": "Deletes the inventory list by ID", + "operationId": "deleteInventoryListsByID", + "parameters": [ + { + "description": "One inventory list id to remove", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "inventory_lists" + ] + }, + "get": { + "description": "Action to get inventory list information.", + "operationId": "getInventoryListsByID", + "parameters": [ + { + "description": "The id of the requested inventory list.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "404": { + "description": "`InventoryListNotFoundException` - Thrown in case the inventory list does not exist matching the given id" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/inventory_list" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/inventory_list" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/inventory_list" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "inventory_lists" + ] + }, + "patch": { + "description": "Updates the inventory list with the specified information.", + "operationId": "patchInventoryListsByID", + "parameters": [ + { + "description": "The id of the requested inventory list.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/inventory_list" + }, + "responses": { + "404": { + "description": "`InventoryListNotFoundException` - Thrown in case the inventory list does not exist matching the given id" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/inventory_list" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/inventory_list" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/inventory_list" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "inventory_lists" + ] + }, + "put": { + "description": "Creates an inventory list using the information provided.", + "operationId": "putInventoryListsByID", + "parameters": [ + { + "description": "The id of the inventory list to create.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/inventory_list" + }, + "responses": { + "400": { + "description": "`IdConflictException` - if the Id in request is not the same as the ID in document." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/inventory_list" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/inventory_list" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/inventory_list" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "inventory_lists" + ] + } + }, + "/inventory_lists/{inventory_list_id}/product_inventory_records": { + "get": { + "description": "Gets all product inventory records for an inventory list.", + "operationId": "getInventoryListsByIDProductInventoryRecords", + "parameters": [ + { + "description": "The inventory list ID", + "in": "path", + "name": "inventory_list_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "Optional start index for retrieving the items from a given index (default 0).", + "in": "query", + "name": "start", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "Optional count for retrieving only a subset of the items (default is 25).", + "in": "query", + "name": "count", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "The property selector.", + "in": "query", + "name": "select", + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": "`InventoryListNotFoundException` - Indicates the inventory list does not exist." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/product_inventory_records" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/product_inventory_records" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/product_inventory_records" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "inventory_lists" + ] + } + }, + "/inventory_lists/{inventory_list_id}/product_inventory_records/{product_id}": { + "delete": { + "description": "Deletes a product inventory record by ID.", + "operationId": "deleteInventoryListsByIDProductInventoryRecordsByID", + "parameters": [ + { + "description": "The inventory list ID", + "in": "path", + "name": "inventory_list_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The product ID", + "in": "path", + "name": "product_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`InventoryListNotFoundException` - Indicates the inventory list does not exist. or `ProductInventoryRecordNotFoundException` - Indicates the product inventory record does not exist." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "inventory_lists" + ] + }, + "get": { + "description": "Gets a product inventory record.", + "operationId": "getInventoryListsByIDProductInventoryRecordsByID", + "parameters": [ + { + "description": "The inventory list ID", + "in": "path", + "name": "inventory_list_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The product ID", + "in": "path", + "name": "product_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "404": { + "description": "`InventoryListNotFoundException` - Indicates the inventory list does not exist. or `ProductInventoryRecordNotFoundException` - Indicates the product inventory record does not exist." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/product_inventory_record" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/product_inventory_record" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/product_inventory_record" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "inventory_lists" + ] + }, + "patch": { + "description": "Updates the product inventory record with the specified information.", + "operationId": "patchInventoryListsByIDProductInventoryRecordsByID", + "parameters": [ + { + "description": "The inventory list ID", + "in": "path", + "name": "inventory_list_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The product ID", + "in": "path", + "name": "product_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/product_inventory_record" + }, + "responses": { + "404": { + "description": "`InventoryListNotFoundException` - Indicates the inventory list does not exist. or `ProductInventoryRecordNotFoundException` - Indicates the product inventory record does not exist." + }, + "409": { + "description": "`ConflictException` - Indicates a concurrent update" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/product_inventory_record" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/product_inventory_record" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/product_inventory_record" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "inventory_lists" + ] + }, + "put": { + "description": "Creates a product inventory record using the information provided.", + "operationId": "putInventoryListsByIDProductInventoryRecordsByID", + "parameters": [ + { + "description": "The inventory list ID", + "in": "path", + "name": "inventory_list_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The product ID", + "in": "path", + "name": "product_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/product_inventory_record" + }, + "responses": { + "404": { + "description": "`InventoryListNotFoundException` - Indicates the inventory list does not exist." + }, + "409": { + "description": "`ConflictException` - Indicates a concurrent update" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/product_inventory_record" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/product_inventory_record" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/product_inventory_record" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "inventory_lists" + ] + } + }, + "/job_execution_search": { + "post": { + "description": "Searches for job executions.\n

\n The query attribute specifies a complex query that can be used to narrow down the search. This is the list of\n searchable attributes:\n

    \n
  • id - String
  • \n
  • job_id - String
  • \n
  • start_time - Date
  • \n
  • end_time - Date
  • \n
  • status - String
  • \n
\n This is the list of sortable attributes:\n
    \n
  • job_id - String
  • \n
  • start_time - Date
  • \n
  • end_time - Date
  • \n
  • status - String
  • \n
", + "operationId": "postJobExecutionSearch", + "requestBody": { + "$ref": "#/components/requestBodies/search_request" + }, + "responses": { + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/job_execution_search_result" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/job_execution_search_result" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/job_execution_search_result" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "job_execution_search" + ] + } + }, + "/jobs/{job_id}/executions": { + "post": { + "description": "Executes the job with the given job ID by creating and returning a job execution for it. The job might still be\n executed when the job execution is returned. Note that this resource is also intended for running system jobs.\n

\n See Global Jobs for information on available system jobs.\n

", + "operationId": "postJobsByIDExecutions", + "parameters": [ + { + "description": "The ID of the job to execute.", + "in": "path", + "name": "job_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/string" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/string" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/string" + } + } + } + }, + "responses": { + "400": { + "description": "`JobAlreadyRunningException` - if the job is\n already running. or `JobExecutionException` - if the job could\n not be executed. or `JobInvalidException` - if the job is invalid\n and is therefore not executable. or `JobNotRestartableException` - if the job\n does not support restarting. or `JobRestartException` - if the job could not\n be restarted." + }, + "404": { + "description": "`JobNotFoundException` - if the job with the given job ID\n doesn't exist." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/job_execution" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/job_execution" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/job_execution" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "jobs" + ] + } + }, + "/jobs/{job_id}/executions/{id}": { + "delete": { + "description": "Deletes job execution information using the specified ID for the job having the specified job ID.", + "operationId": "deleteJobsByIDExecutionsByID", + "parameters": [ + { + "description": "the ID of the job.", + "in": "path", + "name": "job_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "the ID of the job execution", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "" + }, + "403": { + "description": "`JobExecutionNotFinishedException` - if the\n job execution is not finished." + }, + "404": { + "description": "`JobExecutionNotFoundException` - for an\n unknown job ID or job execution ID" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "jobs" + ] + }, + "get": { + "description": "Returns job execution information using the specified ID for the job having the specified job ID.", + "operationId": "getJobsByIDExecutionsByID", + "parameters": [ + { + "description": "the ID of the job.", + "in": "path", + "name": "job_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "the ID of the job execution", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": "`JobExecutionNotFoundException` - for an\n unknown job ID or job execution ID" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/job_execution" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/job_execution" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/job_execution" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "jobs" + ] + } + }, + "/libraries/{library_id}/content/{content_id}": { + "delete": { + "description": "Deletes the content asset with the specified ID from the specified library. If the content asset is not found, the server returns a 404 (NotFoundException) fault. If the content asset is locked by another user, the server returns a 409 (ResourceLockedException) fault. If the connection is not secure, the server returns a 403 (SecureCommunicationRequiredException) fault.", + "operationId": "deleteLibrariesByIDContentByID", + "parameters": [ + { + "description": "ID of the shared library or the site-id in case of a private library.", + "in": "path", + "name": "library_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + }, + { + "description": "the ID of the content asset to remove.", + "in": "path", + "name": "content_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`ContentNotFoundException` - Indicates that the content asset with the given id is unknown. or `LibraryNotFoundException` - Indicates that library with the given id is unknown." + }, + "412": { + "description": "`ResourceLockedException` - Indicates that the ID from the request body doesn't match the URL-Id." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "libraries" + ] + }, + "get": { + "description": "Returns a content asset using the specified ID. If the content asset cannot be found, the server returns a 404 (ContentNotFoundException) fault. If the connection is not secure, the server returns a 403 (SecureCommunicationRequiredException).", + "operationId": "getLibrariesByIDContentByID", + "parameters": [ + { + "description": "ID of the shared library or the site-id in case of a private library.", + "in": "path", + "name": "library_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + }, + { + "description": "the ID of the content asset to retrieve.", + "in": "path", + "name": "content_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + } + ], + "responses": { + "404": { + "description": "`ContentNotFoundException` - Indicates that the content asset with the given id is unknown. or `LibraryNotFoundException` - Indicates that library with the given id is unknown." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/content_asset" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/content_asset" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/content_asset" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "libraries" + ] + }, + "patch": { + "description": "Updates a content asset. In the request, the If-Match header is required. The value of the header is an 'ETag' representing the last known base-point information for the content asset. If the header is missing, the server returns a 409 (IfMatchRequiredException) fault. If the header value does not match the server's 'ETag', the server returns a 412 (InvalidIfMatchException) fault. The delta information for the library folder containing the content asset is updated atomically: the information is written completely or not at all. If the content asset is locked, the server returns a 409 (ResourceLockedException) fault.", + "operationId": "patchLibrariesByIDContentByID", + "parameters": [ + { + "description": "ID of the shared library or the site-id in case of a private library.", + "in": "path", + "name": "library_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + }, + { + "description": "the ID of the content asset to retrieve.", + "in": "path", + "name": "content_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/content_asset" + }, + "responses": { + "400": { + "description": "`ContentIdAlreadyInUseException` - Indicates that a content asset with the ID to change to is already existing." + }, + "404": { + "description": "`ContentNotFoundException` - Indicates that the content asset with the given id is unknown. or `LibraryNotFoundException` - Indicates that library with the given id is unknown." + }, + "412": { + "description": "`ResourceLockedException` - Indicates that the ID from the request body doesn't match the URL-Id." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/content_asset" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/content_asset" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/content_asset" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "libraries" + ] + }, + "put": { + "description": "Creates a new content asset in the specified library, or overwrites an existing content asset. If a content asset with the specified ID already exists, the server completely overwrites the content asset. Please note: Existing folder assignments are not touched. If the existing content asset is locked, the server returns a 409 (ResourceLockedException) fault. If the connection is not secure, the server returns a 403 (SecureCommunicationRequiredException) fault.", + "operationId": "putLibrariesByIDContentByID", + "parameters": [ + { + "description": "ID of the shared library or the site-id in case of a private library.", + "in": "path", + "name": "library_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + }, + { + "description": "the ID of the content asset to retrieve.", + "in": "path", + "name": "content_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/content_asset" + }, + "responses": { + "400": { + "description": "`IdConflictException` - Indicates that the ID from the request body doesn't match the URL-Id." + }, + "404": { + "description": "`ContentNotFoundException` - Indicates that the content asset with the given id is unknown. or `LibraryNotFoundException` - Indicates that library with the given id is unknown." + }, + "412": { + "description": "`ResourceLockedException` - Indicates that the ID from the request body doesn't match the URL-Id." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/content_asset" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/content_asset" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/content_asset" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "libraries" + ] + } + }, + "/libraries/{library_id}/content/{content_id}/folders": { + "get": { + "description": "Action to get all assigned folders of a content asset.", + "operationId": "getLibrariesByIDContentByIDFolders", + "parameters": [ + { + "description": "ID of the shared library or the site-id in case of a private library.", + "in": "path", + "name": "library_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + }, + { + "description": "The content id of the assignment.", + "in": "path", + "name": "content_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + }, + { + "description": "The result set index to return the first instance for. Default value is 0.", + "in": "query", + "name": "start", + "schema": { + "type": "integer", + "format": "int32", + "minimum": 0 + } + }, + { + "description": "The maximum number of instances per request. Default value is 25.", + "in": "query", + "name": "count", + "schema": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 200 + } + } + ], + "responses": { + "404": { + "description": "`ContentNotFoundException` - Indicates that the content asset with the given id is unknown. or `LibraryNotFoundException` - Indicates that library with the given id is unknown." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/content_folder_result" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/content_folder_result" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/content_folder_result" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "libraries" + ] + } + }, + "/libraries/{library_id}/folder_assignments/{content_id}/{folder_id}": { + "delete": { + "description": "Action to unassign a content asset from the specified library folder.", + "operationId": "deleteLibrariesByIDFolderAssignmentsByIDByID", + "parameters": [ + { + "description": "ID of the shared library or the site-id in case of a private library.", + "in": "path", + "name": "library_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + }, + { + "description": "the ID of the content asset to retrieve.", + "in": "path", + "name": "content_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + }, + { + "description": "ID of a target folder.", + "in": "path", + "name": "folder_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`AssignmentNotFoundException` - Indicates that no assignment between the given content asset and folder exists or `ContentNotFoundException` - Indicates that the content asset with the given id is unknown. or `LibraryNotFoundException` - Indicates that library with the given id is unknown. or `ParentFolderNotFoundException` - Indicates that the parent folder with the given id is unknown." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "libraries" + ] + }, + "get": { + "description": "Action to get a single content to folder assignment", + "operationId": "getLibrariesByIDFolderAssignmentsByIDByID", + "parameters": [ + { + "description": "ID of the shared library or the site-id in case of a private library.", + "in": "path", + "name": "library_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + }, + { + "description": "the ID of the content asset to retrieve.", + "in": "path", + "name": "content_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + }, + { + "description": "ID of a target folder.", + "in": "path", + "name": "folder_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + } + ], + "responses": { + "404": { + "description": "`AssignmentNotFoundException` - Indicates that no assignment between the given content asset and folder exists or `ContentNotFoundException` - Indicates that the content asset with the given id is unknown. or `LibraryNotFoundException` - Indicates that library with the given id is unknown. or `ParentFolderNotFoundException` - Indicates that the parent folder with the given id is unknown." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/content_folder_assignment" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/content_folder_assignment" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/content_folder_assignment" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "libraries" + ] + }, + "patch": { + "description": "Action to update a single content to folder assignment. Currently only the position and default attribute can be changed.", + "operationId": "patchLibrariesByIDFolderAssignmentsByIDByID", + "parameters": [ + { + "description": "ID of the shared library or the site-id in case of a private library.", + "in": "path", + "name": "library_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + }, + { + "description": "the content id of the assignment", + "in": "path", + "name": "content_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + }, + { + "description": "ID of a target folder.", + "in": "path", + "name": "folder_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/content_folder_assignment" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/content_folder_assignment" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/content_folder_assignment" + } + } + }, + "required": true + }, + "responses": { + "404": { + "description": "`AssignmentNotFoundException` - Indicates that no assignment between the given content asset and folder exists. or `ContentNotFoundException` - Indicates that the content asset with the given id is unknown. or `FolderNotFoundException` - Indicates that the folder with the given id is unknown. or `LibraryNotFoundException` - Indicates that library with the given id is unknown." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/content_folder_assignment" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/content_folder_assignment" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/content_folder_assignment" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "libraries" + ] + }, + "put": { + "description": "Action to assign a content asset to a specified folder.", + "operationId": "putLibrariesByIDFolderAssignmentsByIDByID", + "parameters": [ + { + "description": "the ID of the shared library or the site-id in case of a private library", + "in": "path", + "name": "library_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + }, + { + "description": "the content id", + "in": "path", + "name": "content_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + }, + { + "description": "the folder id", + "in": "path", + "name": "folder_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/content_folder_assignment" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/content_folder_assignment" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/content_folder_assignment" + } + } + } + }, + "responses": { + "404": { + "description": "`ContentNotFoundException` - Indicates that the content asset with the given id is unknown. or `LibraryNotFoundException` - Indicates that library with the given id is unknown. or `ParentFolderNotFoundException` - Indicates that the parent folder with the given id is unknown." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/content_folder_assignment" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/content_folder_assignment" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/content_folder_assignment" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "libraries" + ] + } + }, + "/libraries/{library_id}/folders/{folder_id}": { + "delete": { + "description": "Delete folder", + "operationId": "deleteLibrariesByIDFoldersByID", + "parameters": [ + { + "description": "ID of the shared library or the site-id in case of a private library.", + "in": "path", + "name": "library_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + }, + { + "description": "ID of a target folder.", + "in": "path", + "name": "folder_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`LibraryNotFoundException` - Indicates that library with the given id is unknown." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "libraries" + ] + }, + "get": { + "description": "Action to get folder information.", + "operationId": "getLibrariesByIDFoldersByID", + "parameters": [ + { + "description": "ID of the shared library or the site-id in case of a private library.", + "in": "path", + "name": "library_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + }, + { + "description": "ID of a target folder.", + "in": "path", + "name": "folder_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + } + ], + "responses": { + "404": { + "description": "`FolderNotFoundException` - Indicates that the folder with the given id is unknown. or `LibraryNotFoundException` - Indicates that library with the given id is unknown." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/content_folder" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/content_folder" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/content_folder" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "libraries" + ] + }, + "patch": { + "description": "Updates an existing folder. In the request, the If-Match header is required. The value of the header is an 'ETag' representing the last known base-point information for the library folder. If the header is missing, the server returns a 409 (IfMatchRequiredException) fault. If the header value does not match the server's 'ETag', the server returns a 412 (InvalidIfMatchException) fault. The delta information for the library folder is updated atomically: the information is written completely or not at all.", + "operationId": "patchLibrariesByIDFoldersByID", + "parameters": [ + { + "description": "ID of the shared library or the site-id in case of a private library.", + "in": "path", + "name": "library_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + }, + { + "description": "ID of a target folder.", + "in": "path", + "name": "folder_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/content_folder" + }, + "responses": { + "400": { + "description": "`ContentFolderIdAlreadyInUseException` - Indicates that a content folder with the ID to change to is already existing." + }, + "404": { + "description": "`FolderNotFoundException` - Indicates that the folder with the given id is unknown. or `LibraryNotFoundException` - Indicates that library with the given id is unknown." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/content_folder" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/content_folder" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/content_folder" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "libraries" + ] + }, + "put": { + "description": "Action to create a new library folder, or to replace an existing folder. This action completely overwrites existing folders. Please note: Sub folders and assignments to content assets are not touched. This action ignores the folder ID in the input document.", + "operationId": "putLibrariesByIDFoldersByID", + "parameters": [ + { + "description": "ID of the shared library or the site-id in case of a private library.", + "in": "path", + "name": "library_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + }, + { + "description": "ID of a target folder.", + "in": "path", + "name": "folder_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/content_folder" + }, + "responses": { + "400": { + "description": "`IdConflictException` - Indicates that the ID from the request body doesn't match the URL-Id." + }, + "404": { + "description": "`LibraryNotFoundException` - Indicates that library with the given id is unknown. or `ParentFolderNotFoundException` - Indicates that the parent folder with the given id is unknown." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/content_folder" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/content_folder" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/content_folder" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "libraries" + ] + } + }, + "/libraries/{library_id}/folders/{folder_id}/content": { + "get": { + "description": "Action to get all assigned content assets of a folder.", + "operationId": "getLibrariesByIDFoldersByIDContent", + "parameters": [ + { + "description": "ID of the shared library or the site-id in case of a private library.", + "in": "path", + "name": "library_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + }, + { + "description": "ID of a target folder.", + "in": "path", + "name": "folder_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + }, + { + "description": "The result set index to return the first instance for. Default value is 0.", + "in": "query", + "name": "start", + "schema": { + "type": "integer", + "format": "int32", + "minimum": 0 + } + }, + { + "description": "The maximum number of instances per request. Default value is 25.", + "in": "query", + "name": "count", + "schema": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 200 + } + } + ], + "responses": { + "404": { + "description": "`FolderNotFoundException` - Indicates that the folder with the given id is unknown. or `LibraryNotFoundException` - Indicates that library with the given id is unknown." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/content_asset_result" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/content_asset_result" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/content_asset_result" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "libraries" + ] + } + }, + "/libraries/{library_id}/folders/{folder_id}/sub_folders": { + "get": { + "description": "Action to get sub folders information.", + "operationId": "getLibrariesByIDFoldersByIDSubFolders", + "parameters": [ + { + "description": "ID of the shared library or the site-id in case of a private library.", + "in": "path", + "name": "library_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + }, + { + "description": "ID of a target folder.", + "in": "path", + "name": "folder_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + }, + { + "description": "The result set index to return the first instance for. Default value is 0.", + "in": "query", + "name": "start", + "schema": { + "type": "integer", + "format": "int32", + "minimum": 0 + } + }, + { + "description": "The maximum number of instances per request. Default value is 25.", + "in": "query", + "name": "count", + "schema": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 200 + } + } + ], + "responses": { + "404": { + "description": "`FolderNotFoundException` - Indicates that the folder with the given id is unknown. or `LibraryNotFoundException` - Indicates that library with the given id is unknown." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/content_sub_folder_result" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/content_sub_folder_result" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/content_sub_folder_result" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "libraries" + ] + } + }, + "/locale_info/locales": { + "get": { + "description": "Action to get the set of active locales for which the user has read or write permission.", + "operationId": "getLocaleInfoLocales", + "parameters": [ + { + "description": "optional locale to return by id. If specified, that locale is looked up and returned, otherwise the\n list is returned.", + "in": "query", + "name": "id", + "schema": { + "type": "string" + } + }, + { + "description": "the set of fields to return from the request. Default is only the locale id.", + "in": "query", + "name": "select", + "schema": { + "type": "string" + } + }, + { + "description": "the start index for paging. Default is 0.", + "in": "query", + "name": "start", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "the count of the records to return in this page. Default is 25.", + "in": "query", + "name": "count", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/locale_result" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/locale_result" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/locale_result" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "locale_info" + ] + } + }, + "/log_requests/ecdn": { + "post": { + "description": "Requests a LogFile-Fetching for the passed zone and time frame.", + "operationId": "postLogRequestsEcdn", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ecdn_log_fetch_request" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/ecdn_log_fetch_request" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/ecdn_log_fetch_request" + } + } + }, + "description": "Request body", + "required": true + }, + "responses": { + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ecdn_log_fetch_response" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/ecdn_log_fetch_response" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/ecdn_log_fetch_response" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "log_requests" + ] + } + }, + "/log_requests/ecdn/{id}": { + "get": { + "description": "Retrieves the current execution status of the log file fetching.", + "operationId": "getLogRequestsEcdnByID", + "parameters": [ + { + "description": "ID of the log fetching execution", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ecdn_log_fetch_response" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/ecdn_log_fetch_response" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/ecdn_log_fetch_response" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "log_requests" + ] + } + }, + "/metrics/{apitype}": { + "get": { + "description": "The metrics resource provides insights into runtimes of individual OCAPI requests against the shop or the data-API. Responses of the metrics resource are JSON wrapped metrics in Prometheus Exposition format. For each OCAPI resource, following metrics are available for the given dimension and the current time-frame (1-minute averages).
  • average time of a request (p50 and p95 timings are available under the quantile dimension) in milliseconds
  • minimum time of all requests in milliseconds
  • maximum time of all requests in milliseconds
  • m1-rate, or the one-minute-rate of requests in operations / second
Refer to the documentation of the response document for a detailed description of the metrics and dimensions exposed by this API.", + "operationId": "getMetricsByID", + "parameters": [ + { + "description": "Type of the api. Values are data or shop .", + "in": "path", + "name": "apitype", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "Optional offset of the result set not counting commentaries or empty lines.", + "in": "query", + "name": "offset", + "schema": { + "type": "integer", + "format": "int32", + "minimum": 0 + } + }, + { + "description": "Optional limit of the result set not counting commentaries or empty lines.", + "in": "query", + "name": "limit", + "schema": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 4500 + } + } + ], + "responses": { + "400": { + "description": "`TooManyRequestsException` - Too many requests." + }, + "403": { + "description": "`FeatureNotEnabledException` - Feature not enabled." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/metric_response" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/metric_response" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/metric_response" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "metrics" + ] + } + }, + "/ocapi_configs/{clientId}": { + "delete": { + "description": "Delete a client.", + "operationId": "deleteOcapiConfigsByID", + "parameters": [ + { + "description": "Id of the client to be deleted.", + "in": "path", + "name": "clientId", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "204": { + "description": "" + }, + "400": { + "description": "`InvalidOCAPIConfigException` - Indicates that the resulting config is not valid or `SelfUpdateException` - Write operation on self is not allowed. (The clientId being used for calling this API should be different from target clientId)" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "ocapi_configs" + ] + }, + "get": { + "description": "Get all allowed resources for the client.", + "operationId": "getOcapiConfigsByID", + "parameters": [ + { + "description": "client ID", + "in": "path", + "name": "clientId", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "400": { + "description": "`InvalidOCAPIConfigException` - Indicates that at least one of the existing configs can not be parsed" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ocapi_configs_api_response" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/ocapi_configs_api_response" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/ocapi_configs_api_response" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "ocapi_configs" + ] + }, + "post": { + "description": "Add a client to existing OCAPI configurations. Return errors when client already exists.", + "operationId": "postOcapiConfigsByID", + "parameters": [ + { + "description": "client ID", + "in": "path", + "name": "clientId", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/ocapi_configs_api_request" + }, + "responses": { + "400": { + "description": "`InvalidOCAPIConfigException` - Indicates that the resulting config is not valid or `SelfUpdateException` - Write operation on self is not allowed. (The clientId being used for calling this API should be different from target clientId)" + }, + "404": { + "description": "`SiteNotFoundException` - Indicates that at least one of the target sites is unknown" + }, + "409": { + "description": "`DuplicateClientIdException` - Indicates that the client id already exists in original OCAPI configuration" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ocapi_configs_api_response" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/ocapi_configs_api_response" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/ocapi_configs_api_response" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "ocapi_configs" + ] + }, + "put": { + "description": "Add a client to existing OCAPI configurations. Overwrite config if the client already exists.", + "operationId": "putOcapiConfigsByID", + "parameters": [ + { + "description": "client ID", + "in": "path", + "name": "clientId", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/ocapi_configs_api_request" + }, + "responses": { + "400": { + "description": "`InvalidOCAPIConfigException` - Indicates that the resulting config is not valid or `SelfUpdateException` - Write operation on self is not allowed. (The clientId being used for calling this API should be different from target clientId)" + }, + "404": { + "description": "`SiteNotFoundException` - Indicates that at least one of the target sites is unknown" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ocapi_configs_api_response" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/ocapi_configs_api_response" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/ocapi_configs_api_response" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "ocapi_configs" + ] + } + }, + "/permissions": { + "get": { + "description": "Get application specific permissions per type.", + "operationId": "getPermissions", + "parameters": [ + { + "description": "The permission expand. A comma separated list with the allowed values (bm, csc).", + "in": "query", + "name": "expand", + "style": "form", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/application_permissions" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/application_permissions" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/application_permissions" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "permissions" + ] + } + }, + "/permissions/bm": { + "get": { + "description": "Get Business Manager permissions per type.", + "operationId": "getPermissionsBm", + "parameters": [ + { + "description": "The permission expand. A comma separated list with the allowed values \n (module, functional, webdav, locale).", + "in": "query", + "name": "expand", + "style": "form", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/bmpermissions" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/bmpermissions" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/bmpermissions" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "permissions" + ] + } + }, + "/permissions/bm/functional": { + "get": { + "description": "Get functional permissions per scope.", + "operationId": "getPermissionsBmFunctional", + "responses": { + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/functional_permissions" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/functional_permissions" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/functional_permissions" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "permissions" + ] + } + }, + "/permissions/bm/locale": { + "get": { + "description": "Get locale permissions per scope.", + "operationId": "getPermissionsBmLocale", + "responses": { + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/locale_permissions" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/locale_permissions" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/locale_permissions" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "permissions" + ] + } + }, + "/permissions/bm/module": { + "get": { + "description": "Get Business Manager module permissions per scope.", + "operationId": "getPermissionsBmModule", + "responses": { + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/module_permissions" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/module_permissions" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/module_permissions" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "permissions" + ] + } + }, + "/permissions/bm/webdav": { + "get": { + "description": "Get WebDAV permissions per scope.", + "operationId": "getPermissionsBmWebdav", + "responses": { + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/webdav_permissions" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/webdav_permissions" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/webdav_permissions" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "permissions" + ] + } + }, + "/permissions/csc": { + "get": { + "description": "Get permissions per type.", + "operationId": "getPermissionsCsc", + "parameters": [ + { + "description": "The permission expand. A comma separated list with the allowed values \n (module, functional, webdav, locale).", + "in": "query", + "name": "expand", + "style": "form", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cscpermissions" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/cscpermissions" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/cscpermissions" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "permissions" + ] + } + }, + "/permissions/csc/module": { + "get": { + "description": "Get CSC module permissions per scope.", + "operationId": "getPermissionsCscModule", + "responses": { + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/module_permissions" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/module_permissions" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/module_permissions" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "permissions" + ] + } + }, + "/product_search": { + "post": { + "description": "

Searches for products.

\n\n

Note: This resource does not return information about product master and product variation relationships. Use the ProductSearch SHOP API resource to retrieve more details about product relationships.

\n\n

The query attribute specifies a complex query that can be used to narrow down the search. Attributes are grouped\n into different buckets. These are the list of searchable attributes with their corresponding buckets:

\n\n

Main:

\n
    \n
  • id - String
  • \n
  • name - String
  • \n
  • online - SiteSpecific Boolean
  • \n
  • searchable - SiteSpecific Boolean
  • \n
  • valid_from - SiteSpefic DateTime
  • \n
  • valid_to - SiteSpecfic DateTime
  • \n
  • type - ProductType
  • \n
  • creation_date - DateTime
  • \n
  • last_modified - DateTime
  • \n
\n

Catalog:

\n
    \n
  • catalog_id - String
  • \n
\n

Category:

\n
    \n
  • category_id - String
  • \n
\n

Special:

\n
    \n
  • type - {\"item\", \"set, \"bundle\", \"master\", \"part_of_product_set\", \"bundled\", \"variant\", \"variation_group\", \"option\", \"retail_set\", \"part_of_retail_set\"}
  • \n
\n\n

The sortable properties are:

\n
    \n
  • id - String
  • \n
  • name - String
  • \n
  • creation_date - DateTime
  • \n
\n\n

When you specify a catalog_id or category_id, only products explicitly assigned to that catalog or \n category are returned. For example, if a product with variants is assigned to a catalog, but its \n variants are not, searching on that catalog_id only returns the main product, not the variants. This \n behavior is different from that of the product search in Business Manager, which returns products\n that inherit the selected catalog or category assignment.

\n\n

Only attributes in the same bucket can be joined using a disjunction (OR).\n For instance, when joining id and catalog_id above, only a conjunction is allowed (AND), whereas id\n and searchable can be joined using a disjunction because they are in the same bucket. If an attribute\n is used in a disjunction (OR) that violates this rule, an exception will be thrown.

\n\n

The product search retrieves additional properties of the product when expansions are used.\n\tThe available expand attribute values are:

\n
    \n \t
  • 'all' will retrieve all the product properties.
  • \n
  • 'availability' will retrieve the following properties:\n
    • ats
    • \n
    • in_stock
    • \n
    • online
    \n\t\t
  • \n
  • 'categories' will retrieve the following properties:\n
    • assigned_categories
    \n\t\t\t
  • \n
  • 'images' will retrieve the following properties:\n
    • image
    \n\t\t\t
  • \n\t\t\t
  • 'all_images' used with images will retrieve the following properties:\n
    • image
    \n
    • image_groups
    \n\t\t\t
  • \n
  • 'prices' will retrieve the following properties:\n
    • price
    • \n
    • price_currency
    \n\t\t\t
  • \n
  • 'sets' will retrieve the following properties:\n
    • set_products
    • \n
    • product_sets
    \n\t\t\t
  • \n
  • 'bundles' will retrieve the following properties:\n
    • product_bundles
    • \n
    • bundled_products
    • \n
    \n\t\t\t
  • \n\n
", + "operationId": "postProductSearch", + "parameters": [ + { + "description": "The site context.", + "in": "query", + "name": "site_id", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/search_request" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/search_request" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/search_request" + } + } + } + }, + "responses": { + "400": { + "description": "`MalformedSearchParameterException` - Indicates the search query is ill-formed." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/product_search_result" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/product_search_result" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/product_search_result" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "product_search" + ] + } + }, + "/products/{id}": { + "delete": { + "description": "Deletes the product by ID", + "operationId": "deleteProductsByID", + "parameters": [ + { + "description": "The product ID.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 100 + } + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`ProductNotFoundException` - Indicates the product is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + }, + "get": { + "description": "Action to get product information.", + "operationId": "getProductsByID", + "parameters": [ + { + "description": "The product ID.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The site context.", + "in": "query", + "name": "site_id", + "schema": { + "type": "string" + } + }, + { + "description": "The list of expansions that can be applied to the product. They are:\n \t\t
    \n \t
  • 'all' will retrieve all the product properties.
  • \n
  • 'availability' will retrieve the following properties:\n
    • ats
    • \n
    • in_stock
    • \n
    • online
    \n\t\t
  • \n
  • 'images' will retrieve the following properties:\n
    • image
    • \n
    • image_groups
    \n\t\t\t
  • \n\t\t\t
  • 'all_images' used with images will retrieve the following properties, including the images specified for its variants and variation groups:\n
    • image
    • \n
    • image_groups
    \n\t\t\t
  • \n\t\t
  • 'categories' will retrieve the following properties:\n\t\t
    • assigned_categories
    • \n
    • primary_category
    • \n
    • classification_category
    • \n
    \n\t\t
  • \n
  • 'options' will retrieve the following properties:\n
    • product_options
    \n\t\t\t
  • \n
  • 'prices' will retrieve the following properties:\n
    • price
    • \n
    • price_currency
    \n\t\t\t
  • \n
  • 'variations' will retrieve the following properties:\n
    • master
    • \n
    • variation_attributes
    • \n
    • variation_groups
    • \n
    • variation_values
    • \n
    • variants
    \n
  • \n
  • 'sets' will retrieve the following properties:\n
    • set_products
    • \n
    • product_sets
    • \n
    \n\t\t\t
  • \n
  • 'bundles' will retrieve the following properties:\n
    • product_bundles
    • \n
    • bundled_products
    • \n
    \n\t\t\t
  • \n
\n Note that only variants with variation values are retrieved for a product of type variation master.", + "in": "query", + "name": "expand", + "style": "form", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "404": { + "description": "`ProductNotFoundException` - Indicates the product is not found." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/product" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/product" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/product" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + }, + "patch": { + "description": "Update a product using the information provided.\n\n Fields that can be updated:\n name, page_description, long_description, page_title,\n page_keywords, brand, ean,upc, manufacture_sku,\n manufacture_name, searchable, unit, searchable,\n online_flag, default_variant_id, valid_to,\n valid_from, tax_class_id, localized_tax_class_id.", + "operationId": "patchProductsByID", + "parameters": [ + { + "description": "The product ID.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 100 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/product" + }, + "responses": { + "400": { + "description": "`IdConflictException` - Indicates the ID in request URL does not match the ID in the product document. or `ProductDefaultVariantException` - Indicates there is a problem to set default variant for a product." + }, + "404": { + "description": "`ProductNotFoundException` - Indicates the product to be updated is not found." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/product" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/product" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/product" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + }, + "put": { + "description": "Creates a product using the information provided. If a product exists with the same identifier, it is\n cleared and overwritten unless the request includes the header x-dw-validate-existing=true.\n Note that the following read-only attributes aren't replaced: assigned_categories , bundled_products , classification_category , creation_date , default_variant_id , image , image_groups , last_modified , owning_catalog_name , price_per_unit , primary_categories , primary_category_id , product_bundles , product_options , product_sets , set_products , type , variants , variation_attributes , variation_groups , and variation_values .", + "operationId": "putProductsByID", + "parameters": [ + { + "description": "The product ID.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 100 + } + }, + { + "in": "header", + "name": "x-dw-validate-existing", + "schema": { + "type": "boolean" + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/product" + }, + "responses": { + "400": { + "description": "`IdConflictException` - Indicates the ID in request URL does not match the ID in the product document. or `ProductDuplicateException` - Indicate the product is already existed. or `ProductInvalidException` - Indicates the catalog is not provided in the request." + }, + "404": { + "description": "`CatalogNotFoundException` - Indicates the catalog is not found." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/product" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/product" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/product" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + } + }, + "/products/{id}/variant_search": { + "post": { + "description": "

Searches product variations for master product or variation group product.

\n \n

The query attribute specifies a complex query that can be used to narrow down the search. This is the list\n of searchable attributes:

\n
    \n
  • id - String
  • \n
  • product_id - String
  • \n
  • name - String
  • \n
  • online - SiteSpecific Boolean
  • \n
  • in_stock - Boolean
  • \n
  • searchable - SiteSpecific Boolean
  • \n
  • ats - Actual available quantity to sell - Double
  • \n
  • variation_attribute.ATTRIBUTE_ID (Ex:variation_attribute.color) - String
  • \n
\n

Sortable Fields:

\n
    \n
  • id - String
  • \n
  • product_id - String
  • \n
  • name - String
  • \n
  • online - SiteSpecific Boolean
  • \n
  • in_stock - Boolean
  • \n
  • searchable - SiteSpecific Boolean
  • \n
  • ats - Actual available quantity to sell - Double
  • \n
\n\n

Note:\n The calculated value of \"online\" and \"searchable\" is used in the search/sort.

\n

A search/sort by the the site specific attributes require the Site ID query parameter to be set.\n They are \"online\", \"in_stock\", \"searchable\" and \"ats\".

\n

We assume that every field that starts with variation_attribute. is searchable and dot is followed by ATTRIBUTE_ID\".

\n\n\n

The list of expansions to retrieve product information. The expand values available are:

\n \t\t
    \n \t\t\t
  • _base - Basic product information is retrieved. This expand is included by default.
  • \n \t\t\t
  • all - All product information including the following properties are retrieved:\n \t
      \n \t\t
    • image
    • \n \t\t
    • price - site_id has to be provided to see this property
    • \n \t\t
    • price_currency - site_id has to be provided to see this property
    • \n \t
  • \n \t\t\t
  • availability - Information related to the availability of the product variation. This expand is not included by default.\n \t
      \n \t\t
    • ats - site_id has to be provided to see this property
    • \n \t\t
    • in_stock - site_id has to be provided to see this property
    • \n \t\t
    • online - site_id has to be provided to see this property
    • \n \t\t
    • searchable
    • \n \t
  • \n
  • variations - Information related to product variation is retrieved. This expand is included by default.
  • \n \t\t\t
  • attributes - Information related to product variation attributes is retrieved. This expand is not included by default.
  • \n \t\t
", + "operationId": "postProductsByIDVariantSearch", + "parameters": [ + { + "description": "The product id of master product or variation group product", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "The id of the site to get site specific product attributes.", + "in": "query", + "name": "site_id", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/search_request" + }, + "responses": { + "400": { + "description": "`MalformedSearchParameterException` - Thrown if the query is ill-formed. or `ProductNotMasterGroupException` - Thrown if the id is not the product id of a Variation Master product or Variation Group product. or `SiteIdMissingForSiteSpecificFilterException` - Thrown if the Site ID query parameter is missing in the search of Variants by a site-specific product attribute." + }, + "404": { + "description": "`ProductNotFoundException` - Thrown if the product is not found." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/variant_search_result" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/variant_search_result" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/variant_search_result" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + } + }, + "/products/{master_product_id}/variation_groups": { + "get": { + "description": "Reads variation groups for a product master.", + "operationId": "getProductsByIDVariationGroups", + "parameters": [ + { + "description": "The id of the master product.", + "in": "path", + "name": "master_product_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The site context.", + "in": "query", + "name": "site_id", + "schema": { + "type": "string" + } + }, + { + "description": "The start index of the variation groups to return (defaults to 0).", + "in": "query", + "name": "start", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "The maximum number of variation groups to return (defaults to 25).", + "in": "query", + "name": "count", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "A selector that specifies the fields to return in the variation groups document.", + "in": "query", + "name": "select", + "schema": { + "type": "string" + } + }, + { + "description": "The valid expands are {price,availability}", + "in": "query", + "name": "expand", + "style": "form", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "400": { + "description": "`ProductNotMasterException` - Indicates that the given product is not a variation master." + }, + "404": { + "description": "`ProductNotFoundException` - Indicates the master product is not found." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/variation_groups" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/variation_groups" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/variation_groups" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + } + }, + "/products/{master_product_id}/variation_groups/{id}": { + "delete": { + "description": "Unassign a variation group product from a product master. The variation group product is not\n deleted: it remains as a normal product after unsassign.", + "operationId": "deleteProductsByIDVariationGroupsByID", + "parameters": [ + { + "in": "path", + "name": "master_product_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "204": { + "description": "" + }, + "400": { + "description": "`ProductIsNotVariationGroupException` - Indicates product specified is not a variation group. or `ProductNotMasterException` - Indicates the master product id does not represent a master product." + }, + "404": { + "description": "`ProductNotFoundException` - Indicates either the master product or the variation group product cannot be found. or `VariationGroupNotFoundException` - Indicates the product does not belong to the master product." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + }, + "get": { + "description": "Read a variation group for a product master.", + "operationId": "getProductsByIDVariationGroupsByID", + "parameters": [ + { + "description": "The id of the master product that contains the variation group.", + "in": "path", + "name": "master_product_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the variation group product.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "in": "query", + "name": "site_id", + "schema": { + "type": "string" + } + }, + { + "description": "The valid expands are {price,availability}", + "in": "query", + "name": "expand", + "style": "form", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "400": { + "description": "`ProductIsNotVariationGroupException` - Indicates the product specified is not a variation group. or `ProductNotMasterException` - Indicates the master product id does not represent a master product." + }, + "404": { + "description": "`ProductNotFoundException` - Indicates either the master product or the variation group product cannot be found. or `VariationGroupNotFoundException` - Indicates the product does not belong to the master product." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/variation_group" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/variation_group" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/variation_group" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + }, + "patch": { + "description": "Update a variation group for a product master.", + "operationId": "patchProductsByIDVariationGroupsByID", + "parameters": [ + { + "description": "The id of the master product that contains the variation group.", + "in": "path", + "name": "master_product_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the variation group product.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/variation_group" + }, + "responses": { + "400": { + "description": "`ProductIsNotVariationGroupException` - Indicates product specified is not a variation group. or `ProductNotMasterException` - Indicates the master product id does not represent a master product. or `VariationValueNotValidException` - Indicates the values passed are not valid for the variation attributes." + }, + "404": { + "description": "`ProductNotFoundException` - Indicates either the master product or the variation group product cannot be found. or `VariationGroupNotFoundException` - Indicates the product does not belong to the master product." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/variation_group" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/variation_group" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/variation_group" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + }, + "put": { + "description": "Assign a variation group for a product master. If the variation group product does not initially exist,\n one is created using the body passed in.", + "operationId": "putProductsByIDVariationGroupsByID", + "parameters": [ + { + "description": "The id of the master product that contains the variation group.", + "in": "path", + "name": "master_product_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the variation group product.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/variation_group" + }, + "responses": { + "400": { + "description": "`ProductNotMasterException` - Indicates the master product id does not represent a master product. or `VariationValueNotValidException` - Indicates the values passed are not valid for the variation attributes." + }, + "404": { + "description": "`ProductNotFoundException` - Indicates either the master product or the variation group product cannot be found. or `VariationAttributeValueNotFoundException` - Indicates the value passed into a variation attribute is not one found in the valid values." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/variation_group" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/variation_group" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/variation_group" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + } + }, + "/products/{master_product_id}/variations": { + "get": { + "description": "Reads variation for a product master.", + "operationId": "getProductsByIDVariations", + "parameters": [ + { + "description": "The id of the master product.", + "in": "path", + "name": "master_product_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The site context.", + "in": "query", + "name": "site_id", + "schema": { + "type": "string" + } + }, + { + "description": "The start index of the variations to return (defaults to 0).", + "in": "query", + "name": "start", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "The maximum number of variations to return (defaults to 25).", + "in": "query", + "name": "count", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "A selector that specifies the fields to return in the variations document.", + "in": "query", + "name": "select", + "schema": { + "type": "string" + } + }, + { + "description": "The valid expands are {price,availability}", + "in": "query", + "name": "expand", + "style": "form", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "400": { + "description": "`ProductNotMasterException` - Indicates that the given product is not a variation master." + }, + "404": { + "description": "`ProductNotFoundException` - Indicates the master product is not found." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/variants" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/variants" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/variants" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + } + }, + "/products/{master_product_id}/variations/{id}": { + "delete": { + "description": "Unassign a variation product from a product master. The variation product is not deleted: it remains as a\n normal product after unsassign.", + "operationId": "deleteProductsByIDVariationsByID", + "parameters": [ + { + "in": "path", + "name": "master_product_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "204": { + "description": "" + }, + "400": { + "description": "`ProductIsNotVariationException` - Indicates product specified is not a variation. or `ProductNotMasterException` - Indicates the master product id does not represent a master product." + }, + "404": { + "description": "`ProductNotFoundException` - Indicates either the master product or the variation product cannot be found. or `VariationNotFoundException` - Indicates the product does not belong to the master product." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + }, + "get": { + "description": "Read a variation for a product master.", + "operationId": "getProductsByIDVariationsByID", + "parameters": [ + { + "description": "The id of the master product that contains the variation.", + "in": "path", + "name": "master_product_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the variation product.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "in": "query", + "name": "site_id", + "schema": { + "type": "string" + } + }, + { + "description": "The valid expands are {variation,attributes,availability,prices}", + "in": "query", + "name": "expand", + "style": "form", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "400": { + "description": "`ProductIsNotVariationException` - Indicates the product specified is not a variation. or `ProductNotMasterException` - Indicates the master product id does not represent a master product." + }, + "404": { + "description": "`ProductNotFoundException` - Indicates either the master product or the variation product cannot be found. or `VariationNotFoundException` - Indicates the product does not belong to the master product." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/variant" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/variant" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/variant" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + }, + "patch": { + "description": "Update a variation for a product master.", + "operationId": "patchProductsByIDVariationsByID", + "parameters": [ + { + "description": "The id of the master product that contains the variation.", + "in": "path", + "name": "master_product_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the variation product.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/variant" + }, + "responses": { + "400": { + "description": "`ProductIsNotVariationException` - Indicates product specified is not a variation. or `ProductNotMasterException` - Indicates the master product id does not represent a master product. or `VariationValueNotValidException` - Indicates the values passed are not valid for the variation attributes." + }, + "404": { + "description": "`ProductNotFoundException` - Indicates either the master product or the variation product cannot be found. or `VariationNotFoundException` - Indicates the product does not belong to the master product." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/variant" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/variant" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/variant" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + }, + "put": { + "description": "Assign a variation for a product master. If the variation product does not initially exist,\n one is created using the body passed in.", + "operationId": "putProductsByIDVariationsByID", + "parameters": [ + { + "description": "The id of the master product that contains the variation.", + "in": "path", + "name": "master_product_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the variation product.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/variant" + }, + "responses": { + "400": { + "description": "`ProductNotMasterException` - Indicates the master product id does not represent a master product. or `VariationValueNotValidException` - Indicates the values passed are not valid for the variation attributes." + }, + "404": { + "description": "`ProductNotFoundException` - Indicates either the master product or the variation product cannot be found. or `VariationAttributeValueNotFoundException` - Indicates the value passed into a variation attribute is not one found in the valid values." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/variant" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/variant" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/variant" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + } + }, + "/products/{product_id}/product_options": { + "get": { + "description": "Read local and shared product options of a product.", + "operationId": "getProductsByIDProductOptions", + "parameters": [ + { + "description": "The id of the product.", + "in": "path", + "name": "product_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "Optional start index for retrieving the items from a given index (default 0).", + "in": "query", + "name": "start", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "Optional count for retrieving only a subset of the items (default is 25).", + "in": "query", + "name": "count", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "The property selector.", + "in": "query", + "name": "select", + "schema": { + "type": "string" + } + }, + { + "description": "The currency mnemonic for retrieving the product option values according to the sorting mode.ex:'USD'", + "in": "query", + "name": "currency", + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": "`ProductNotFoundException` - Indicates the product is not found." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/product_options" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/product_options" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/product_options" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + } + }, + "/products/{product_id}/product_options/{id}": { + "delete": { + "description": "Deletes a local product option or unbinds a shared product option from the product.", + "operationId": "deleteProductsByIDProductOptionsByID", + "parameters": [ + { + "description": "The id of the product.", + "in": "path", + "name": "product_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the local or shared product option.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`ProductNotFoundException` - Indicates the product is not found. or `ProductOptionNotFoundException` - Indicates the local or shared product option is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + }, + "get": { + "description": "Read a local or shared product option of a product.", + "operationId": "getProductsByIDProductOptionsByID", + "parameters": [ + { + "description": "The id of the product.", + "in": "path", + "name": "product_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the local or shared product option.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The currency mnemonic for retrieving the product option values according to the sorting mode.ex:'USD'", + "in": "query", + "name": "currency", + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": "`ProductNotFoundException` - Indicates the product is not found. or `ProductOptionNotFoundException` - Indicates the local or shared product option is not found." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/product_option" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/product_option" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/product_option" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + }, + "patch": { + "description": "Updates a local product option with the information provided.", + "operationId": "patchProductsByIDProductOptionsByID", + "parameters": [ + { + "description": "The id of the product.", + "in": "path", + "name": "product_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the local product option.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/product_option" + }, + "responses": { + "400": { + "description": "`ProductOptionUpdateException` - Indicates the shared product option cannot be updated." + }, + "404": { + "description": "`ProductNotFoundException` - Indicates the product is not found. or `ProductOptionNotFoundException` - Indicates the local product option is not found." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/product_option" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/product_option" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/product_option" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + }, + "put": { + "description": "Creates a local product option using the information provided or binds a shared product option to the product.", + "operationId": "putProductsByIDProductOptionsByID", + "parameters": [ + { + "description": "The id of the product.", + "in": "path", + "name": "product_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the local or shared product option.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/product_option" + }, + "responses": { + "400": { + "description": "`ProductOptionCreateException` - Indicates the local product option cannot be created for a product of type variation group." + }, + "404": { + "description": "`ProductNotFoundException` - Indicates the product is not found." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/product_option" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/product_option" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/product_option" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + } + }, + "/products/{product_id}/product_options/{option_id}/values": { + "get": { + "description": "Read local product option values of a local product option in a product.", + "operationId": "getProductsByIDProductOptionsByIDValues", + "parameters": [ + { + "description": "The id of the product.", + "in": "path", + "name": "product_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the local product option.", + "in": "path", + "name": "option_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "Optional start index for retrieving the items from a given index (default 0).", + "in": "query", + "name": "start", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "Optional count for retrieving only a subset of the items (default is 25).", + "in": "query", + "name": "count", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "The property selector.", + "in": "query", + "name": "select", + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": "`ProductNotFoundException` - Indicates the product is not found. or `ProductOptionNotFoundException` - Indicates the local product option is not found." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/product_option_values" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/product_option_values" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/product_option_values" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + } + }, + "/products/{product_id}/product_options/{option_id}/values/{id}": { + "delete": { + "description": "Deletes a local product option value by ID.", + "operationId": "deleteProductsByIDProductOptionsByIDValuesByID", + "parameters": [ + { + "description": "The id of the product.", + "in": "path", + "name": "product_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the local product option.", + "in": "path", + "name": "option_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the local product option value.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`ProductNotFoundException` - Indicates the product is not found. or `ProductOptionNotFoundException` - Indicates the local product option is not found. or `ProductOptionValueNotFoundException` - Indicates the local product option value is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + }, + "get": { + "description": "Read a local product option value of a local product option in a product.", + "operationId": "getProductsByIDProductOptionsByIDValuesByID", + "parameters": [ + { + "description": "The id of the product.", + "in": "path", + "name": "product_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the local product option.", + "in": "path", + "name": "option_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "the id of local product option value.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "404": { + "description": "`ProductNotFoundException` - Indicates the product is not found. or `ProductOptionNotFoundException` - Indicates the local product option is not found. or `ProductOptionValueNotFoundException` - Indicates the local product option value is not found." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/product_option_value" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/product_option_value" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/product_option_value" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + }, + "patch": { + "description": "Updates a local product option value with the information provided.", + "operationId": "patchProductsByIDProductOptionsByIDValuesByID", + "parameters": [ + { + "description": "The id of the product.", + "in": "path", + "name": "product_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the local product option.", + "in": "path", + "name": "option_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the local product option value.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/product_option_value" + }, + "responses": { + "404": { + "description": "`ProductNotFoundException` - Indicates the product is not found. or `ProductOptionNotFoundException` - Indicates the local product option is not found. or `ProductOptionValueNotFoundException` - Indicates the local product option value is not found." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/product_option_value" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/product_option_value" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/product_option_value" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + }, + "put": { + "description": "Creates a local product option value using the information provided.", + "operationId": "putProductsByIDProductOptionsByIDValuesByID", + "parameters": [ + { + "description": "The id of the product.", + "in": "path", + "name": "product_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the local product option.", + "in": "path", + "name": "option_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the local product option value.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/product_option_value" + }, + "responses": { + "404": { + "description": "`ProductNotFoundException` - Indicates the product is not found. or `ProductOptionNotFoundException` - Indicates the local product option is not found." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/product_option_value" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/product_option_value" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/product_option_value" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + } + }, + "/products/{product_id}/variation_attributes": { + "get": { + "description": "Reads variation attributes of a product of type variant or variation master or variation group.", + "operationId": "getProductsByIDVariationAttributes", + "parameters": [ + { + "description": "The product ID of a variant or a variation master or a variation group.", + "in": "path", + "name": "product_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "in": "query", + "name": "start", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "in": "query", + "name": "count", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "in": "query", + "name": "select", + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": "`ProductNotFoundException` - Indicates the product is not found." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/variation_attributes" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/variation_attributes" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/variation_attributes" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + } + }, + "/products/{product_id}/variation_attributes/{attribute_id}/values": { + "get": { + "description": "Reads variation attribute values of a variation attribute bound to a product.", + "operationId": "getProductsByIDVariationAttributesByIDValues", + "parameters": [ + { + "description": "id of the product", + "in": "path", + "name": "product_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The variation attribute ID that contains the values.", + "in": "path", + "name": "attribute_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "in": "query", + "name": "site_id", + "schema": { + "type": "string" + } + }, + { + "description": "the first record to get in the page", + "in": "query", + "name": "start", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "the number of records to get", + "in": "query", + "name": "count", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "a string that specifies which fields to return (default is all).", + "in": "query", + "name": "select", + "schema": { + "type": "string" + } + }, + { + "description": "set of expands to retrieve additional information: {availability, image}", + "in": "query", + "name": "expand", + "style": "form", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "400": { + "description": "`ProductNotMasterException` - Indicates the master product is not found." + }, + "404": { + "description": "`ProductNotFoundException` - Indicates the product is not found. or `VariationAttributeNotFoundException` - If the attribute id specified is not a valid product attribute." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/variation_attribute_values" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/variation_attribute_values" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/variation_attribute_values" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + } + }, + "/products/{product_id}/variation_attributes/{attribute_id}/values/{id}": { + "delete": { + "description": "Deletes the variation attribute value of a variation attribute bound to a master product", + "operationId": "deleteProductsByIDVariationAttributesByIDValuesByID", + "parameters": [ + { + "description": "The id of the product.", + "in": "path", + "name": "product_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the variation attribute that contains the value.", + "in": "path", + "name": "attribute_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of one value to remove", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`ProductNotFoundException` - If the product id specified cannot be found. or `VariationAttributeNotFoundException` - If the attribute id specified is not a valid product attribute. or `VariationAttributeValueNotFoundException` - If the value id specified is not a valid value id." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + }, + "get": { + "description": "Action to get product variation attribute value information.", + "operationId": "getProductsByIDVariationAttributesByIDValuesByID", + "parameters": [ + { + "description": "The master product ID.", + "in": "path", + "name": "product_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The variation attribute custom ID", + "in": "path", + "name": "attribute_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the variation attribute value", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The site context.", + "in": "query", + "name": "site_id", + "schema": { + "type": "string" + } + }, + { + "description": "set of expands to retrieve additional information: {availability, image}", + "in": "query", + "name": "expand", + "style": "form", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "400": { + "description": "`ProductNotMasterException` - Indicates the master product is not found." + }, + "404": { + "description": "`ProductNotFoundException` - Indicates the product is not found. or `VariationAttributeValueNotFoundException` - If the value id specified is not a valid value id." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/variation_attribute_value" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/variation_attribute_value" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/variation_attribute_value" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + }, + "patch": { + "description": "Updates the variation attribute value of a variation attribute of a master product.", + "operationId": "patchProductsByIDVariationAttributesByIDValuesByID", + "parameters": [ + { + "description": "The id of the product.", + "in": "path", + "name": "product_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the requested variation attribute.", + "in": "path", + "name": "attribute_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the variation value.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/variation_attribute_value" + }, + "responses": { + "404": { + "description": "`ProductNotFoundException` - If the product id specified cannot be found. or `VariationAttributeNotFoundException` - If the attribute id specified is not a valid product attribute. or `VariationAttributeValueNotFoundException` - If the value id specified is not a valid value id." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/variation_attribute_value" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/variation_attribute_value" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/variation_attribute_value" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + }, + "put": { + "description": "Action to create a product variation attribute value.", + "operationId": "putProductsByIDVariationAttributesByIDValuesByID", + "parameters": [ + { + "description": "The master product ID.", + "in": "path", + "name": "product_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The variation attribute ID", + "in": "path", + "name": "attribute_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the variation attribute value", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/variation_attribute_value" + }, + "responses": { + "400": { + "description": "`ProductNotMasterException` - Indicates the master product is not found." + }, + "404": { + "description": "`ProductNotFoundException` - Indicates the product is not found. or `VariationAttributeNotFoundException` - If the attribute id specified is not a valid product attribute. or `VariationAttributeValueNotFoundException` - If the value id specified is not a valid value id." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/variation_attribute_value" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/variation_attribute_value" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/variation_attribute_value" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + } + }, + "/products/{product_id}/variation_attributes/{id}": { + "delete": { + "description": "Deletes a variation attribute by ID.", + "operationId": "deleteProductsByIDVariationAttributesByID", + "parameters": [ + { + "description": "The id of the product.", + "in": "path", + "name": "product_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "One variation attribute id to remove.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "" + }, + "400": { + "description": "`ProductNotMasterException` - Indicates the master product is not found." + }, + "404": { + "description": "`ProductNotFoundException` - Indicates the product is not found. or `VariationAttributeNotFoundException` - Indicates that the variation attribute is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + }, + "get": { + "description": "Action to get variation attribute information only for master product.", + "operationId": "getProductsByIDVariationAttributesByID", + "parameters": [ + { + "description": "The product ID of a variant or a variation master or a variation group.", + "in": "path", + "name": "product_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the requested variation attribute.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "400": { + "description": "`ProductNotMasterException` - Indicates the master product is not found." + }, + "404": { + "description": "`ProductNotFoundException` - Indicates the product is not found. or `VariationAttributeNotFoundException` - Indicates that the variation attribute is not found." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/variation_attribute" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/variation_attribute" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/variation_attribute" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + }, + "patch": { + "description": "Updates the variation attribute with the specified information.\n\n
    \n
  • name
  • \n
  • slicing
  • \n
", + "operationId": "patchProductsByIDVariationAttributesByID", + "parameters": [ + { + "description": "The id of the product.", + "in": "path", + "name": "product_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the requested variation attribute.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/variation_attribute" + }, + "responses": { + "400": { + "description": "`ProductNotMasterException` - Indicates the master product is not found." + }, + "404": { + "description": "`ProductNotFoundException` - Indicates the product is not found. or `VariationAttributeNotFoundException` - Indicates that the variation attribute is not found." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/variation_attribute" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/variation_attribute" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/variation_attribute" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + }, + "put": { + "description": "Creates a local variation attribute using the information provided. This endpoint can't create shared variation attributes. \n To create a shared variation attribute, use the catalogs resource.", + "operationId": "putProductsByIDVariationAttributesByID", + "parameters": [ + { + "description": "The id of the product.", + "in": "path", + "name": "product_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the variation attribute to create.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/variation_attribute" + }, + "responses": { + "400": { + "description": "`ProductNotMasterException` - Indicates the master product is not found. or `ProductVariationAttributeDefinitionNotUniqueException` - Indicates that the variation attribute definition is not unique. or `ProductVariationAttributeIDNotUniqueException` - Indicates that the variation attribute id is not unique." + }, + "404": { + "description": "`AttributeDefinitionNotFoundException` - If attribute definition supplied is not a product attribute. or `ProductNotFoundException` - Indicates the product is not found." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/variation_attribute" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/variation_attribute" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/variation_attribute" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "products" + ] + } + }, + "/role_search": { + "post": { + "description": "Searches for access roles.\n

The query attribute specifies a complex query that can be used to narrow down the search. These are the list\n of searchable attributes:

\n
    \n
  • id - String
  • \n
  • description - String
  • \n
\n

Optionally, a user ID (the user login) can be specified. When it is supplied, the search for roles is limited to the\n roles assigned to this user. When expanding the permissions for the roles, all effective permissions for this user can be retrieved.

\n\n

Optionally, a (single) permission can be specified. When it is supplied, the search for roles is limited to the\n roles having this permission. When expanding the users for the roles, all users having this permission can be retrieved.

\n\n

The output of the query can also be sorted. These are the list of sortable attributes:

\n
    \n
  • id - String
  • \n
  • description - String
  • \n
", + "operationId": "postRoleSearch", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/role_search_request" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/role_search_request" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/role_search_request" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "`InvalidSearchQueryException` - Throws when one of the search request restrictions is violated or `MalformedSearchParameterException` - Thrown if the query is ill-formed." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/role_search_result" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/role_search_result" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/role_search_result" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "role_search" + ] + } + }, + "/roles": { + "get": { + "description": "Action to get all the access roles with no filtering.", + "operationId": "getRoles", + "parameters": [ + { + "description": "Optional start index for retrieving the items from a given index (default 0).", + "in": "query", + "name": "start", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "Optional count for retrieving only a subset of the items (default is 25).", + "in": "query", + "name": "count", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "The property selector.", + "in": "query", + "name": "select", + "schema": { + "type": "string" + } + }, + { + "description": "List of expansions.", + "in": "query", + "name": "expand", + "style": "form", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/roles" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/roles" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/roles" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "roles" + ] + } + }, + "/roles/{id}": { + "delete": { + "description": "Action to delete an access role.", + "operationId": "deleteRolesByID", + "parameters": [ + { + "description": "The id of the access role to delete.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "204": { + "description": "" + }, + "403": { + "description": "`RoleOperationNotAllowedException` - Thrown if deletion of the given role is not allowed" + }, + "404": { + "description": "`RoleNotFoundException` - Thrown if the given role does not exist" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "roles" + ] + }, + "get": { + "description": "Action to get a single access role.", + "operationId": "getRolesByID", + "parameters": [ + { + "description": "The id of the requested access role.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The list of expansions.", + "in": "query", + "name": "expand", + "style": "form", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "404": { + "description": "`RoleNotFoundException` - Thrown if the access role with the given id does not exist." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/role" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/role" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/role" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "roles" + ] + }, + "put": { + "description": "Action to create an access role.", + "operationId": "putRolesByID", + "parameters": [ + { + "description": "The id of the access role to create.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/role" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/role" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/role" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "`IdConflictException` - Thrown when id in query parameter is different from the id in the body." + }, + "403": { + "description": "`RoleOperationNotAllowedException` - Thrown when an access role with the id \"Support\" or \"Business Support\" should be created." + }, + "409": { + "description": "`RoleAlreadyExistsException` - Thrown when an access role with the given id already exists." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/role" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/role" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/role" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "roles" + ] + } + }, + "/roles/{id}/permissions": { + "get": { + "description": "Retrieves a list of permissions assigned to the given role.", + "operationId": "getRolesByIDPermissions", + "parameters": [ + { + "description": "The id of the requested access role.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "404": { + "description": "`RoleNotFoundException` - If the specified access role does not exist." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/role_permissions" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/role_permissions" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/role_permissions" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "roles" + ] + }, + "put": { + "description": "Assigns permissions to the given role. This will replace the current permission assignments. For the 'Administrator'\n role only adjustments for custom module permissions will be processed but other given permissions will be ignored.", + "operationId": "putRolesByIDPermissions", + "parameters": [ + { + "description": "The id of the access role for which the permissions will be set.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/role_permissions" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/role_permissions" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/role_permissions" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "`DefaultLocalePermissionMissingException` - If no permission for the 'default' locale is given (permission for 'default' locale is mandatory). or `DuplicatePermissionException` - If a permission is listed more than once within a scope. or `InvalidPermissionTypeException` - If the type of a given permission does not match the expected type. or `InvalidPermissionValueException` - If a permission value is given that is either unknown or not supported for a certain permission. or `InvalidPermissionValueScopeException` - If values are given permission multi values are used where only single values are support or vice versa (e.g. setting 'values' attribute of ModulePermissionWO in organization scope). or `SystemFlagMissingException` - If the 'system' flag is not set for a module permission. or `UnknownPermissionException` - If the id of a given permission could not be resolved to a permission. or `UnknownSiteIdException` - If a site specific permission is given for a site that is not known." + }, + "404": { + "description": "`RoleNotFoundException` - If the specified access role does not exist." + }, + "409": { + "description": "`ResourceStateConflictException` - In case of state token conflicts." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/role_permissions" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/role_permissions" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/role_permissions" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "roles" + ] + } + }, + "/roles/{id}/user_search": { + "post": { + "description": "Searches for users of the specified access role.\n

The query attribute specifies a complex query that can be used to narrow down the search. These are the list\n of searchable attributes:

\n
    \n
  • login - String
  • \n
  • email - String
  • \n
  • first_name - String
  • \n
  • last_name - String
  • \n
  • external_id - String
  • \n
  • last_login_date - Date
  • \n
  • is_locked - Boolean
  • \n
  • is_disabled - Boolean
  • \n
\n\n

The output of the query can also be sorted. These are the list of sortable attributes:

\n
    \n
  • login - String
  • \n
  • email - String
  • \n
  • first_name - String
  • \n
  • last_name - String
  • \n
  • external_id - String
  • \n
  • last_login_date - Date
  • \n
", + "operationId": "postRolesByIDUserSearch", + "parameters": [ + { + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/search_request" + }, + "responses": { + "400": { + "description": "`MalformedSearchParameterException` - Thrown if the query is ill-formed." + }, + "404": { + "description": "`RoleNotFoundException` - If the specified access role does not exist." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/user_search_result" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/user_search_result" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/user_search_result" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "roles" + ] + } + }, + "/roles/{id}/users": { + "get": { + "description": "Action to get all the users assigned to the specified access role.", + "operationId": "getRolesByIDUsers", + "parameters": [ + { + "description": "ID of the access role.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "Optional start index for retrieving the items from a given index (default 0).", + "in": "query", + "name": "start", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "Optional count for retrieving only a subset of the items (default is 25).", + "in": "query", + "name": "count", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "The property selector.", + "in": "query", + "name": "select", + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": "`RoleNotFoundException` - Thrown if the access role with the given id does not exist." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/users" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/users" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/users" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "roles" + ] + } + }, + "/roles/{id}/users/{login}": { + "delete": { + "description": "Action to unassign a user to an access role", + "operationId": "deleteRolesByIDUsersByID", + "parameters": [ + { + "description": "ID of the access role.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "Login of the user.", + "in": "path", + "name": "login", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "204": { + "description": "" + }, + "403": { + "description": "`UserOperationNotAllowedException` - Thrown if the admin user is unassigned from the Administrator role." + }, + "404": { + "description": "`RoleNotFoundException` - Thrown if the access role with the given id does not exist. or `UserNotFoundException` - Thrown if a user with the given login does not exist." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "roles" + ] + }, + "put": { + "description": "Action to assign a user to an access role", + "operationId": "putRolesByIDUsersByID", + "parameters": [ + { + "description": "ID of the access role.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "Login of the user.", + "in": "path", + "name": "login", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "400": { + "description": "`InvalidRoleException` - Thrown if the access role with the given id does not exist. or `InvalidUserLoginException` - Thrown if a user with the given login does not exist." + }, + "403": { + "description": "`UserOperationNotAllowedException` - Thrown if the operation is not allowed." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/user" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/user" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/user" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "roles" + ] + } + }, + "/settings/logging/custom": { + "get": { + "description": "Action to get custom log settings.", + "operationId": "getSettingsLoggingCustom", + "responses": { + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/custom_log_settings" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/custom_log_settings" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/custom_log_settings" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "settings" + ] + }, + "patch": { + "description": "Updates the custom log settings.", + "operationId": "patchSettingsLoggingCustom", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/custom_log_settings" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/custom_log_settings" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/custom_log_settings" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "`InvalidCustomLogCategoryException` - if one of the categories names are invalid. or `InvalidLogLevelException` - if on a production instance the configured level is DEBUG. or `InvalidRecipientEmailException` - if the email addresses are invalid." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/custom_log_settings" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/custom_log_settings" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/custom_log_settings" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "settings" + ] + } + }, + "/site_preferences/preference_groups/{group_id}/{instance_type}/preference_search": { + "post": { + "description": "

Search preferences across sites in the specified preference group and instance.

\n

\n

The query attribute specifies a complex query that can be used to narrow down the search.

\n\n

The following is a list of searchable fields:

\n\n
    \n
  • id - String
  • \n
  • display_name - Localized String
  • \n
  • description - Localized String
  • \n
  • value_type* - one of {string, int, double, text, html, date, image, boolean, money, quantity, datetime, email, password, set_of_string, set_of_int, set_of_double, enum_of_string, enum_of_int}
  • \n
\n\n

* value_type can only be joined with other attributes using a conjunction (AND).

\n

Note that only searchable attributes can be used in sorting.

\n\n

Note: If instance type sandbox is used, the preference values of development instance type will be returned as fallback.

", + "operationId": "postSitePreferencesPreferenceGroupsByIDByIDPreferenceSearch", + "parameters": [ + { + "description": "An instance type, one of {staging,development,sandbox,production}.", + "in": "path", + "name": "instance_type", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "The ID of the preference group.", + "in": "path", + "name": "group_id", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "The preference values of type Password are masked when set.", + "in": "query", + "name": "mask_passwords", + "schema": { + "type": "boolean" + } + }, + { + "description": "The expand \"value\" is available to retrieve value definitions of the attribute definition.", + "in": "query", + "name": "expand", + "style": "form", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/search_request" + }, + "responses": { + "400": { + "description": "`MalformedSearchParameterException` - Indicates the query is ill-formed." + }, + "404": { + "description": "`CustomPreferenceGroupNotFoundException` - Indicates the preference group is not found." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/preference_value_search_result" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/preference_value_search_result" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/preference_value_search_result" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "site_preferences" + ] + } + }, + "/site_preferences/preference_groups/{group_id}/{instance_type}/preferences/{preference_id}": { + "get": { + "description": "Get a preference across sites in the specified preference group and instance.\n\n

Note: If instance type sandbox is used, the preference values of development instance type will be returned as fallback.

", + "operationId": "getSitePreferencesPreferenceGroupsByIDByIDPreferencesByID", + "parameters": [ + { + "description": "An instance type, one of {staging,development,sandbox,production}.", + "in": "path", + "name": "instance_type", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "The ID of the preference group.", + "in": "path", + "name": "group_id", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "The ID of the preference to retrieve.", + "in": "path", + "name": "preference_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The preference values of type Password are masked when set.", + "in": "query", + "name": "mask_passwords", + "schema": { + "type": "boolean" + } + } + ], + "responses": { + "404": { + "description": "`CustomPreferenceGroupNotFoundException` - Indicates the preference group is not found. or `PreferenceNotFoundException` - Indicates the preference is not found." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/preference_value" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/preference_value" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/preference_value" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "site_preferences" + ] + } + }, + "/site_search": { + "post": { + "description": "

Searches for sites.

\n \n

The query attribute specifies a complex query that can be used to narrow down the search. These are the list\n of searchable attributes:

\n
    \n
  • id - String
  • \n
  • display_name - Localized < String >
  • \n
  • description - Localized < String >
  • \n
  • in_deletion - Boolean
  • \n
\n\n

The output of the query can also be sorted. These are the list of sortable attributes:

\n
    \n
  • id - String
  • \n
  • display_name - Localized < String >
  • \n
  • description - Localized < String >
  • \n
  • in_deletion - Boolean
  • \n
", + "operationId": "postSiteSearch", + "requestBody": { + "$ref": "#/components/requestBodies/search_request" + }, + "responses": { + "400": { + "description": "`EnumConstraintViolationException` - Thrown if the invalid value is entered for access_type or `MalformedSearchParameterException` - Thrown if the query is ill-formed." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/site_search_result" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/site_search_result" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/site_search_result" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "site_search" + ] + } + }, + "/sites": { + "get": { + "description": "Action to get all existing sites.", + "operationId": "getSites", + "parameters": [ + { + "description": "Optional start index for retrieving the items from a given index (default 0).", + "in": "query", + "name": "start", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "Optional count for retrieving only a subset of the items (default is 25).", + "in": "query", + "name": "count", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "The property selector.", + "in": "query", + "name": "select", + "schema": { + "type": "string" + } + } + ], + "responses": { + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/sites" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/sites" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/sites" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}": { + "get": { + "description": "Action to read an existing site.", + "operationId": "getSitesByID", + "parameters": [ + { + "description": "the id of the site", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/site" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/site" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/site" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/ab_test_search": { + "post": { + "description": "

Searches for A/B Tests.

The query attribute specifies a complex query that can be used to narrow down the search. This is the list of searchable attributes:

  • id - String
  • description - String
  • enabled - Boolean
  • paused - Boolean
  • key_metric_id - String
  • email_addresses - String
  • tags- String
  • expiration_type - String enum[session, never]
  • start_date - DateTime
  • end_date - DateTime

These fields can only be used in Queries as conjunctions (using AND). If the field is used in a disjunction (OR) an exception will be thrown.

The output of the query can also be sorted. These are the list of sortable attributes:

  • id - String
  • description - String
  • enabled - Boolean
  • paused - Boolean
  • key_metric_id - String
", + "operationId": "postSitesByIDAbTestSearch", + "parameters": [ + { + "description": "ID of the site that the A/B tests are contained within.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/search_request" + }, + "responses": { + "404": { + "description": "`SiteNotFoundException` - Indicates that site specified with the given id is unknown." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ab_test_search_result" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/ab_test_search_result" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/ab_test_search_result" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/ab_tests": { + "get": { + "description": "Action to get all the A/B tests with searching.", + "operationId": "getSitesByIDAbTests", + "parameters": [ + { + "description": "ID of the site that the A/B tests are contained within.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + }, + { + "description": "Optional start index for retrieving the items from a given index (default 0).", + "in": "query", + "name": "start", + "schema": { + "type": "integer", + "format": "int32", + "minimum": 0 + } + }, + { + "description": "Optional count for retrieving only a subset of the items (default is 25).", + "in": "query", + "name": "count", + "schema": { + "type": "integer", + "format": "int32", + "minimum": 0 + } + }, + { + "description": "The property selector.", + "in": "query", + "name": "select", + "schema": { + "type": "string" + } + } + ], + "responses": { + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ab_tests" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/ab_tests" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/ab_tests" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/ab_tests/{ab_test_id}/segments/{segment_id}/promotions/{promotion_id}": { + "delete": { + "description": "Action to unbind one promotions from a given abTest.", + "operationId": "deleteSitesByIDAbTestsByIDSegmentsByIDPromotionsByID", + "parameters": [ + { + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The abTest ID that promotions are to be unbound from", + "in": "path", + "name": "ab_test_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "the segment to bind to", + "in": "path", + "name": "segment_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The ID of the promotion that is to be assigned to the abTest.", + "in": "path", + "name": "promotion_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`ABTestNotFoundException` - Indicates that the abTest with the given abTest ID is not found. or `ABTestSegmentNotFoundException` - thrown when the segment with the given id is not found. or `PromotionNotFoundException` - thrown when promotion is not found for one of the specified promotion ids. or `SiteNotFoundException` - thrown when the site with the given id is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "put": { + "description": "Action to bind a single promotion to a given abTest.", + "operationId": "putSitesByIDAbTestsByIDSegmentsByIDPromotionsByID", + "parameters": [ + { + "description": "The ID of the site that contains the abTest and promotion.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The ID of the abTest which contains the segment.", + "in": "path", + "name": "ab_test_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The ID of the segment to to which the promotion is to be assigned.", + "in": "path", + "name": "segment_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The ID of the promotion that is to be assigned to the abTest.", + "in": "path", + "name": "promotion_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`ABTestNotFoundException` - Indicates that the abTest with the given abTest ID is not found. or `ABTestSegmentNotFoundException` - thrown when the segment with the given id is not found. or `PromotionNotFoundException` - Indicates that the promotion with the given promotion ID is not found. or `SiteNotFoundException` - thrown when the site with the given id is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/ab_tests/{ab_test_id}/segments/{segment_id}/slot_configurations/{slot_id}/{slot_config_id}": { + "delete": { + "description": "Action to unbind a slot configuration from a given abTest.", + "operationId": "deleteSitesByIDAbTestsByIDSegmentsByIDSlotConfigurationsByIDByID", + "parameters": [ + { + "description": "The id of the abTest", + "in": "path", + "name": "ab_test_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "in": "path", + "name": "segment_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the site", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The of the slot", + "in": "path", + "name": "slot_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the slot configuration", + "in": "path", + "name": "slot_config_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The context string, which consists of three parts: the context type (which must be folder,\n category or global), an equals sign (=), and the context id (either the category id or folder id).", + "in": "query", + "name": "context", + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "204": { + "description": "" + }, + "400": { + "description": "`InvalidContextTypeException` - Indicates the slot context type is not one of \"global\", \"category\", or \"folder\"" + }, + "404": { + "description": "`ABTestNotFoundException` - Indicates that the abTest with the given abTest ID is not found. or `ABTestSegmentNotFoundException` - thrown when the segment with the given id is not found. or `SiteNotFoundException` - thrown when the site with the given id is not found. or `SlotConfigurationIdentifierNotFoundException` - Indicates that the slot with the given slot ID, slot configuration ID and context type is not found. or `SlotWithContextTypeNotFoundException` - Indicates that the slot with the given slot ID and context type is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "put": { + "description": "Action to bind a slot configuration to a given abTest.", + "operationId": "putSitesByIDAbTestsByIDSegmentsByIDSlotConfigurationsByIDByID", + "parameters": [ + { + "description": "The id of the abTest", + "in": "path", + "name": "ab_test_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "in": "path", + "name": "segment_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the site", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The of the slot", + "in": "path", + "name": "slot_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the slot configuration", + "in": "path", + "name": "slot_config_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The context string, which consists of three parts: the context type (which must be folder,\n category or global), an equals sign (=), and the context id (either the category id or folder id).\n If you do not set this query parameter, the global context is used by default.", + "in": "query", + "name": "context", + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "204": { + "description": "" + }, + "400": { + "description": "`InvalidContextTypeException` - Indicates the slot context type is not one of \"global\", \"category\", or \"folder\"" + }, + "404": { + "description": "`ABTestNotFoundException` - Indicates that the abTest with the given abTest ID is not found. or `ABTestSegmentNotFoundException` - thrown when the segment with the given id is not found. or `SiteNotFoundException` - thrown when the site with the given id is not found. or `SlotConfigurationIdentifierNotFoundException` - Indicates that the slot with the given slot ID, slot configuration ID and context type is not found. or `SlotWithContextTypeNotFoundException` - Indicates that the slot with the given slot ID and context type is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/ab_tests/{ab_test_id}/segments/{segment_id}/sorting_rules/{sorting_rule_id}/{category_id}": { + "delete": { + "description": "Action to unbind a single sorting rule from a given abTest.", + "operationId": "deleteSitesByIDAbTestsByIDSegmentsByIDSortingRulesByIDByID", + "parameters": [ + { + "description": "The ID of the site that contains the abTest, sorting rule and category.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The ID of the abTest to which the sorting rule is to be assigned.", + "in": "path", + "name": "ab_test_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "in": "path", + "name": "segment_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The ID of sorting rule that is to be assigned to the abTest.", + "in": "path", + "name": "sorting_rule_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The ID of the category that is associated with the sorting rule.", + "in": "path", + "name": "category_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "the optional context of the sorting rule, either \"site\" (default) or \"global\"", + "in": "query", + "name": "rule_context", + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "" + }, + "400": { + "description": "`InvalidCategoryException` - Indicates that the category with the given category ID is not found." + }, + "404": { + "description": "`ABTestNotFoundException` - Indicates that the abTest with the given abTest ID is not found. or `ABTestSegmentNotFoundException` - thrown when the segment with the given id is not found. or `SiteNotFoundException` - thrown when the site with the given id is not found. or `SortingRuleNotFoundException` - Indicates that the sorting rule with the given sorting rule ID is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "put": { + "description": "Action to bind a single sorting rule to a given abTest.", + "operationId": "putSitesByIDAbTestsByIDSegmentsByIDSortingRulesByIDByID", + "parameters": [ + { + "description": "The ID of the site that contains the abTest, sorting rule and category.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The ID of the abTest to which the sorting rule is to be assigned.", + "in": "path", + "name": "ab_test_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "in": "path", + "name": "segment_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The ID of sorting rule that is to be assigned to the abTest.", + "in": "path", + "name": "sorting_rule_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The ID of the category that is associated with the sorting rule.", + "in": "path", + "name": "category_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "the optional context of the sorting rule, either \"site\" (default) or \"global\"", + "in": "query", + "name": "rule_context", + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "" + }, + "400": { + "description": "`InvalidCategoryException` - Indicates that the category with the given category ID is not found." + }, + "404": { + "description": "`ABTestNotFoundException` - Indicates that the abTest with the given abTest ID is not found. or `ABTestSegmentNotFoundException` - thrown when the segment with the given id is not found. or `SiteNotFoundException` - thrown when the site with the given id is not found. or `SortingRuleNotFoundException` - Indicates that the sorting rule with the given sorting rule ID is not found." + }, + "409": { + "description": "`SortingRuleCampaignAssignConflictException` - Indicates that there is a sorting rule already assigned to the given abTest ID and category ID.\n The sorting rule with the given sorting rule ID cannot be assigned to the same abTest ID and category ID." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/ab_tests/{id}": { + "delete": { + "description": "Deletes the A/B Test by ID", + "operationId": "deleteSitesByIDAbTestsByID", + "parameters": [ + { + "description": "ID of the site that the A/B tests are contained within.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + }, + { + "description": "The id of the requested A/B Test.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`SiteNotFoundException` - Indicates that site specified with the given id is unknown. or `ABTestNotFoundException` - Thrown in case the A/B Test does not exist matching the given id" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "get": { + "description": "Action to get an A/B Test information.", + "operationId": "getSitesByIDAbTestsByID", + "parameters": [ + { + "description": "ID of the site that the A/B tests are contained within.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + }, + { + "description": "The id of the requested A/B Test.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The expand parameter. A comma separated list with the allowed values (stats, promotions, sorting_rules, slot_configs)", + "in": "query", + "name": "expand", + "style": "form", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "404": { + "description": "`SiteNotFoundException` - Indicates that site specified with the given id is unknown. or `ABTestNotFoundException` - Thrown in case the A/B Test does not exist matching the given id" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ab_test" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/ab_test" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/ab_test" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "patch": { + "description": "Updates the A/B Test with the specified information.", + "operationId": "patchSitesByIDAbTestsByID", + "parameters": [ + { + "description": "ID of the site that the A/B tests are contained within.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + }, + { + "description": "The id of the requested A/B Test.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/ab_test" + }, + "responses": { + "400": { + "description": "`ABTestInvalidEmailException` - Thrown if an invalid email is specified. or `ABTestInvalidPipelineException` - Thrown if an invalid pipeline is specified. or `ABTestInvalidTriggerException` - Thrown if there is missing pipline_call or categories in the specified trigger of type pipeline_call or category_view_page respectively." + }, + "404": { + "description": "`SiteNotFoundException` - Indicates that site specified with the given id is unknown. or `ABTestNotFoundException` - Thrown in case the A/B Test does not exist matching the given id" + }, + "409": { + "description": "`ABTestDuplicateException` - Thrown if an A/B Test exists already in the site with the given identifier specified in the body that is different from the identifier in the path." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ab_test" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/ab_test" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/ab_test" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "put": { + "description": "Creates an A/B Test using the information provided. If an A/B Test with the same unique identifier exists, it will be deleted and a new one will be created unless the header x-dw-validate-existing=true is passed in with the request.", + "operationId": "putSitesByIDAbTestsByID", + "parameters": [ + { + "description": "ID of the site that the A/B tests are contained within.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + }, + { + "description": "The id of the requested A/B Test.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 40 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/ab_test" + }, + "responses": { + "400": { + "description": "`ABTestInvalidEmailException` - Thrown if an invalid email is specified. or `ABTestInvalidPipelineException` - Thrown if an invalid pipeline is specified. or `ABTestInvalidTriggerException` - Thrown if there is missing pipline_call or categories in the specified trigger of type pipeline_call or category_view_page respectively." + }, + "404": { + "description": "`SiteNotFoundException` - Indicates that site specified with the given id is unknown. or `ABTestNotFoundException` - Thrown in case the A/B Test does not exist matching the given id" + }, + "409": { + "description": "`ABTestDuplicateException` - If an A/B Test exists already in the site with the given identifier and the header\nx-dw-validate-existing=true is passed in with the request." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ab_test" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/ab_test" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/ab_test" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/ab_tests/{id}/segments/{segment_id}": { + "delete": { + "description": "Deletes the A/B Test Segment by ID", + "operationId": "deleteSitesByIDAbTestsByIDSegmentsByID", + "parameters": [ + { + "description": "ID of the site that the A/B tests are contained within.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + }, + { + "description": "The id of the requested A/B Test.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the segment in the test.", + "in": "path", + "name": "segment_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`SiteNotFoundException` - Indicates that site specified with the given id is unknown. or `ABTestNotFoundException` - Thrown in case the A/B Test does not exist matching the given id or `ABTestSegmentNotFoundException` - Thrown if the segment cannot be found in the A/B Test provided" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "get": { + "description": "Gets an A/B Test segment using the information provided.", + "operationId": "getSitesByIDAbTestsByIDSegmentsByID", + "parameters": [ + { + "description": "ID of the site that the A/B tests are contained within.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + }, + { + "description": "The id of the requested A/B Test.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the segment in the test.", + "in": "path", + "name": "segment_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The expand parameter. A comma separated list with the allowed values (stats, promotions, sorting_rules, slot_configs)", + "in": "query", + "name": "expand", + "style": "form", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "404": { + "description": "`SiteNotFoundException` - Indicates that site specified with the given id is unknown. or `ABTestNotFoundException` - Thrown in case the A/B Test does not exist matching the given id or `ABTestSegmentNotFoundException` - Thrown if the segment cannot be found in the A/B Test provided" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ab_test_segment" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/ab_test_segment" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/ab_test_segment" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "patch": { + "description": "Updates the A/B Test segment with the specified information.", + "operationId": "patchSitesByIDAbTestsByIDSegmentsByID", + "parameters": [ + { + "description": "ID of the site that the A/B tests are contained within.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + }, + { + "description": "The id of the requested A/B Test.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the segment in the test.", + "in": "path", + "name": "segment_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/ab_test_segment" + }, + "responses": { + "404": { + "description": "`SiteNotFoundException` - Indicates that site specified with the given id is unknown. or `ABTestNotFoundException` - Thrown in case the A/B Test does not exist matching the given id or `ABTestSegmentNotFoundException` - Thrown if the segment cannot be found in the A/B Test provided" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ab_test_segment" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/ab_test_segment" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/ab_test_segment" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "put": { + "description": "Creates an A/B Test segment using the information provided.", + "operationId": "putSitesByIDAbTestsByIDSegmentsByID", + "parameters": [ + { + "description": "ID of the site that the A/B tests are contained within.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + }, + { + "description": "The id of the requested A/B Test.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the segment in the test.", + "in": "path", + "name": "segment_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/ab_test_segment" + }, + "responses": { + "404": { + "description": "`SiteNotFoundException` - Indicates that site specified with the given id is unknown. or `ABTestNotFoundException` - Thrown in case the A/B Test does not exist matching the given id or `ABTestSegmentNotFoundException` - Thrown if the segment cannot be found in the A/B Test provided" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ab_test_segment" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/ab_test_segment" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/ab_test_segment" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/ai/recommender_names": { + "get": { + "description": "Get a list of available AI recommenders. Recommenders are configured in the Einstein configurator and are required with AI recommendation API requests.", + "operationId": "getSitesByIDAiRecommenderNames", + "parameters": [ + { + "description": "Site ID to get a list of recommenders for.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + } + ], + "responses": { + "400": { + "description": "`CQuotientException` - If CQuotient responds with a non-success status code." + }, + "404": { + "description": "`SiteNotFoundException` - If the given site does not exist." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/recommenders_result" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/recommenders_result" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/recommenders_result" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/campaign_search": { + "post": { + "description": "

Searches for campaigns.

\n \n

The Campaign Search document contains a search object that allows filtering on various attributes.

\n \n\n

The query attribute specifies a complex query that can be used to narrow down the search. These are the list\n of searchable attributes:

\n
    \n
  • campaign_id - String
  • \n
  • description - String
  • \n
  • enabled - Boolean
  • \n
  • coupon_id* - String
  • \n
  • customer_group* - String
  • \n
  • source_code* - String
  • \n
  • start_date - Date
  • \n
  • end_date - Date
  • \n
  • last_modified - Date
  • \n \n
\n\n

These fields can only be used in Queries as conjunctions (using AND). If the field is used in a disjunction\n (OR) an exception will be thrown.

\n\n

Note that only searchable attributes (excluding the ones marked with above with an asterisk) can be used in sorting\n Additionally start_date, end_date and last_modified cannot be used in sorting.

", + "operationId": "postSitesByIDCampaignSearch", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/search_request" + }, + "responses": { + "400": { + "description": "`MalformedSearchParameterException` - Thrown if the query is ill-formed." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/campaign_search_result" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/campaign_search_result" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/campaign_search_result" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/campaigns/{campaign_id}": { + "delete": { + "description": "Deletes the campaign by ID", + "operationId": "deleteSitesByIDCampaignsByID", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "A campaign id to remove", + "in": "path", + "name": "campaign_id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "get": { + "description": "Action to get campaign information.", + "operationId": "getSitesByIDCampaignsByID", + "parameters": [ + { + "description": "The site the requested campaign belongs to.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the requested campaign.", + "in": "path", + "name": "campaign_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "404": { + "description": "`CampaignNotFoundException` - Thrown in case the campaign does not exist matching the given id" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/campaign" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/campaign" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/campaign" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "patch": { + "description": "Updates the campaign with the specified information.", + "operationId": "patchSitesByIDCampaignsByID", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the requested campaign.", + "in": "path", + "name": "campaign_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/campaign" + }, + "responses": { + "400": { + "description": "`CampaignDuplicateException` - if a campaign exists already in the site with the given campaign id." + }, + "404": { + "description": "`CampaignNotFoundException` - Thrown in case the campaign does not exist matching the given id" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/campaign" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/campaign" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/campaign" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "put": { + "description": "Creates a campaign using the information provided.", + "operationId": "putSitesByIDCampaignsByID", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the campaign to create.", + "in": "path", + "name": "campaign_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/campaign" + }, + "responses": { + "400": { + "description": "`IdConflictException` - if the Id in request is not the same as the ID in document." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/campaign" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/campaign" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/campaign" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/campaigns/{campaign_id}/coupons/{coupon_id}": { + "delete": { + "description": "Action to unbind a coupon from a given campaign.", + "operationId": "deleteSitesByIDCampaignsByIDCouponsByID", + "parameters": [ + { + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The campaign ID that coupons are to be unbound from", + "in": "path", + "name": "campaign_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The coupon ID to unbind from a campaign", + "in": "path", + "name": "coupon_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "in": "query", + "name": "removeInPCA", + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "" + }, + "400": { + "description": "`ConstraintViolationException` - Indicates some parameter constraint violation occurs" + }, + "404": { + "description": "`CampaignNotFoundException` - Indicates that the campaign with the given campaign id\n \t\t\t\tis unknown." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "put": { + "description": "Action to bind a single coupon to a given campaign.", + "operationId": "putSitesByIDCampaignsByIDCouponsByID", + "parameters": [ + { + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The campaign ID that coupons are to be bound to", + "in": "path", + "name": "campaign_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The coupon ID to bind to a campaign", + "in": "path", + "name": "coupon_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "204": { + "description": "" + }, + "400": { + "description": "`ConstraintViolationException` - Indicates some parameter constraint violation occurs" + }, + "404": { + "description": "`CampaignNotFoundException` - Indicates that the campaign with the given campaign id\n \t\t\t\tis unknown." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/campaigns/{campaign_id}/customer_groups/{customer_group_id}": { + "delete": { + "description": "Action to unbind a customer group from a given campaign.", + "operationId": "deleteSitesByIDCampaignsByIDCustomerGroupsByID", + "parameters": [ + { + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The campaign ID that coupons are to be unbound from", + "in": "path", + "name": "campaign_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The customer group ID to unbind from a campaign", + "in": "path", + "name": "customer_group_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "204": { + "description": "" + }, + "400": { + "description": "`ConstraintViolationException` - Indicates some parameter constraint violation occurs" + }, + "404": { + "description": "`CampaignNotFoundException` - Indicates that the campaign with the given campaign id\n is unknown." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "put": { + "description": "Action to bind a single customer group to a given campaign.", + "operationId": "putSitesByIDCampaignsByIDCustomerGroupsByID", + "parameters": [ + { + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The campaign ID that coupons are to be bound to", + "in": "path", + "name": "campaign_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The customer group ID to bind to a campaign", + "in": "path", + "name": "customer_group_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "204": { + "description": "" + }, + "400": { + "description": "`ConstraintViolationException` - Indicates some parameter constraint violation occurs" + }, + "404": { + "description": "`CampaignNotFoundException` - Indicates that the campaign with the given campaign id\n is unknown." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/campaigns/{campaign_id}/promotions/{promotion_id}": { + "delete": { + "description": "Action to unbind a single promotion from a given campaign.", + "operationId": "deleteSitesByIDCampaignsByIDPromotionsByID", + "parameters": [ + { + "description": "The ID of the site that contains the campaign and promotion.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The ID of the campaign to which the promotion is to be assigned.", + "in": "path", + "name": "campaign_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The ID of the promotion that is to be assigned to the campaign.", + "in": "path", + "name": "promotion_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`CampaignNotFoundException` - Indicates that the campaign with the given campaign ID is not found. or `PromotionNotFoundException` - Indicates that the campaign with the given promotion ID is not found. or `SiteNotFoundException` - thrown when site with the given site id is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "patch": { + "description": "Action to update the assignment of promotion to a campaign.", + "operationId": "patchSitesByIDCampaignsByIDPromotionsByID", + "parameters": [ + { + "description": "The ID of the campaign.", + "in": "path", + "name": "campaign_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The ID of the site.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The ID of the promotion.", + "in": "path", + "name": "promotion_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/promotion_campaign_assignment" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/promotion_campaign_assignment" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/promotion_campaign_assignment" + } + } + }, + "required": true + }, + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`CampaignNotFoundException` - Indicates that the campaign with the given campaign ID is not found. or `CouponNotFoundException` - Indicates that the coupon with the given coupon ID is not found. or `CustomerGroupNotFoundException` - Indicates that the customer group with the given customer group ID is not\n found. or `PromotionNotFoundException` - Indicates that the promotion with the given promotion ID is not found. or `SiteNotFoundException` - thrown when site with the given site id is not found. or `SourceCodeGroupNotFoundException` - Indicates that the source code group with the given source code group ID\n is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "put": { + "description": "Action to bind a single promotion to a given campaign.", + "operationId": "putSitesByIDCampaignsByIDPromotionsByID", + "parameters": [ + { + "description": "The ID of the site that contains the campaign and promotion.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The ID of the campaign to which the promotion is to be assigned.", + "in": "path", + "name": "campaign_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The ID of the promotion that is to be assigned to the campaign.", + "in": "path", + "name": "promotion_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/promotion_campaign_assignment" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/promotion_campaign_assignment" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/promotion_campaign_assignment" + } + } + } + }, + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`CampaignNotFoundException` - Indicates that the campaign with the given campaign ID is not found. or `PromotionNotFoundException` - Indicates that the promotion with the given promotion ID is not found. or `SiteNotFoundException` - thrown when site with the given site id is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/campaigns/{campaign_id}/slot_configurations/{slot_id}/{slot_config_id}": { + "delete": { + "description": "Action to unbind a slot configuration from a given campaign.", + "operationId": "deleteSitesByIDCampaignsByIDSlotConfigurationsByIDByID", + "parameters": [ + { + "description": "The id of the campaign", + "in": "path", + "name": "campaign_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the site", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The of the slot", + "in": "path", + "name": "slot_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the slot configuration", + "in": "path", + "name": "slot_config_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The context string, which consists of three parts: the context type (which must be folder,\n category or global), an equals sign (=), and the context id (either the category id or folder id).", + "in": "query", + "name": "context", + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "204": { + "description": "" + }, + "400": { + "description": "`InvalidContextTypeException` - Indicates the slot context type is not one of \"global\", \"category\", or\n \"folder\"" + }, + "404": { + "description": "`CampaignNotFoundException` - Indicates that the campaign with the given campaign ID is not found. or `SiteNotFoundException` - thrown when site with the given site id is not found. or `SlotConfigurationIdentifierNotFoundException` - Indicates that the slot with the given slot ID, slot\n configuration ID and context type is not found. or `SlotWithContextTypeNotFoundException` - Indicates that the slot with the given slot ID and context type is\n not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "patch": { + "description": "Action to update the assignment of slot configuration to a campaign.", + "operationId": "patchSitesByIDCampaignsByIDSlotConfigurationsByIDByID", + "parameters": [ + { + "description": "The ID of the campaign.", + "in": "path", + "name": "campaign_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The ID of the site.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The ID of the slot.", + "in": "path", + "name": "slot_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The ID of the slot configuration.", + "in": "path", + "name": "slot_config_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The context string, which consists of three parts: the context type (which must be folder,\n category or global), an equals sign (=), and the context id (either the category id or folder id). If\n you do not set this query parameter, the global context is used by default.", + "in": "query", + "name": "context", + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/slot_configuration_campaign_assignment" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/slot_configuration_campaign_assignment" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/slot_configuration_campaign_assignment" + } + } + }, + "required": true + }, + "responses": { + "204": { + "description": "" + }, + "400": { + "description": "`InvalidContextTypeException` - Indicates the slot context type is not one of \"global\", \"category\", or\n \"folder\"" + }, + "404": { + "description": "`CampaignNotFoundException` - Indicates that the campaign with the given campaign ID is not found. or `SiteNotFoundException` - thrown when site with the given site id is not found. or `SlotConfigurationIdentifierNotFoundException` - Indicates that the slot with the given slot ID, slot\n configuration ID and context type is not found. or `SlotWithContextTypeNotFoundException` - Indicates that the slot with the given slot ID and context type is\n not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "put": { + "description": "Action to bind a slot configuration to a given campaign.", + "operationId": "putSitesByIDCampaignsByIDSlotConfigurationsByIDByID", + "parameters": [ + { + "description": "The ID of the campaign.", + "in": "path", + "name": "campaign_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The ID of the site.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The ID of the slot.", + "in": "path", + "name": "slot_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The ID of the slot configuration.", + "in": "path", + "name": "slot_config_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The context string, which consists of three parts: the context type (which must be folder,\n category or global), an equals sign (=), and the context id (either the category id or folder id). If\n you do not set this query parameter, the global context is used by default.", + "in": "query", + "name": "context", + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/slot_configuration_campaign_assignment" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/slot_configuration_campaign_assignment" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/slot_configuration_campaign_assignment" + } + } + } + }, + "responses": { + "204": { + "description": "" + }, + "400": { + "description": "`IdConflictException` - Indicates the ID in the URL does not match the ID in the request or `InvalidContextTypeException` - Indicates the slot context type is not one of \"global\", \"category\", or\n \"folder\"" + }, + "404": { + "description": "`CampaignNotFoundException` - Indicates that the campaign with the given campaign ID is not found. or `SiteNotFoundException` - thrown when site with the given site id is not found. or `SlotConfigurationIdentifierNotFoundException` - Indicates that the slot with the given slot ID, slot\n configuration ID and context type is not found. or `SlotWithContextTypeNotFoundException` - Indicates that the slot with the given slot ID and context type is\n not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/campaigns/{campaign_id}/sorting_rules/{sorting_rule_id}/{category_id}": { + "delete": { + "description": "Action to unbind a single sorting rule from a given campaign.", + "operationId": "deleteSitesByIDCampaignsByIDSortingRulesByIDByID", + "parameters": [ + { + "description": "The ID of the site that contains the campaign, sorting rule and category.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The ID of the campaign to which the sorting rule is to be assigned.", + "in": "path", + "name": "campaign_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The ID of sorting rule that is to be assigned to the campaign.", + "in": "path", + "name": "sorting_rule_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The ID of the category that is associated with the sorting rule.", + "in": "path", + "name": "category_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The context in which the rule lives, either \"site\" or \"global\"", + "in": "query", + "name": "rule_context", + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "" + }, + "400": { + "description": "`InvalidCategoryException` - Indicates that the category with the given category ID is not found." + }, + "404": { + "description": "`CampaignNotFoundException` - Indicates that the campaign with the given campaign ID is not found. or `SiteNotFoundException` - thrown when site with the given site id is not found. or `SortingRuleNotFoundException` - Indicates that the sorting rule with the given sorting rule ID is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "put": { + "description": "Action to bind a single sorting rule to a given campaign.", + "operationId": "putSitesByIDCampaignsByIDSortingRulesByIDByID", + "parameters": [ + { + "description": "The ID of the site that contains the campaign, sorting rule and category.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The ID of the campaign to which the sorting rule is to be assigned.", + "in": "path", + "name": "campaign_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The ID of sorting rule that is to be assigned to the campaign.", + "in": "path", + "name": "sorting_rule_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The ID of the category that is associated with the sorting rule.", + "in": "path", + "name": "category_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The context in which the rule lives, either \"site\" or \"global\"", + "in": "query", + "name": "rule_context", + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "" + }, + "400": { + "description": "`InvalidCategoryException` - Indicates that the category with the given category ID is not found." + }, + "404": { + "description": "`CampaignNotFoundException` - Indicates that the campaign with the given campaign ID is not found. or `SiteNotFoundException` - thrown when site with the given site id is not found. or `SortingRuleNotFoundException` - Indicates that the sorting rule with the given sorting rule ID is not found." + }, + "409": { + "description": "`SortingRuleCampaignAssignConflictException` - Indicates that there is a sorting rule already assigned to the\n given campaign ID and category ID. The sorting rule with the given sorting rule ID cannot be assigned\n to the same campaign ID and category ID." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/campaigns/{campaign_id}/source_code_groups/{source_code_group_id}": { + "delete": { + "description": "Action to unbind a source code group from a given campaign.", + "operationId": "deleteSitesByIDCampaignsByIDSourceCodeGroupsByID", + "parameters": [ + { + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The campaign ID that source code groups are to be unbound from", + "in": "path", + "name": "campaign_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The source code group ID to unbind from a campaign", + "in": "path", + "name": "source_code_group_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "204": { + "description": "" + }, + "400": { + "description": "`ConstraintViolationException` - Indicates some parameter constraint violation occurs" + }, + "404": { + "description": "`CampaignNotFoundException` - Indicates that the campaign with the given campaign id\n is unknown." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "put": { + "description": "Action to bind a single source code group to a given campaign.", + "operationId": "putSitesByIDCampaignsByIDSourceCodeGroupsByID", + "parameters": [ + { + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The campaign ID that source code group are to be bound to", + "in": "path", + "name": "campaign_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The source code group ID to bind to a campaign", + "in": "path", + "name": "source_code_group_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "204": { + "description": "" + }, + "400": { + "description": "`ConstraintViolationException` - Indicates some parameter constraint violation occurs" + }, + "404": { + "description": "`CampaignNotFoundException` - Indicates that the campaign with the given campaign id\n is unknown." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/cartridges": { + "post": { + "description": "Add a cartridge to current cartridge path.", + "operationId": "postSitesByIDCartridges", + "parameters": [ + { + "description": "ID of the site.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cartridge_path_add_request" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/cartridge_path_add_request" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/cartridge_path_add_request" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "`CartridgeAlreadyExistException` - Indicates that the cartridge already exist in cartridge path or `InvalidCartridgeException` - Indicates that the cartridge name is invalid or `InvalidOperationException` - The error may happen when position is either 'after' or 'before'. It indicates either target cartridge is not a existing custom cartridge." + }, + "404": { + "description": "`SiteNotFoundException` - Indicates that site specified with the given id is unknown." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cartridge_path_api_response" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/cartridge_path_api_response" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/cartridge_path_api_response" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "put": { + "description": "Overwrite cartridge path.", + "operationId": "putSitesByIDCartridges", + "parameters": [ + { + "description": "ID of the site.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cartridge_path_create_request" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/cartridge_path_create_request" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/cartridge_path_create_request" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "`InvalidCartridgePathException` - Indicates that the cartridge path is invalid" + }, + "404": { + "description": "`SiteNotFoundException` - Indicates that site specified with the given id is unknown." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cartridge_path_api_response" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/cartridge_path_api_response" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/cartridge_path_api_response" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/cartridges/{cartridge_name}": { + "delete": { + "description": "Remove a cartridge from cartridge path.", + "operationId": "deleteSitesByIDCartridgesByID", + "parameters": [ + { + "description": "ID of the site.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "request body", + "in": "path", + "name": "cartridge_name", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "400": { + "description": "`InvalidOperationException` - It indicates either the cartridge doesn't exist in cartridge path or the cartridge can not be deleted (e.g. System Cartridge)." + }, + "404": { + "description": "`SiteNotFoundException` - Indicates that site specified with the given id is unknown." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cartridge_path_api_response" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/cartridge_path_api_response" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/cartridge_path_api_response" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/coupon_redemption_search": { + "post": { + "description": "

\n Searches for coupon redemptions.\n

\n

\n The Coupon Redemption Search document contains a search object that allows filtering on various attributes.\n

\n

\n The query attribute specifies a complex query that can be used to narrow down the search. These are the list of\n searchable attributes:\n

\n
    \n
  • code - String
  • \n
  • coupon_id - String
  • \n
  • customer_email - String
  • \n
  • order_no - String
  • \n
\n

\n Note that only searchable attributes can be used in sorting.\n

\n If the role to which the user belongs does not have View_Coupon_Codes permission, then the coupon codes returned\n will be masked.", + "operationId": "postSitesByIDCouponRedemptionSearch", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/search_request" + }, + "responses": { + "400": { + "description": "`MalformedSearchParameterException` - Thrown if the query is ill-formed." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/coupon_redemption_search_result" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/coupon_redemption_search_result" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/coupon_redemption_search_result" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/coupon_search": { + "post": { + "description": "

\n Searches for coupons.\n

\n

\n The Coupon Search document contains a search object that allows filtering on various attributes.\n

\n

\n The query attribute specifies a complex query that can be used to narrow down the search. These are the list of\n searchable attributes:\n

\n
    \n
  • coupon_id - String
  • \n
  • description - String
  • \n
  • type - one of {\"single_code\", \"multiple_codes\", \"system_codes\"}
  • \n
  • enabled - boolean
  • \n
\n

\n Note that only searchable attributes can be used in sorting. In case no sorting attribute is specified the result\n is sorted by coupon_id.\n

\n

\n The stats expand value is required to return the following fields in the Coupon document:\n

\n
    \n
  • exported_code_count
  • \n
  • redemption_count
  • \n
  • total_codes_count
  • \n
", + "operationId": "postSitesByIDCouponSearch", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/search_request" + }, + "responses": { + "400": { + "description": "`MalformedSearchParameterException` - Thrown if the query is ill-formed." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/coupon_search_result" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/coupon_search_result" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/coupon_search_result" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/coupons": { + "get": { + "description": "Action to get all the coupons with no filtering.\n

\n The result is sorted by by coupon_id ascending.\n

", + "operationId": "getSitesByIDCoupons", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "Optional start index for retrieving the codes from a given index (default 0).", + "in": "query", + "name": "start", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "Optional count for retrieving only a subset of the codes (default is 25).", + "in": "query", + "name": "count", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "The property selector.", + "in": "query", + "name": "select", + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "expand", + "style": "form", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/coupons" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/coupons" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/coupons" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/coupons/{coupon_id}": { + "delete": { + "description": "Delete a coupon by id.", + "operationId": "deleteSitesByIDCouponsByID", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "Id of the coupon to delete from the site.", + "in": "path", + "name": "coupon_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "204": { + "description": "" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "get": { + "description": "Action to get coupon information.\n\n

The following fields are returned in the Coupon document when specifying the stats expand:\n

    \n
  • exported_code_count
  • \n
  • redemption_count
  • \n
  • total_codes_count
  • \n
\n

\n\n If the role to which the user belongs does not have View_Coupon_Codes permission, then the coupon codes returned will be masked.", + "operationId": "getSitesByIDCouponsByID", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the requested coupon.", + "in": "path", + "name": "coupon_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The property selector.", + "in": "query", + "name": "select", + "schema": { + "type": "string" + } + }, + { + "description": "The expand parameter. A comma separated list with the allowed values ( stats ).", + "in": "query", + "name": "expand", + "style": "form", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "404": { + "description": "`CouponNotFoundException` - Thrown in case the coupon does not exist matching the given id" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/coupon" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/coupon" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/coupon" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "patch": { + "description": "Updates the coupon with the specified information.", + "operationId": "patchSitesByIDCouponsByID", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the requested coupon.", + "in": "path", + "name": "coupon_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/coupon" + }, + "responses": { + "400": { + "description": "`CouponCodeDuplicateException` - Thrown if the code provided is in use by another coupon. or `CouponUpdateReadOnlyException` - Thrown if you try to update certain fields in a coupon after\n redeeming or exporting it. or `SystemGeneratedCouponQuotaException` - Thrown whenever a quota regarding system-generated coupons is violated" + }, + "403": { + "description": "`CouponLegacyUpdateForbiddenException` - Thrown when trying to update a legacy coupon. or `CouponUpdateForbiddenException` - Thrown when trying to update a broken coupon, that should be deleted and re-created." + }, + "404": { + "description": "`CouponNotFoundException` - Thrown if the coupon does not exist matching the given id." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/coupon" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/coupon" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/coupon" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "put": { + "description": "Creates a coupon using the information provided. If a coupon exists with the same unique identifier,\n the coupon is replaced completely.", + "operationId": "putSitesByIDCouponsByID", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the coupon to create.", + "in": "path", + "name": "coupon_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/coupon" + }, + "responses": { + "400": { + "description": "`CouponCodeDuplicateException` - Thrown if the code provided is in use by another coupon. or `CouponCreateSingleCodeException` - Thrown if a single code coupon does not set the coupon code properly. or `CouponInvalidException` - Thrown if the coupon passed in is not valid (the argument indicates\n the field that was invalid). or `IdConflictException` - if the Id in request is not the same as the ID in document. or `SystemGeneratedCouponQuotaException` - Thrown whenever a quota regarding system-generated coupons is violated" + }, + "403": { + "description": "`SiteAccessForbiddenException` - Thrown if the resource requires global instead of site-specific context." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/coupon" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/coupon" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/coupon" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/coupons/{coupon_id}/campaigns": { + "get": { + "description": "Get the campaigns that have a coupon assigned to them either directly or through promotions", + "operationId": "getSitesByIDCouponsByIDCampaigns", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the coupon that is assigned to campaigns directly or through promotions.", + "in": "path", + "name": "coupon_id", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "Optional start index for retrieving the campaigns (default 0).", + "in": "query", + "name": "start", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "Optional count for retrieving the campaigns (default is 25).", + "in": "query", + "name": "count", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "in": "query", + "name": "select", + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": "`CouponNotFoundException` - Thrown if the coupon does not exist matching the given id." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/campaigns" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/campaigns" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/campaigns" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/coupons/{coupon_id}/campaigns/{campaign_id}/promotions": { + "get": { + "description": "Get the promotions for a campaign that have a coupon assigned to them either directly or through campaigns.", + "operationId": "getSitesByIDCouponsByIDCampaignsByIDPromotions", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the coupon that is assigned to promotions directly or through campaigns.", + "in": "path", + "name": "coupon_id", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "The id of the campaign that we want to restrict the set of promotions for.", + "in": "path", + "name": "campaign_id", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "Optional start index for retrieving the promotions (default 0).", + "in": "query", + "name": "start", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "Optional count for retrieving the promotions (default is 25).", + "in": "query", + "name": "count", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "in": "query", + "name": "select", + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": "`CampaignNotFoundException` - Thrown if the campaign does not exist matching the given id. or `CouponNotFoundException` - Thrown if the coupon does not exist matching the given id." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/promotions" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/promotions" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/promotions" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/coupons/{coupon_id}/codes": { + "get": { + "description": "Get the coupon codes for the given coupon.\n\n If the role to which the user belongs does not have View_Coupon_Codes permission, then the coupon codes returned will be masked.", + "operationId": "getSitesByIDCouponsByIDCodes", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the coupon from which to delete codes (must be a multiple code coupon).", + "in": "path", + "name": "coupon_id", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "Optional start index for retrieving the codes from a given index (default 0).", + "in": "query", + "name": "start", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "Optional count for retrieving only a subset of the codes (default is 25).", + "in": "query", + "name": "count", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "Optional select clause for getting fields from the returned JSON document.", + "in": "query", + "name": "select", + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": "`CouponNotFoundException` - Thrown if the coupon does not exist matching the given id." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/coupon_codes" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/coupon_codes" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/coupon_codes" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/coupons/{coupon_id}/multiple_codes": { + "post": { + "description": "Add or delete (modify) multiple codes to/from the supplied coupon.", + "operationId": "postSitesByIDCouponsByIDMultipleCodes", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the coupon to modify codes (must be multiple code coupon).", + "in": "path", + "name": "coupon_id", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "Optional parameter for specifying when to delete multiple codes.", + "in": "query", + "name": "delete", + "schema": { + "type": "boolean" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/coupon_multi_codes_request" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/coupon_multi_codes_request" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/coupon_multi_codes_request" + } + } + } + }, + "responses": { + "204": { + "description": "" + }, + "400": { + "description": "`CouponCodeCreateException` - Thrown if the coupon code could not be created." + }, + "404": { + "description": "`CouponNotFoundException` - Thrown if the coupon does not exist matching the given id." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/coupons/{coupon_id}/promotions": { + "get": { + "description": "Get the promotions that have a coupon assigned to them either directly or through campaigns.", + "operationId": "getSitesByIDCouponsByIDPromotions", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the coupon that is assigned to promotions directly or through campaigns.", + "in": "path", + "name": "coupon_id", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "Optional start index for retrieving the promotions (default 0).", + "in": "query", + "name": "start", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "Optional count for retrieving the promotions (default is 25).", + "in": "query", + "name": "count", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "in": "query", + "name": "select", + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": "`CouponNotFoundException` - Thrown if the coupon does not exist matching the given id." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/promotions" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/promotions" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/promotions" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/custom_objects/{object_type}/{key}": { + "delete": { + "description": "Deletes a site specific Custom Object. If the Custom Object does not exist, this will do nothing. Note that the customization scripts are only called, if the Custom Object does exist.", + "operationId": "deleteSitesByIDCustomObjectsByIDByID", + "parameters": [ + { + "description": "the ID of the site", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "the ID of the object type", + "in": "path", + "name": "object_type", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "the key attribute value of the Custom Object", + "in": "path", + "name": "key", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "204": { + "description": "" + }, + "400": { + "description": "`MalformedKeyParameterException` - If the object key must be an integer, but the path parameter has an invalid format" + }, + "404": { + "description": "`ObjectTypeNotFoundException` - For an unknown object type ID" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "get": { + "description": "Reads a site specific Custom Object with a given object type ID and a value for the key attribute of the object which represents its unique identifier.", + "operationId": "getSitesByIDCustomObjectsByIDByID", + "parameters": [ + { + "description": "the ID of the site", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "the ID of the object type", + "in": "path", + "name": "object_type", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "the key attribute value of the Custom Object", + "in": "path", + "name": "key", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "400": { + "description": "`MalformedKeyParameterException` - If the object key must be an integer, but the path parameter has an invalid format" + }, + "404": { + "description": "`ObjectTypeNotFoundException` - For an unknown object type ID or `CustomObjectNotFoundException` - For an unknown object key" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/custom_object" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/custom_object" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/custom_object" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "patch": { + "description": "

Updates a site specific Custom Object with information from the request body. Note that only provided attributes are updated and that the key attribute is ignored. All other attributes are unchanged.

Use Custom Properties prefixed with c_ to define the Custom Object fields.
For localizable strings, structure the field to support multiple language values by using a map where each locale, for example: en_US, fr_FR, has its corresponding string value.

", + "operationId": "patchSitesByIDCustomObjectsByIDByID", + "parameters": [ + { + "description": "the ID of the site", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "the ID of the object type", + "in": "path", + "name": "object_type", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "the key attribute value of the Custom Object", + "in": "path", + "name": "key", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/custom_object" + }, + "responses": { + "400": { + "description": "`MalformedKeyParameterException` - If the object key must be an integer, but the path parameter has an invalid format" + }, + "404": { + "description": "`ObjectTypeNotFoundException` - For an unknown object type ID or `CustomObjectNotFoundException` - For an unknown object key" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/custom_object" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/custom_object" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/custom_object" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "put": { + "description": "

Creates a site specific Custom Object from the request body. Note that an existing site specific Custom Object with the same key is overwritten by this action.

Use Custom Properties prefixed with c_ to define the Custom Object fields.
For localizable strings, structure the field to support multiple language values by using a map where each locale, for example: en_US, fr_FR, has its corresponding string value.

", + "operationId": "putSitesByIDCustomObjectsByIDByID", + "parameters": [ + { + "description": "the ID of the site", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "the ID of the object type", + "in": "path", + "name": "object_type", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "the key attribute value of the Custom Object", + "in": "path", + "name": "key", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/custom_object2" + }, + "responses": { + "400": { + "description": "`MalformedKeyParameterException` - If the object key must be an integer, but the path parameter has an invalid format" + }, + "404": { + "description": "`ObjectTypeNotFoundException` - For an unknown object type ID or `CustomObjectNotFoundException` - For an unknown object key" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/custom_object" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/custom_object" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/custom_object" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/customer_group_search": { + "post": { + "description": "

Searches for customer groups.

\n \n

The query attribute specifies a complex query that can be used to narrow down the search. These are the list\n of searchable attributes:

\n
    \n
  • id - String
  • \n
  • description - String
  • \n
  • type - String Enum value[system, dynamic, static]
  • \n
\n\n

The output of the query can also be sorted. These are the list of sortable attributes:

\n
    \n
  • id - String
  • \n
  • description - String
  • \n
", + "operationId": "postSitesByIDCustomerGroupSearch", + "parameters": [ + { + "description": "The id of the site.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/search_request" + }, + "responses": { + "400": { + "description": "`CustomerGroupTypeInvalidException` - Thrown if the search term in term query does not match any of the customer group type. or `MalformedSearchParameterException` - Thrown if the query is ill-formed." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/customer_group_search_result" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/customer_group_search_result" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/customer_group_search_result" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/customer_groups": { + "get": { + "description": "Action to get all the customer groups with no filtering.", + "operationId": "getSitesByIDCustomerGroups", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "Optional start index for retrieving the items from a given index (default 0).", + "in": "query", + "name": "start", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "Optional count for retrieving only a subset of the items (default is 25).", + "in": "query", + "name": "count", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "The property selector.", + "in": "query", + "name": "select", + "schema": { + "type": "string" + } + } + ], + "responses": { + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/customer_groups" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/customer_groups" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/customer_groups" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/customer_groups/{id}": { + "delete": { + "description": "Triggers customer group deletion by ID. Be aware that the deletion happens via asynchronous batch process\n which is the reason the deletion itself is not necessarily finished after the call to this resource returned. The \n customer group that is in deletion will be provided in the response.", + "operationId": "deleteSitesByIDCustomerGroupsByID", + "parameters": [ + { + "description": "The id of the site.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "One customer group id to remove", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "The attribute selector for the customer group which is now in deletion", + "in": "query", + "name": "select", + "schema": { + "type": "string" + } + } + ], + "responses": { + "403": { + "description": "`SystemCustomerGroupDeleteForbiddenException` - Thrown when attempting to delete the system customer group." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/customer_group" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/customer_group" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/customer_group" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "get": { + "description": "Action to get customer group information.", + "operationId": "getSitesByIDCustomerGroupsByID", + "parameters": [ + { + "description": "The id of the site.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the requested customer group.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The attribute selector. Include 'member_count' explicitly if member count per customer group is required.", + "in": "query", + "name": "select", + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": "`CustomerGroupNotFoundException` - Thrown in case the customer group does not exist matching the given id" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/customer_group" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/customer_group" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/customer_group" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "patch": { + "description": "Updates the customer group with the specified information.", + "operationId": "patchSitesByIDCustomerGroupsByID", + "parameters": [ + { + "description": "The id of the site.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the requested customer group.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/customer_group" + }, + "responses": { + "403": { + "description": "`SystemCustomerGroupUpdateForbiddenException` - Thrown when attempting to update the system customer group." + }, + "404": { + "description": "`CustomerGroupNotFoundException` - Thrown in case the customer group does not exist matching the given id" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/customer_group" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/customer_group" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/customer_group" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "put": { + "description": "Creates a customer group using the information provided.", + "operationId": "putSitesByIDCustomerGroupsByID", + "parameters": [ + { + "description": "The id of the site.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the customer group to create.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/customer_group" + }, + "responses": { + "400": { + "description": "`CustomerGroupCreateException` - Thrown when there are system error in creating the customer group. or `IdConflictException` - Thrown when id in query parameter is different from the id in the body." + }, + "403": { + "description": "`SystemCustomerGroupCreateForbiddenException` - Thrown when attempting to create the system customer group." + }, + "409": { + "description": "`CustomerGroupAlreadyExistsException` - if a customer group exists already in the site with the given identifier." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/customer_group" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/customer_group" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/customer_group" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/customer_groups/{id}/member_search": { + "post": { + "description": "

Searches for customer group members. For dynamic customer groups and the system groups \"Everyone\" and \"Unregistered\" no result is returned (Status Code: 204 - No Content).

\n\n

The query attribute specifies a complex query that can be used to narrow down the search. Attributes are grouped\n into different buckets. These are the list of searchable attributes with their corresponding buckets:

\n\n

Main:

\n
    \n
  • login - String
  • \n
  • active - Boolean
  • \n
\n

Customer Profile:

\n
    \n
  • customer_no - String
  • \n
  • first_name - String
  • \n
  • last_name - String
  • \n
  • email - String
  • \n
  • zip - String
  • \n
\n\n

Only attributes in the same bucket can be joined using a disjunction (OR).\n For instance, when joining login and customer_no above, only a conjunction is allowed (AND), whereas customer_no\n and email can be joined using a disjunction because they are in the same bucket. If an attribute\n is used in a disjunction (OR) that violates this rule, an exception will be thrown.

\n\n

The output of the query can also be sorted. These are the list of sortable attributes:

\n
    \n
  • customer_no - String
  • \n
  • login - String
  • \n
\n\n

If the Business manager customer search is configured to use the new Search Service, the following differences apply:\n

    \n
  • all attributes can be used for sorting (except for 'active')
  • \n
  • searching for 'zip' will only search in the customers default address
  • \n
  • logical operators can be used without limits (but may result in degraded performance, depending on how they are combined)
  • \n
  • new assignments might not be found immediately via the search service, and removed assignments\n might also not be in effect immediately (there is a slight delay in updating the index)
  • \n
", + "operationId": "postSitesByIDCustomerGroupsByIDMemberSearch", + "parameters": [ + { + "description": "The id of the site.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the requested members customer group.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/search_request" + }, + "responses": { + "400": { + "description": "`MalformedSearchParameterException` - Thrown if the query is ill-formed." + }, + "404": { + "description": "`CustomerGroupNotFoundException` - Thrown in case the customer group does not exist matching the given id" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/customer_group_member_search_result" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/customer_group_member_search_result" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/customer_group_member_search_result" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/customer_groups/{id}/members": { + "get": { + "description": "Action to get all the customer group members with no filtering. For dynamic customer groups and the system groups \"Everyone\" and \"Unregistered\" no result is returned (Status Code: 204 - No Content).", + "operationId": "getSitesByIDCustomerGroupsByIDMembers", + "parameters": [ + { + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "Optional start index for retrieving the items from a given index (default 0).", + "in": "query", + "name": "start", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "Optional count for retrieving only a subset of the items (default is 25).", + "in": "query", + "name": "count", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "The property selector.", + "in": "query", + "name": "select", + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": "`CustomerGroupNotFoundException` - Thrown in case the customer group does not exist matching the given id" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/customer_group_members" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/customer_group_members" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/customer_group_members" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/customer_groups/{id}/members/{customer_no}": { + "delete": { + "description": "Action to remove a customer from a (static) customer group.", + "operationId": "deleteSitesByIDCustomerGroupsByIDMembersByID", + "parameters": [ + { + "description": "The id of the site.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the customer group.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The customer number of the customer to remove from the group.", + "in": "path", + "name": "customer_no", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The selector for selective response content.", + "in": "query", + "name": "select", + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "" + }, + "403": { + "description": "`CustomerGroupUnsupportedAssignmentException` - Thrown when the customer group is not a static group." + }, + "404": { + "description": "`CustomerGroupNotFoundException` - Thrown in case the customer group does not exist matching the given id. or `CustomerNotFoundException` - Thrown in case the customer list did not exist, or the customer does not exist in the list." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "get": { + "description": "Action to get customer group member information.", + "operationId": "getSitesByIDCustomerGroupsByIDMembersByID", + "parameters": [ + { + "description": "The id of the site.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the requested members customer group.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The customer number of the requested customer group member.", + "in": "path", + "name": "customer_no", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The selector for selective response content.", + "in": "query", + "name": "select", + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": "`CustomerGroupMemberNotFoundException` - Thrown in case the customer group member did not exist, or the group is not a static group or `CustomerGroupNotFoundException` - Thrown in case the customer group does not exist matching the given id" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/customer_group_member" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/customer_group_member" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/customer_group_member" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "put": { + "description": "Action to add customer to (static) customer group.", + "operationId": "putSitesByIDCustomerGroupsByIDMembersByID", + "parameters": [ + { + "description": "The id of the site.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the customer group.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The customer number of the customer to add to the group.", + "in": "path", + "name": "customer_no", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The selector for selective response content.", + "in": "query", + "name": "select", + "schema": { + "type": "string" + } + } + ], + "responses": { + "403": { + "description": "`CustomerGroupUnsupportedAssignmentException` - Thrown when the customer group is not a static group." + }, + "404": { + "description": "`CustomerGroupNotFoundException` - Thrown in case the customer group does not exist matching the given id. or `CustomerNotFoundException` - Thrown in case the customer list did not exist, or the customer does not exist in in the list." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/customer_group_member" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/customer_group_member" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/customer_group_member" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/gift_certificate_search": { + "post": { + "description": "

Searches for gift certificates.

\n \n

The query attribute specifies a complex query that can be used to narrow down the search. These are the list\n of searchable attributes:

\n
    \n
  • merchant_id - String
  • \n
  • masked_gift_certificate_code* - String
  • \n
  • order_no - String
  • \n
  • sender_name - String
  • \n
  • recipient_name - String
  • \n
  • recipient_email - String
  • \n
  • status - String
  • \n
  • enabled - Boolean
  • \n
  • message - String
  • \n
  • description - String
  • \n
  • creation_date - Date
  • \n
  • currency_mnemonic* - String
  • \n
\n\n

* masked_gift_certificate_code, also known as just code, can only be used in a term query. If a\n four-character code is supplied, it is assumed that the search is on the unmasked portion of the code, otherwise\n the full code must be matched. Text queries are not allowed.

\n\n

* currency_mnemonic can only be joined with other attributes using a conjunction (AND).

\n\n

Note that only searchable attributes can be used in sorting. The code attribute cannot be used for sorting.

", + "operationId": "postSitesByIDGiftCertificateSearch", + "parameters": [ + { + "description": "The id of the site.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/search_request" + }, + "responses": { + "400": { + "description": "`MalformedSearchParameterException` - Thrown if the query is ill-formed." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/gift_certificate_search_result" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/gift_certificate_search_result" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/gift_certificate_search_result" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/gift_certificates": { + "get": { + "description": "Action to get all the gift certificates with no filtering.", + "operationId": "getSitesByIDGiftCertificates", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "Optional start index for retrieving the items from a given index (default 0).", + "in": "query", + "name": "start", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "Optional count for retrieving only a subset of the items (default is 25).", + "in": "query", + "name": "count", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "The property selector.", + "in": "query", + "name": "select", + "schema": { + "type": "string" + } + } + ], + "responses": { + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/gift_certificates" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/gift_certificates" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/gift_certificates" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "post": { + "description": "Creates a gift certificate using the information provided.", + "operationId": "postSitesByIDGiftCertificates", + "parameters": [ + { + "description": "The id of the site.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/gift_certificate" + }, + "responses": { + "400": { + "description": "`GiftCertificateAmountOutOfRangeException` - If the amount specified is out of range or `GiftCertificateCreateMerchantIDNotUniqueException` - If merchant id is not unique or `InvalidGiftCertificateException` - if the gift certificate passed in is not valid (the \n argument indicates the field that was invalid). or `InvalidGiftCertificateStatusException` - If gift certificate status specified is invalid or `InvalidRecipientEmailException` - If recipient email address is invalid" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/gift_certificate" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/gift_certificate" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/gift_certificate" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/gift_certificates/{merchant_id}": { + "delete": { + "description": "Deletes the gift certificate by merchant ID", + "operationId": "deleteSitesByIDGiftCertificatesByID", + "parameters": [ + { + "description": "The id of the site.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "One gift certificate merchant id to remove", + "in": "path", + "name": "merchant_id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "get": { + "description": "Action to get gift certificate information using merchant ID.", + "operationId": "getSitesByIDGiftCertificatesByID", + "parameters": [ + { + "description": "The id of the site.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The merchant id of the requested gift certificate.", + "in": "path", + "name": "merchant_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "404": { + "description": "`GiftCertificateNotFoundException` - Thrown in case the gift certificate does not exist matching the given merchant id" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/gift_certificate" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/gift_certificate" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/gift_certificate" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "patch": { + "description": "Updates the gift certificate with the specified information using merchant ID.\n\n This API can not operate on the transactions attribute of the GiftCertificate request object.", + "operationId": "patchSitesByIDGiftCertificatesByID", + "parameters": [ + { + "description": "The id of the site.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The merchant id of the requested gift certificate.", + "in": "path", + "name": "merchant_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/gift_certificate" + }, + "responses": { + "400": { + "description": "`InvalidGiftCertificateStatusException` - If gift certificate status specified is invalid or `InvalidRecipientEmailException` - If recipient email address is invalid" + }, + "404": { + "description": "`GiftCertificateNotFoundException` - Thrown in case the gift certificate does not exist matching the given merchant id" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/gift_certificate" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/gift_certificate" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/gift_certificate" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/locale_info/locales": { + "get": { + "description": "Action to get the set of locales with the system given a site.", + "operationId": "getSitesByIDLocaleInfoLocales", + "parameters": [ + { + "description": "true if we want to include all the locales. Default is false.", + "in": "query", + "name": "include_all", + "schema": { + "type": "boolean" + } + }, + { + "description": "optional locale to return by id. If specified, that locale is looked up and returned, otherwise the\n list is returned.", + "in": "query", + "name": "id", + "schema": { + "type": "string" + } + }, + { + "description": "the set of fields to return from the request. Default is only the locale id.", + "in": "query", + "name": "select", + "schema": { + "type": "string" + } + }, + { + "description": "the start index for paging. Default is 0.", + "in": "query", + "name": "start", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "the count of the records to return in this page. Default is 25.", + "in": "query", + "name": "count", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "Only locales specified for the site are returned", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/locale_result" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/locale_result" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/locale_result" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/orders/{order_no}": { + "patch": { + "description": "Updates the order.", + "operationId": "patchSitesByIDOrdersByID", + "parameters": [ + { + "description": "ID of the site", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The order number", + "in": "path", + "name": "order_no", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/order_update_request" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/order_update_request" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/order_update_request" + } + } + }, + "required": true + }, + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`OrderNotFoundException` - In case of the given order_no does not reference an existing order. or `SiteNotFoundException` - In case of the given site_id does not reference an existing site." + } + }, + "security": [ + { + "oauth2_application": [] + }, + { + "client_id": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/orders/{order_no}/confirmation_status": { + "put": { + "description": "Updates the order confirmation status.", + "operationId": "putSitesByIDOrdersByIDConfirmationStatus", + "parameters": [ + { + "description": "ID of the site.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The order number", + "in": "path", + "name": "order_no", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/order_confirmation_status_update_request" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/order_confirmation_status_update_request" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/order_confirmation_status_update_request" + } + } + }, + "required": true + }, + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`OrderNotFoundException` - In case of the given order_no does not reference an existing order. or `SiteNotFoundException` - In case of the given site_id does not reference an existing site." + } + }, + "security": [ + { + "oauth2_application": [] + }, + { + "client_id": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/orders/{order_no}/export_status": { + "put": { + "description": "Updates the order export status. Setting the status to EXPORTED will also trigger the finalization of on-order inventory transactions for this order, meaning that all inventory transactions with type on-order will be moved into final inventory transactions. This is only relevant when on-order inventory is turned on for the inventory list ordered products are in.", + "operationId": "putSitesByIDOrdersByIDExportStatus", + "parameters": [ + { + "description": "ID of the site.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The order number", + "in": "path", + "name": "order_no", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/order_export_status_update_request" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/order_export_status_update_request" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/order_export_status_update_request" + } + } + }, + "required": true + }, + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`OrderNotFoundException` - In case of the given order_no does not reference an existing order. or `SiteNotFoundException` - In case of the given site_id does not reference an existing site." + } + }, + "security": [ + { + "oauth2_application": [] + }, + { + "client_id": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/orders/{order_no}/external_status": { + "put": { + "description": "Updates the order external status.", + "operationId": "putSitesByIDOrdersByIDExternalStatus", + "parameters": [ + { + "description": "ID of the site.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The order number", + "in": "path", + "name": "order_no", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/order_external_status_update_request" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/order_external_status_update_request" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/order_external_status_update_request" + } + } + }, + "required": true + }, + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`OrderNotFoundException` - In case of the given order_no does not reference an existing order. or `SiteNotFoundException` - In case of the given site_id does not reference an existing site." + } + }, + "security": [ + { + "oauth2_application": [] + }, + { + "client_id": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/orders/{order_no}/payment_instruments/{payment_instrument_id}": { + "patch": { + "description": "Updates the payment instrument of an order.", + "operationId": "patchSitesByIDOrdersByIDPaymentInstrumentsByID", + "parameters": [ + { + "description": "ID of the site", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The order number", + "in": "path", + "name": "order_no", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "ID of the payment instrument", + "in": "path", + "name": "payment_instrument_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/payment_instrument_update_request" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/payment_instrument_update_request" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/payment_instrument_update_request" + } + } + }, + "required": true + }, + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`OrderNotFoundException` - In case of the given order_no does not reference an existing order. or `PaymentInstrumentNotFoundException` - In case of the given payment_instrument_id does not reference an existing payment instrument. or `SiteNotFoundException` - In case of the given site_id does not reference an existing site." + } + }, + "security": [ + { + "oauth2_application": [] + }, + { + "client_id": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/orders/{order_no}/payment_instruments/{payment_instrument_id}/transaction": { + "patch": { + "description": "Updates the transaction of an order payment instrument.", + "operationId": "patchSitesByIDOrdersByIDPaymentInstrumentsByIDTransaction", + "parameters": [ + { + "description": "ID of the site", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The order number", + "in": "path", + "name": "order_no", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "ID of the payment instrument", + "in": "path", + "name": "payment_instrument_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/payment_transaction_update_request" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/payment_transaction_update_request" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/payment_transaction_update_request" + } + } + }, + "required": true + }, + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`OrderNotFoundException` - In case of the given order_no does not reference an existing order. or `PaymentInstrumentNotFoundException` - In case of the given payment_instrument_id does not reference an existing payment instrument. or `PaymentTransactionNotFoundException` - In case of the payment instrument does not reference a payment transaction. or `SiteNotFoundException` - In case of the given site_id does not reference an existing site." + } + }, + "security": [ + { + "oauth2_application": [] + }, + { + "client_id": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/orders/{order_no}/payment_status": { + "put": { + "description": "Updates the order payment status.", + "operationId": "putSitesByIDOrdersByIDPaymentStatus", + "parameters": [ + { + "description": "ID of the site.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The order number", + "in": "path", + "name": "order_no", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/order_payment_status_update_request" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/order_payment_status_update_request" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/order_payment_status_update_request" + } + } + }, + "required": true + }, + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`OrderNotFoundException` - In case of the given order_no does not reference an existing order. or `SiteNotFoundException` - In case of the given site_id does not reference an existing site." + } + }, + "security": [ + { + "oauth2_application": [] + }, + { + "client_id": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/orders/{order_no}/shipments/{shipment_id}/shipping_address": { + "put": { + "description": "Updates (create or replace) the order shipment address.", + "operationId": "putSitesByIDOrdersByIDShipmentsByIDShippingAddress", + "parameters": [ + { + "description": "ID of the site", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The order number", + "in": "path", + "name": "order_no", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "ID of the shipment", + "in": "path", + "name": "shipment_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/shipping_address_update_request" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/shipping_address_update_request" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/shipping_address_update_request" + } + } + }, + "required": true + }, + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`OrderNotFoundException` - In case of the given order_no does not reference an existing order. or `ShipmentNotFoundException` - In case of the given shipment_id does not reference an existing shipment. or `SiteNotFoundException` - In case of the given site_id does not reference an existing site." + } + }, + "security": [ + { + "oauth2_application": [] + }, + { + "client_id": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/orders/{order_no}/shipping_status": { + "put": { + "description": "Updates the order shipping status.", + "operationId": "putSitesByIDOrdersByIDShippingStatus", + "parameters": [ + { + "description": "ID of the site.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The order number", + "in": "path", + "name": "order_no", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/order_shipping_status_update_request" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/order_shipping_status_update_request" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/order_shipping_status_update_request" + } + } + }, + "required": true + }, + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`OrderNotFoundException` - In case of the given order_no does not reference an existing order. or `SiteNotFoundException` - In case of the given site_id does not reference an existing site." + } + }, + "security": [ + { + "oauth2_application": [] + }, + { + "client_id": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/orders/{order_no}/status": { + "put": { + "description": "Updates the order status by using the corresponding methods (fail, undoFail, place, cancel and undoCancel) from the dw.order.OrderMgr. Orders which are not in status CREATED or FAILED can not be set back.", + "operationId": "putSitesByIDOrdersByIDStatus", + "parameters": [ + { + "description": "ID of the site", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The order number", + "in": "path", + "name": "order_no", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/order_status_update_request" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/order_status_update_request" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/order_status_update_request" + } + } + }, + "required": true + }, + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`OrderNotFoundException` - In case of the given order_no does not reference an existing order. or `SiteNotFoundException` - In case of the given site_id does not reference an existing site." + }, + "409": { + "description": "`CancelOrderException` - The order could not be cancelled. or `OrderIntegrationStatusException` - The status change is not supported. An external order management system is integrated which has responsibility for further status changes on placed orders. or `OrderPreviouslyIntegratedStatusException` - The status change is not supported. The order was previously integrated with an external order management system which has responsibility for further status changes. or `OrderStatusTransitionException` - The status change is not supported. or `PlaceOrderException` - The order could not be placed. or `UndoCancelOrderException` - The cancelled order can not be reopened. or `UndoFailOrderException` - The failed order can not be reopened." + } + }, + "security": [ + { + "oauth2_application": [] + }, + { + "client_id": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/promotion_campaign_assignment_search": { + "post": { + "description": "

Searches for promotion campaign assignments.

\n \n

The PromotionCampaignAssignment Search document contains a search object that allows filtering on various attributes.

\n \n

The query attribute specifies a complex query that can be used to narrow down the search. Attributes are grouped\n into different buckets. These are the list of searchable attributes with their corresponding buckets:

\n\n

Main:

\n
    \n
  • rank - Integer
  • \n
  • start_date - Date
  • \n
  • end_date - Date
  • \n
\n

Campaign:

\n
    \n
  • campaign_id - String
  • \n
\n

Promotion:

\n
    \n
  • promotion_id - String
  • \n
  • description - String
  • \n
  • enabled - Boolean
  • \n
\n

Special handling:

\n
    \n
  • coupon_id - String
  • \n
\n\n

Only fields in the same bucket can be joined using a disjunction (OR). For instance, when joining\n campaign_id and rank above, only a conjunction is allowed (AND), whereas promotion_id and description can be\n joined to each other using an OR because they are in the same bucket. Special handling fields must always use\n conjunctions. If the field is used in a disjunction (OR) that violates this rule, an exception will be thrown.

\n\n

Expands that can be applied for the search request

\n
    \n \t
  • promotion
  • \n
  • campaign
  • \n
\n\n

Note that only searchable attributes (excluding the ones marked with above with an asterisk) can be used in sorting.

", + "operationId": "postSitesByIDPromotionCampaignAssignmentSearch", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/search_request" + }, + "responses": { + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/promotion_campaign_assignment_search_result" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/promotion_campaign_assignment_search_result" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/promotion_campaign_assignment_search_result" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/promotion_search": { + "post": { + "description": "

Searches for promotions.

\n \n

The SearchRequest document contains a search object that allows filtering on various attributes.

\n \n

The query attribute specifies a complex query that can be used to narrow down the search. These are the searchable\n attributes:

\n
    \n
  • id - String
  • \n
  • name - String
  • \n
  • currency_code - String
  • \n
  • exclusivity - String
  • \n
  • enabled - Boolean
  • \n
\n

Note that only searchable attributes can be used in sorting. Additionally, the following attribute can be used to\n sort:

\n
    \n
  • promotion_class - String
  • \n
", + "operationId": "postSitesByIDPromotionSearch", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/search_request" + }, + "responses": { + "400": { + "description": "`MalformedSearchParameterException` - Thrown if the query is ill-formed." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/promotion_search_result" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/promotion_search_result" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/promotion_search_result" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/promotions/{id}": { + "delete": { + "description": "Deletes the promotion by ID", + "operationId": "deleteSitesByIDPromotionsByID", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "Promotion id to remove", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "204": { + "description": "" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "get": { + "description": "Action to get promotion information.", + "operationId": "getSitesByIDPromotionsByID", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the requested promotion.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "404": { + "description": "`PromotionNotFoundException` - Thrown in case the promotion does not exist matching the given id" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/promotion" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/promotion" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/promotion" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "patch": { + "description": "Updates the promotion with the specified information.", + "operationId": "patchSitesByIDPromotionsByID", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the requested promotion.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/promotion" + }, + "responses": { + "404": { + "description": "`PromotionNotFoundException` - Thrown in case the promotion does not exist matching the given id" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/promotion" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/promotion" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/promotion" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "put": { + "description": "Creates a promotion using the information provided.", + "operationId": "putSitesByIDPromotionsByID", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the promotion to create.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/promotion" + }, + "responses": { + "400": { + "description": "`IdConflictException` - if the Id in request is not the same as the ID in document." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/promotion" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/promotion" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/promotion" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/site_preferences/preference_groups/{group_id}/{instance_type}": { + "get": { + "description": "For the specified site and instance, read the custom preferences in the preference group.\n Specify 'current' to retrieve the preferences for the instance on which this call is being made. The system will recognize its type.", + "operationId": "getSitesByIDSitePreferencesPreferenceGroupsByIDByID", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "One of {staging,development,sandbox,production,current}.", + "in": "path", + "name": "instance_type", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "The ID of the preference group.", + "in": "path", + "name": "group_id", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "Set to true to mask the values of preferences of type Password.", + "in": "query", + "name": "mask_passwords", + "schema": { + "type": "boolean" + } + } + ], + "responses": { + "404": { + "description": "`CustomPreferenceGroupNotFoundException` - Indicates the preference group is not found." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/site_preferences" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/site_preferences" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/site_preferences" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "patch": { + "description": "For the specified site and instance, update one or more custom preferences in the preference group.\n Preferences of type password cannot be set to \"************\" since it is a reserved value.", + "operationId": "patchSitesByIDSitePreferencesPreferenceGroupsByIDByID", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "One of {staging,development,sandbox,production}.", + "in": "path", + "name": "instance_type", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "The ID of the preference group.", + "in": "path", + "name": "group_id", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "Set to true to mask the values of preferences of type Password.", + "in": "query", + "name": "mask_passwords", + "schema": { + "type": "boolean" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/site_preferences" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/site_preferences" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/site_preferences" + } + } + }, + "required": true + }, + "responses": { + "404": { + "description": "`CustomPreferenceGroupNotFoundException` - Indicates the preference group is not found. or `ObjectTypeNotFoundException` - Indicates the SitePreferences system object is not found." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/site_preferences" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/site_preferences" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/site_preferences" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/slot_configuration_campaign_assignment_search": { + "post": { + "description": "

Searches for slotconfiguration campaign assignments.

\n \n

The SlotConfigCampaignAssignment Search document contains a search object that allows filtering on various attributes.

\n\n

The query attribute specifies a complex query that can be used to narrow down the search. Attributes are grouped\n into different buckets. These are the list of searchable attributes with their corresponding buckets:

\n\n

Main:

\n
    \n
  • rank - Integer
  • \n
  • start_date - Date
  • \n
  • end_date - Date
  • \n
\n

Campaign:

\n
    \n
  • campaign_id - String
  • \n
  • enabled - Boolean
  • \n
\n

Slot configuration:

\n
    \n
  • slot_configuration_id - String
  • \n
  • description - String
  • \n
\n\n

Only attributes in the same bucket can be joined using a disjunction (OR).\n For instance, when joining rank and description above, only a conjunction is allowed (AND), whereas slot_configuration_id\n and description can be joined using a disjunction because they are in the same bucket. If an attribute\n is used in a disjunction (OR) that violates this rule, an exception will be thrown.

\n\n

Expands that can be applied for the search request

\n
    \n \t
  • campaign
  • \n \t
  • slotConfiguration
  • \t\n
\n\n

Note that only searchable attributes (excluding the ones marked with above with an asterisk) can be used in sorting.

", + "operationId": "postSitesByIDSlotConfigurationCampaignAssignmentSearch", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/search_request" + }, + "responses": { + "400": { + "description": "`MalformedSearchParameterException` - Thrown if the query is ill-formed." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/slot_configuration_campaign_assignment_search_result" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/slot_configuration_campaign_assignment_search_result" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/slot_configuration_campaign_assignment_search_result" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/slot_configuration_search": { + "post": { + "description": "

Searches for slot configurations.

\n\n

The query attribute specifies a complex query that can be used to narrow down the search. Attributes are grouped\n into different buckets. These are the list of searchable attributes with their corresponding buckets:

\n\n

Main:

\n
    \n
  • configuration_id - String
  • \n
  • default - Boolean
  • \n
  • description - String
  • \n
  • enabled - Boolean
  • \n
\n

Slot:

\n
    \n
  • context - String
  • \n
  • slot_id - String
  • \n
\n\n

Only fields in the same bucket can be joined using a disjunction (OR). For instance, when joining context and\n description above, only a conjunction is allowed (AND), whereas context and slot_id can be joined to each other\n using a disjunction because they are in the same bucket. If the field is used in a disjunction (OR) that\n violates this rule, an exception will be thrown.

", + "operationId": "postSitesByIDSlotConfigurationSearch", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/search_request" + }, + "responses": { + "400": { + "description": "`TypeMissmatchException` - Indicates that the value to search with does not match the\n type of the search field." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/slot_configuration_search_result" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/slot_configuration_search_result" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/slot_configuration_search_result" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/slot_configurations": { + "get": { + "description": "Action to get all the slot configurations with no filtering.", + "operationId": "getSitesByIDSlotConfigurations", + "parameters": [ + { + "description": "The id of the site.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "Optional start index for retrieving the items from a given index (default 0).", + "in": "query", + "name": "start", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "Optional count for retrieving only a subset of the items (default is 25).", + "in": "query", + "name": "count", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "The property selector.", + "in": "query", + "name": "select", + "schema": { + "type": "string" + } + } + ], + "responses": { + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/slot_configurations" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/slot_configurations" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/slot_configurations" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/slot_search": { + "post": { + "description": "

Searches for slots.

\n \n

The query attribute specifies a complex query that can be used to narrow down the search. The set of fields that\n are available to search are:

\n
    \n
  • slot_id - String
  • \n
  • description - String
  • \n
  • context_type - String
  • \n
\n\n

Note that only searchable attributes can be used in sorting. \"context_type\" value is restricted to Global/Folder/Category.

", + "operationId": "postSitesByIDSlotSearch", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/search_request" + }, + "responses": { + "400": { + "description": "`MalformedSearchParameterException` - Thrown if the query is ill-formed." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/slot_search_result" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/slot_search_result" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/slot_search_result" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/slots": { + "get": { + "description": "Action to get all the slots with no filtering. Fetches the slot entities which are already populated in the database by crawling the active code.", + "operationId": "getSitesByIDSlots", + "parameters": [ + { + "description": "The id of the site.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "Optional start index for retrieving the items from a given index (default 0).", + "in": "query", + "name": "start", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "Optional count for retrieving only a subset of the items (default is 25).", + "in": "query", + "name": "count", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "The property selector.", + "in": "query", + "name": "select", + "schema": { + "type": "string" + } + } + ], + "responses": { + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/slots" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/slots" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/slots" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/slots/{slot_id}/slot_configurations/{configuration_id}": { + "delete": { + "description": "Removes a configuration for slot in a given context from a site.", + "operationId": "deleteSitesByIDSlotsByIDSlotConfigurationsByID", + "parameters": [ + { + "description": "The id of the site for which you want to create the slot configuration.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 32 + } + }, + { + "description": "The id of the slot.", + "in": "path", + "name": "slot_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + }, + { + "description": "The id of the slot configuration.", + "in": "path", + "name": "configuration_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + }, + { + "description": "The context string, which consists of three parts: the context type (which must be \n folder , category or global ), an equals sign ( = ), \n and the context id (either the category id or folder id). If you do not set this \n query parameter, the global context is used by default.", + "in": "query", + "name": "context", + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "" + }, + "400": { + "description": "`InvalidContextTypeException` - Thrown if the specified context type is invalid." + }, + "404": { + "description": "`SlotNotFoundException` - Throw if there was no slot with the specified id found for the \n requested site." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "get": { + "description": "Action to read an existing slot configuration.", + "operationId": "getSitesByIDSlotsByIDSlotConfigurationsByID", + "parameters": [ + { + "description": "The id of the site for which you want to create the slot configuration.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 32 + } + }, + { + "description": "The id of the slot.", + "in": "path", + "name": "slot_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + }, + { + "description": "The id of the slot configuration.", + "in": "path", + "name": "configuration_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + }, + { + "description": "The context string, which consists of three parts: the context type (which must be \n folder , category or global ), an equals sign ( = ), \n and the context id (either the category id or folder id). If you do not set this \n query parameter, the global context is used by default.", + "in": "query", + "name": "context", + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "`InvalidContextTypeException` - Thrown if the specified context type is invalid. or `MissingSlotConfigurationContextIdException` - Thrown if the specified context id for given context 'category' or 'folder' is missing." + }, + "404": { + "description": "`SlotConfigurationNotFoundException` - Thrown if there was no slot configuration found for the specified\n configuration id. or `SlotNotFoundException` - Throw if there was no slot with the specified id found for the \n requested site." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/slot_configuration" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/slot_configuration" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/slot_configuration" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "patch": { + "description": "Updates an existing slot configuration. This action ignores the slot_id and\n the context information in the input document. Note that this operation will\n not touch any relational properties, which means, that e.g. the rank on a specific\n campaign assignment will not be changed, when the rank for the slot configuration\n itself is updated.", + "operationId": "patchSitesByIDSlotsByIDSlotConfigurationsByID", + "parameters": [ + { + "description": "The id of the site for which you want to create the slot configuration.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 32 + } + }, + { + "description": "The id of the slot.", + "in": "path", + "name": "slot_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + }, + { + "description": "The id of the slot configuration.", + "in": "path", + "name": "configuration_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + }, + { + "description": "The context string, which consists of three parts: the context type (which must be \n folder , category or global ), an equals sign ( = ), \n and the context id (either the category id or folder id). If you do not set this \n query parameter, the global context is used by default.", + "in": "query", + "name": "context", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/slot_configuration" + }, + "responses": { + "400": { + "description": "`InvalidContextTypeException` - Thrown if the specified context type is invalid. or `MissingSlotConfigurationContextIdException` - Thrown if the specified context id for given context 'category' or 'folder' is missing." + }, + "404": { + "description": "`ContentNotFoundException` - Thrown if content asset does not exist in the library of the current domain\n but is assigned during update. or `SlotConfigurationNotFoundException` - Thrown if there was no slot configuration found for the specified configuration \n id. or `SlotNotFoundException` - Thrown if there was no slot with the given id found for the \n requested site." + }, + "409": { + "description": "`SlotConfigurationAlreadyExistsException` - Thrown if the configuration ID should be updated into one that is already\n assigned." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/slot_configuration" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/slot_configuration" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/slot_configuration" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "put": { + "description": "Creates a new configuration for an existing slot. If a slot configuration\n exists with the specified configuration_id, slot_id, and context, the existing\n slot configuration is overwritten.", + "operationId": "putSitesByIDSlotsByIDSlotConfigurationsByID", + "parameters": [ + { + "description": "The id of the site for which you want to create the slot configuration.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 32 + } + }, + { + "description": "The id of the slot.", + "in": "path", + "name": "slot_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + }, + { + "description": "The id of the slot configuration.", + "in": "path", + "name": "configuration_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + }, + { + "description": "The context string, which consists of three parts: the context type (which must be \n folder , category or global ), an equals sign ( = ), \n and the context id (either the category id or folder id). If you do not set this \n query parameter, the global context is used by default.", + "in": "query", + "name": "context", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/slot_configuration" + }, + "responses": { + "400": { + "description": "`IdConflictException` - if the Id in request is not the same as the ID in document. or `InvalidContextTypeException` - Thrown if the specified context type is invalid. or `MissingSlotConfigurationContextIdException` - Thrown if the specified context id for given context 'category' or 'folder' is missing." + }, + "404": { + "description": "`ContentNotFoundException` - Thrown if content asset does not exist in the library of the current domain\n but is assigned during creation of the configuration. or `SlotNotFoundException` - Thrown if there was no slot with the given id found for the \n requested site." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/slot_configuration" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/slot_configuration" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/slot_configuration" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/slots/{slot_id}/{context_type}": { + "get": { + "description": "Action to get slot information. Fetches the slot entities which are already populated in the database by crawling the active code.", + "operationId": "getSitesByIDSlotsByIDByID", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the requested slot.", + "in": "path", + "name": "slot_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The context type (folder, global, category).", + "in": "path", + "name": "context_type", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "The property selector. If not passed, then the default selector will be used.", + "in": "query", + "name": "select", + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": "`SlotNotFoundException` - Indicates the slot does not exist matching the given id." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/slot" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/slot" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/slot" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/sorting_rule_search": { + "post": { + "description": "

Searches for product sorting rules.

\n \n

The query attribute specifies a complex query that can be used to narrow down the search. These are the list\n of searchable attributes:

\n
    \n
  • id - String
  • \n
  • description - String
  • \n
  • creation_date - date of creation
  • \n
\n\n

The output of the query can also be sorted. These are the list of sortable attributes:

\n
    \n
  • id - String
  • \n
  • description - String
  • \n
  • creation_date - date of creation
  • \n
\n\n

This resource does not support expand options.

", + "operationId": "postSitesByIDSortingRuleSearch", + "parameters": [ + { + "description": "The id of the site.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "the optional context in which the sorting rule should be looked up, either \"site\", \"global\", or \"any\" (default)", + "in": "query", + "name": "rule_context", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/search_request" + }, + "responses": { + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/sorting_rule_search_result" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/sorting_rule_search_result" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/sorting_rule_search_result" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/source_code_group_search": { + "post": { + "description": "Searches for source code groups.\n

\n The query attribute specifies a complex query that can be used to narrow down the search. These are the list\n of searchable attributes:\n

    \n
  • id - String
  • \n
  • description - String
  • \n
  • source_code* - String
  • \n
  • start_time - DateTime
  • \n
  • end_time - DateTime
  • \n
  • creation_date - DateTime
  • \n
  • enabled - Boolean
  • \n
  • active* - Boolean
  • \n
\n\n

* - These fields can only be used in Queries as conjunctions (using AND). If the field is used in a disjunction\n (OR) an exception will be thrown.

\n \n

The output of the query can also be sorted. These are the list of sortable attributes:

\n
    \n
  • id - String
  • \n
  • description - String
  • \n
  • enabled - Boolean
  • \n
  • creation_date - DateTime
  • \n
\n \n

Expands that can be applied for the search request

\n
    \n
  • specifications - String
  • \n
", + "operationId": "postSitesByIDSourceCodeGroupSearch", + "parameters": [ + { + "description": "The id of the site.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/search_request" + }, + "responses": { + "400": { + "description": "`MalformedSearchParameterException` - Thrown if the query is ill-formed." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/source_code_group_search_result" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/source_code_group_search_result" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/source_code_group_search_result" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/source_code_groups": { + "get": { + "description": "Action to get all the source code groups with no filtering.", + "operationId": "getSitesByIDSourceCodeGroups", + "parameters": [ + { + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "Optional start index for retrieving the items from a given index (default 0).", + "in": "query", + "name": "start", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "Optional count for retrieving only a subset of the items (default is 25).", + "in": "query", + "name": "count", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "The property selector.", + "in": "query", + "name": "select", + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "expand", + "style": "form", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/source_code_groups" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/source_code_groups" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/source_code_groups" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/source_code_groups/{id}": { + "delete": { + "description": "Deletes the source code group by ID", + "operationId": "deleteSitesByIDSourceCodeGroupsByID", + "parameters": [ + { + "description": "The id of the site.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "One source code group id to remove", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 28 + } + } + ], + "responses": { + "204": { + "description": "" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "get": { + "description": "Action to retrieve source code group information.", + "operationId": "getSitesByIDSourceCodeGroupsByID", + "parameters": [ + { + "description": "The id of the site.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the requested source code group.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 28 + } + }, + { + "description": "the query parameter takes an expansion list to include extra information, such as specifications. \n \t\t usage: expand=specifications.", + "in": "query", + "name": "expand", + "style": "form", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "404": { + "description": "`SourceCodeGroupNotFoundException` - Thrown in case the source code group does not exist matching the given id" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/source_code_group" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/source_code_group" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/source_code_group" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "patch": { + "description": "

Updates the source code group with the specified information.

", + "operationId": "patchSitesByIDSourceCodeGroupsByID", + "parameters": [ + { + "description": "The id of the site.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the requested source code group.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 28 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/source_code_group" + }, + "responses": { + "404": { + "description": "`SourceCodeGroupNotFoundException` - Thrown in case the source code group does not exist matching the given id" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/source_code_group" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/source_code_group" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/source_code_group" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "put": { + "description": "Creates a source code group using the information provided.", + "operationId": "putSitesByIDSourceCodeGroupsByID", + "parameters": [ + { + "description": "The id of the site.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the source code group to create.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 28 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/source_code_group" + }, + "responses": { + "400": { + "description": "`IdConflictException` - Thrown when the id given in request URL is different from the id provided in the source code group document or `SourceCodeGroupInvalidException` - if the source code group passed in is not valid (the argument indicates the field that was invalid)." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/source_code_group" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/source_code_group" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/source_code_group" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/store_search": { + "post": { + "description": "

\n Searches for stores.\n

\n

\n The query attribute specifies a complex query that can be used to narrow down the search. This is the list of\n searchable attributes:\n

\n
    \n
  • address1 - String
  • \n
  • address2 - String
  • \n
  • city - String
  • \n
  • country_code - String
  • \n
  • email - String
  • \n
  • fax - String
  • \n
  • id - String
  • \n
  • inventory_id - String
  • \n
  • latitude - double
  • \n
  • longitude - double
  • \n
  • name - String
  • \n
  • phone - String
  • \n
  • postal_code - String
  • \n
  • state_code - String
  • \n
  • store_hours - String
  • \n
  • store_events - String
  • \n
", + "operationId": "postSitesByIDStoreSearch", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/search_request" + }, + "responses": { + "400": { + "description": "`MalformedSearchParameterException` - Thrown if the query is ill-formed." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/store_search_result" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/store_search_result" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/store_search_result" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/stores": { + "get": { + "description": "Action to get all the stores with no filtering.", + "operationId": "getSitesByIDStores", + "parameters": [ + { + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "Optional start index for retrieving the items from a given index (default 0).", + "in": "query", + "name": "start", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "Optional count for retrieving only a subset of the items (default is 25).", + "in": "query", + "name": "count", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "The property selector.", + "in": "query", + "name": "select", + "schema": { + "type": "string" + } + } + ], + "responses": { + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/stores" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/stores" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/stores" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/sites/{site_id}/stores/{id}": { + "delete": { + "description": "Deletes the store by ID", + "operationId": "deleteSitesByIDStoresByID", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "One store id to remove", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`StoreNotFoundException` - Thrown in case the store does not exist matching the given id" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "get": { + "description": "Action to get store information.", + "operationId": "getSitesByIDStoresByID", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the requested store.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + }, + { + "description": "the selector for the get. If not passed, then the defaultSelector will be used instead.", + "in": "query", + "name": "select", + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": "`StoreNotFoundException` - Thrown in case the store does not exist matching the given id" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/store" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/store" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/store" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "patch": { + "description": "Updates the store with the specified information.", + "operationId": "patchSitesByIDStoresByID", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the requested store.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/store" + }, + "responses": { + "404": { + "description": "`StoreNotFoundException` - Thrown in case the store does not exist matching the given id" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/store" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/store" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/store" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + }, + "put": { + "description": "Creates a store using the information provided.", + "operationId": "putSitesByIDStoresByID", + "parameters": [ + { + "description": "The site context.", + "in": "path", + "name": "site_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The id of the store to create.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 256 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/store" + }, + "responses": { + "400": { + "description": "`IdConflictException` - if the Id in request is not the same as the ID in document." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/store" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/store" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/store" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "sites" + ] + } + }, + "/system_object_definition_search": { + "post": { + "description": "

Searches for system objects.

\n \n

The query attribute specifies a complex query that can be used to narrow down the search. These are the list\n of searchable attributes:

\n
    \n
  • object_type - String
  • \n
  • display_name - Localized < String >
  • \n
  • description - Localized < String >
  • \n
  • read_only - Boolean
  • \n
\n\n

The output of the query can also be sorted. These are the list of sortable attributes:

\n
    \n
  • object_type - String
  • \n
  • display_name - Localized < String >
  • \n
  • description - Localized < String >
  • \n
  • read_only - Boolean
  • \n
", + "operationId": "postSystemObjectDefinitionSearch", + "requestBody": { + "$ref": "#/components/requestBodies/search_request" + }, + "responses": { + "400": { + "description": "`MalformedSearchParameterException` - Thrown if the query is ill-formed." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/object_type_definition_search_result" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/object_type_definition_search_result" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/object_type_definition_search_result" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "system_object_definition_search" + ] + } + }, + "/system_object_definitions": { + "get": { + "description": "Action to get all the system objects with no filtering.", + "operationId": "getSystemObjectDefinitions", + "parameters": [ + { + "description": "Optional start index for retrieving the items from a given index (default 0).", + "in": "query", + "name": "start", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "Optional count for retrieving only a subset of the items (default is 25).", + "in": "query", + "name": "count", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "The property selector.", + "in": "query", + "name": "select", + "schema": { + "type": "string" + } + } + ], + "responses": { + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/object_type_definitions" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/object_type_definitions" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/object_type_definitions" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "system_object_definitions" + ] + } + }, + "/system_object_definitions/{object_type}": { + "get": { + "description": "Action to get system object information.", + "operationId": "getSystemObjectDefinitionsByID", + "parameters": [ + { + "description": "The id of the object type for the requested system object.", + "in": "path", + "name": "object_type", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "404": { + "description": "`SystemObjectNotFoundException` - Thrown in case the system object does not exist matching the given objectType" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/object_type_definition" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/object_type_definition" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/object_type_definition" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "system_object_definitions" + ] + } + }, + "/system_object_definitions/{object_type}/attribute_definition_search": { + "post": { + "description": "

Searches the attribute definitions of the specified system object type.

\n

\n

The query attribute specifies a complex query that can be used to narrow down the search. Attributes are grouped\n into different buckets. These are the list of searchable attributes with their corresponding buckets:

\n\n

Main:

\n
    \n
  • id - String
  • \n
  • display_name* - Localized String
  • \n
  • description* - Localized String
  • \n
  • key - boolean
  • \n
  • mandatory - boolean
  • \n
  • searchable - boolean
  • \n
  • system - boolean
  • \n
  • visible - boolean
  • \n
\n

Definition version:

\n
    \n
  • localizable - boolean
  • \n
  • site_specific - boolean
  • \n
  • value_type - one of {string, int, double, text, html, date, image, boolean, money, quantity, datetime, email, password, set_of_string, set_of_int, set_of_double, enum_of_string, enum_of_int}
  • \n
\n

Group:

\n
    \n
  • group - String
  • \n
\n\n

Only attributes in the same bucket can be joined using a disjunction (OR).\n For instance, when joining localizable and description above, only a conjunction is allowed (AND), whereas display_name\n and description can be joined using a disjunction because they are in the same bucket. If an attribute\n is used in a disjunction (OR) that violates this rule, an exception will be thrown.

\n\n

* These attributes are not searchable or sortable for built in system attributes. They work normally for non\n system attributes.

\n\n

Note that only searchable attributes can be used in sorting.

", + "operationId": "postSystemObjectDefinitionsByIDAttributeDefinitionSearch", + "parameters": [ + { + "description": "The object type id that contains these definitions", + "in": "path", + "name": "object_type", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/search_request" + }, + "responses": { + "400": { + "description": "`MalformedSearchParameterException` - Indicates the query is ill-formed." + }, + "404": { + "description": "`ObjectTypeNotFoundException` - in case the object type does not match an existing system type" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/object_attribute_definition_search_result" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/object_attribute_definition_search_result" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/object_attribute_definition_search_result" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "system_object_definitions" + ] + } + }, + "/system_object_definitions/{object_type}/attribute_definitions": { + "get": { + "description": "Action to get all the attribute definitions with no filtering.", + "operationId": "getSystemObjectDefinitionsByIDAttributeDefinitions", + "parameters": [ + { + "in": "path", + "name": "object_type", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "Optional start index for retrieving the items from a given index (default 0).", + "in": "query", + "name": "start", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "Optional count for retrieving only a subset of the items (default is 25).", + "in": "query", + "name": "count", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "The property selector.", + "in": "query", + "name": "select", + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": "`ObjectTypeNotFoundException` - in case the object type does not match an existing system type" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/object_attribute_definitions" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/object_attribute_definitions" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/object_attribute_definitions" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "system_object_definitions" + ] + } + }, + "/system_object_definitions/{object_type}/attribute_definitions/{id}": { + "delete": { + "description": "Deletes the attribute definition by ID", + "operationId": "deleteSystemObjectDefinitionsByIDAttributeDefinitionsByID", + "parameters": [ + { + "description": "The metadata object that contains these definitions", + "in": "path", + "name": "object_type", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "Attribute definition id to remove", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "204": { + "description": "" + }, + "400": { + "description": "`AttributeDefinitionReadOnlyException` - Thrown when trying to delete an internal attribute definition" + }, + "404": { + "description": "`AttributeDefinitionNotFoundException` - Thrown in case the attribute definition cannot be found or `ObjectTypeNotFoundException` - Thrown in case the object type cannot be found" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "system_object_definitions" + ] + }, + "get": { + "description": "Action to get attribute definition information.", + "operationId": "getSystemObjectDefinitionsByIDAttributeDefinitionsByID", + "parameters": [ + { + "description": "The object type id that contains these definitions", + "in": "path", + "name": "object_type", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "The id of the requested attribute definition.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The selector for the get. If not passed, then the defaultSelector will be used instead.", + "in": "query", + "name": "select", + "schema": { + "type": "string" + } + }, + { + "description": "The expansion \"value\" is available to retrieve value definitions of the attribute definition.", + "in": "query", + "name": "expand", + "style": "form", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "404": { + "description": "`AttributeDefinitionNotFoundException` - Thrown in case the attribute definition does not exist matching the given id or `ObjectTypeNotFoundException` - in case the object type does not match an existing system type" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/object_attribute_definition" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/object_attribute_definition" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/object_attribute_definition" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "system_object_definitions" + ] + }, + "patch": { + "description": "Updates the attribute definition with the specified information. The request must include the If-Match header, which holds\n the last known base-point information. The value of this header is an \"ETag\" representing the attribute definition state. If\n the request does not contain an If-Match header with the current server customer \"ETag\", a 409 (IfMatchRequiredException)\n fault is returned. If the If-Match header does not match the current server attribute definition \"ETag\", a 412 (InvalidIfMatchException)\n fault is returned.", + "operationId": "patchSystemObjectDefinitionsByIDAttributeDefinitionsByID", + "parameters": [ + { + "description": "The object type id that contains these definitions", + "in": "path", + "name": "object_type", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "The id of the requested attribute definition.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "must match the last eTag", + "in": "header", + "name": "If-Match", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/object_attribute_definition" + }, + "responses": { + "400": { + "description": "`AttributeDefinitionPropertyReadOnlyException` - Thrown in case a read only system attribute it tried to be changed, which is not allowed. or `AttributeDefinitionReadOnlyException` - Thrown when trying to modify a read-only field of an internal\n attribute definition" + }, + "404": { + "description": "`AttributeDefinitionNotFoundException` - Thrown in case the attribute definition does not exist matching the given id or `ObjectTypeNotFoundException` - Thrown in case the object type cannot be found" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/object_attribute_definition" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/object_attribute_definition" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/object_attribute_definition" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "system_object_definitions" + ] + }, + "put": { + "description": "Creates a attribute definition using the information provided.", + "operationId": "putSystemObjectDefinitionsByIDAttributeDefinitionsByID", + "parameters": [ + { + "description": "The metadata object that contains these definitions", + "in": "path", + "name": "object_type", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "The id of the attribute definition to create.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "header", + "name": "x-dw-validate-existing", + "schema": { + "type": "boolean" + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/object_attribute_definition" + }, + "responses": { + "400": { + "description": "`AttributeDefinitionCreateException` - if the attribute definition could not be created. or `AttributeDefinitionDuplicateException` - if a attribute definition exists already with the given attribute definition id. or `AttributeDefinitionReadOnlyException` - Thrown when trying to create an internal attribute definition or `IdConflictException` - if the Id in request is not the same as the ID in document." + }, + "404": { + "description": "`ObjectTypeNotFoundException` - Thrown in case the object type cannot be found" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/object_attribute_definition" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/object_attribute_definition" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/object_attribute_definition" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "system_object_definitions" + ] + } + }, + "/system_object_definitions/{object_type}/attribute_group_search": { + "post": { + "description": "

Searches for attribute groups.

\n \n

The query attribute specifies a complex query that can be used to narrow down the search. These are the list\n of searchable attributes:

\n
    \n
  • id - String
  • \n
  • display_name - Localized < String >
  • \n
  • description - Localized < String >
  • \n
  • position - Double
  • \n
  • internal - Boolean
  • \n
\n\n

The output of the query can also be sorted. These are the list of sortable attributes:

\n
    \n
  • id - String
  • \n
  • display_name - Localized < String >
  • \n
  • description - Localized < String >
  • \n
  • position - Double
  • \n
  • internal - Boolean
  • \n
", + "operationId": "postSystemObjectDefinitionsByIDAttributeGroupSearch", + "parameters": [ + { + "in": "path", + "name": "object_type", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/search_request" + }, + "responses": { + "400": { + "description": "`MalformedSearchParameterException` - Thrown if the query is ill-formed." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/object_attribute_group_search_result" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/object_attribute_group_search_result" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/object_attribute_group_search_result" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "system_object_definitions" + ] + } + }, + "/system_object_definitions/{object_type}/attribute_groups": { + "get": { + "description": "Action to get all the attribute groups with no filtering.", + "operationId": "getSystemObjectDefinitionsByIDAttributeGroups", + "parameters": [ + { + "in": "path", + "name": "object_type", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "Optional start index for retrieving the items from a given index (default 0).", + "in": "query", + "name": "start", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "Optional count for retrieving only a subset of the items (default is 25).", + "in": "query", + "name": "count", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "The property selector.", + "in": "query", + "name": "select", + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "expand", + "style": "form", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "404": { + "description": "`ObjectTypeNotFoundException` - in case the object type does not match an existing system type" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/object_attribute_groups" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/object_attribute_groups" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/object_attribute_groups" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "system_object_definitions" + ] + } + }, + "/system_object_definitions/{object_type}/attribute_groups/{group_id}/attribute_definitions/{def_id}": { + "delete": { + "description": "Un-assign an attribute definition from an attribute group.", + "operationId": "deleteSystemObjectDefinitionsByIDAttributeGroupsByIDAttributeDefinitionsByID", + "parameters": [ + { + "description": "The ID of the system object that contains the attribute definition and attribute group.", + "in": "path", + "name": "object_type", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "The ID of the attribute group.", + "in": "path", + "name": "group_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The ID of the attribute definition.", + "in": "path", + "name": "def_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`AttributeDefinitionNotFoundException` - Indicates the specified attribute definition is not found. or `AttributeGroupNotFoundException` - Indicates the specified attribute group is not found. or `ObjectTypeNotFoundException` - Indicates the specified system object is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "system_object_definitions" + ] + }, + "put": { + "description": "Assign an attribute definition to an attribute group.", + "operationId": "putSystemObjectDefinitionsByIDAttributeGroupsByIDAttributeDefinitionsByID", + "parameters": [ + { + "description": "The ID of the system object that contains the attribute definition and attribute group.", + "in": "path", + "name": "object_type", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "The ID of the attribute group.", + "in": "path", + "name": "group_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The ID of the attribute definition.", + "in": "path", + "name": "def_id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`AttributeDefinitionNotFoundException` - Indicates the specified attribute definition is not found. or `AttributeGroupNotFoundException` - Indicates the specified attribute group is not found. or `ObjectTypeNotFoundException` - Indicates the specified system object is not found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "system_object_definitions" + ] + } + }, + "/system_object_definitions/{object_type}/attribute_groups/{id}": { + "delete": { + "description": "Deletes the attribute group by ID", + "operationId": "deleteSystemObjectDefinitionsByIDAttributeGroupsByID", + "parameters": [ + { + "description": "the object type id that contains this attribute group", + "in": "path", + "name": "object_type", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "One attribute group id to remove", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "" + }, + "400": { + "description": "`AttributeGroupReadOnlyException` - Thrown when trying to delete an internal attribute group" + }, + "404": { + "description": "`AttributeGroupNotFoundException` - Thrown in case the attribute group cannot be found or `ObjectTypeNotFoundException` - Thrown in case the object type cannot be found" + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "system_object_definitions" + ] + }, + "get": { + "description": "Action to get attribute group information.", + "operationId": "getSystemObjectDefinitionsByIDAttributeGroupsByID", + "parameters": [ + { + "description": "the object type id that contains this attribute group", + "in": "path", + "name": "object_type", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "The id of the requested attribute group.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "in": "query", + "name": "select", + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "expand", + "style": "form", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "404": { + "description": "`AttributeGroupNotFoundException` - Thrown in case the attribute group does not exist matching the given id or `ObjectTypeNotFoundException` - in case the object type does not match an existing system type" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/object_attribute_group" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/object_attribute_group" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/object_attribute_group" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "system_object_definitions" + ] + }, + "patch": { + "description": "Updates the attribute group with the specified information. The request must include the If-Match header, which holds\n the last known base-point information. The value of this header is an \"ETag\" representing the attribute group state. If\n the request does not contain an If-Match header with the current server customer \"ETag\", a 409 (IfMatchRequiredException)\n fault is returned. If the If-Match header does not match the current server attribute group \"ETag\", a 412 (InvalidIfMatchException)\n fault is returned.", + "operationId": "patchSystemObjectDefinitionsByIDAttributeGroupsByID", + "parameters": [ + { + "description": "the object type id that contains this attribute group", + "in": "path", + "name": "object_type", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "The id of the requested attribute group.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "must match the last eTag", + "in": "header", + "name": "If-Match", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/object_attribute_group" + }, + "responses": { + "400": { + "description": "`AttributeGroupReadOnlyException` - Thrown when trying to modify an attribute of a field of an attribute group\n that is read only" + }, + "404": { + "description": "`AttributeGroupNotFoundException` - Thrown in case the attribute group does not exist matching the given id" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/object_attribute_group" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/object_attribute_group" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/object_attribute_group" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "system_object_definitions" + ] + }, + "put": { + "description": "Creates a attribute group using the information provided. If a attribute group with the same unique identifier, it will be deleted and a new one will be created unless the header x-dw-validate-existing=true is passed in with the request.", + "operationId": "putSystemObjectDefinitionsByIDAttributeGroupsByID", + "parameters": [ + { + "description": "the object type id that contains this attribute group", + "in": "path", + "name": "object_type", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "The id of the attribute group to create.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "if true, and a attribute group already exists, will throw a AttributeGroupDuplicateException.", + "in": "header", + "name": "x-dw-validate-existing", + "schema": { + "type": "boolean" + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/object_attribute_group" + }, + "responses": { + "400": { + "description": "`AttributeGroupDuplicateException` - if a attribute group exists already in the site with the given identifier and the header x-dw-validate-existing=true is passed in with the request. or `AttributeGroupReadOnlyException` - Thrown when trying to create an internal attribute group" + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/object_attribute_group" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/object_attribute_group" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/object_attribute_group" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "system_object_definitions" + ] + } + }, + "/user_search": { + "post": { + "description": "Searches for users.\n

\n The query attribute specifies a complex query that can be used to narrow down the search. These are the list\n of searchable attributes:\n

\n
    \n
  • login - String
  • \n
  • email - String
  • \n
  • first_name - String
  • \n
  • last_name - String
  • \n
  • external_id - String
  • \n
  • last_login_date - Date
  • \n
  • is_locked - Boolean
  • \n
  • is_disabled - Boolean
  • \n
\n\n

The output of the query can also be sorted. These are the list of sortable attributes:

\n
    \n
  • login - String
  • \n
  • email - String
  • \n
  • first_name - String
  • \n
  • last_name - String
  • \n
  • external_id - String
  • \n
  • last_login_date - Date
  • \n
", + "operationId": "postUserSearch", + "requestBody": { + "$ref": "#/components/requestBodies/search_request" + }, + "responses": { + "400": { + "description": "`MalformedSearchParameterException` - Thrown if the query is ill-formed." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/user_search_result" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/user_search_result" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/user_search_result" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "user_search" + ] + } + }, + "/users": { + "get": { + "description": "Action to get all users with no filtering.", + "operationId": "getUsers", + "parameters": [ + { + "description": "Optional start index for retrieving the items from a given index (default 0).", + "in": "query", + "name": "start", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "Optional count for retrieving only a subset of the items (default is 25).", + "in": "query", + "name": "count", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "description": "The property selector.", + "in": "query", + "name": "select", + "schema": { + "type": "string" + } + } + ], + "responses": { + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/users" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/users" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/users" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "users" + ] + } + }, + "/users/this": { + "get": { + "description": "Action to get the user password expiration information.", + "operationId": "getUsersThis", + "responses": { + "401": { + "description": "`UserIsLockedException` - If the user profile is currently locked. or `UserNotAvailableException` - If the user provided by the OAuth token cannot be found." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/user" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/user" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/user" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "users" + ] + } + }, + "/users/this/password": { + "patch": { + "description": "Action to change a local user password. This action cannot change the password for a user managed by Account\n Manager.", + "operationId": "patchUsersThisPassword", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/password_change_request" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/password_change_request" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/password_change_request" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "`InvalidPasswordException` - If the provided current user password is invalid. or `PasswordNotValidForReuseException` - If the same new password was set recently before. or `PasswordPolicyViolationException` - If the new password doesn't meet the acceptance crtiteria of a user\n password." + }, + "401": { + "description": "`UserIsLockedException` - If the user profile is currently locked. or `UserNotAvailableException` - If the user provided by the OAuth token cannot be found." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/user" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/user" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/user" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "users" + ] + } + }, + "/users/{login}": { + "delete": { + "description": "Action to delete a single user.", + "operationId": "deleteUsersByID", + "parameters": [ + { + "description": "login of the user", + "in": "path", + "name": "login", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "`UserNotFoundException` - If no user with the specified login could be found." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "users" + ] + }, + "get": { + "description": "Action to get a user.", + "operationId": "getUsersByID", + "parameters": [ + { + "description": "login of the user", + "in": "path", + "name": "login", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "responses": { + "404": { + "description": "`UserNotFoundException` - If no user with the specified login could be found." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/user" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/user" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/user" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "users" + ] + }, + "patch": { + "description": "

Action to update a user.

\n\n

Note: The locked flag and the user password cannot be updated with this resource.

", + "operationId": "patchUsersByID", + "parameters": [ + { + "description": "login of the user", + "in": "path", + "name": "login", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/user" + }, + "responses": { + "400": { + "description": "`ExternalIdAlreadyExistsException` - If another user with the same external id already exists. or `ExternalIdNullException` - If the external id is explicitly set to null for an externally managed user or `UnknownLocaleException` - If either the Preferred UI Locale or the Preferred Data Locale are unknown. or `IdConflictException` - If the login in the request URL is different from the login in the request body." + }, + "403": { + "description": "`UserOperationNotAllowedException` - If creation or replacement of a user with the given login is not allowed." + }, + "404": { + "description": "`UserNotFoundException` - If no user with the specified login could be found." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/user" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/user" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/user" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "users" + ] + }, + "put": { + "description": "Action to create or overwrite a user. \n\n If a user with the given login already exists, the existing user will be overwritten.\n If no such login exists, a new user is created.", + "operationId": "putUsersByID", + "parameters": [ + { + "description": "login of the user", + "in": "path", + "name": "login", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "requestBody": { + "$ref": "#/components/requestBodies/user" + }, + "responses": { + "400": { + "description": "`ExternalIdAlreadyExistsException` - If another user with the same external id already exists. or `InvalidCredentialsException` - If password or external id of the user are invalid. or `LocalUserCreationException` - If creation of a local Business Manager user is not allowed with the current server settings. or `PasswordPolicyViolationException` - If the password doesn't meet the acceptance crtiteria of a user password. or `UnknownLocaleException` - If either the Preferred UI Locale or the Preferred Data Locale are unknown. or `IdConflictException` - If the login in the request URL is different from the login in the request body." + }, + "403": { + "description": "`UserOperationNotAllowedException` - If creation or replacement of a user with the given login is not allowed." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/user" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/user" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/user" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "users" + ] + } + }, + "/users/{login}/access_key/{scope}": { + "delete": { + "description": "Deletes a single access key.", + "operationId": "deleteUsersByIDAccessKeyByID", + "parameters": [ + { + "description": "The login of the user.", + "in": "path", + "name": "login", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The scope of the access key.", + "in": "path", + "name": "scope", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "" + }, + "403": { + "description": "`UserNotExternallyManagedException` - When the specified user is not externally managed. or `UserAccessForbiddenException` - When the user executing the request is missing the required functional permission 'Manage_Users_Access_Keys'." + }, + "404": { + "description": "`AccessKeyNotFoundException` - If the access key does not exist. or `AuthenticationScopeNotFoundException` - If the access scope does not exist. or `UserNotFoundException` - If no user was found for the login." + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "users" + ] + }, + "get": { + "description": "Gets a single access key.", + "operationId": "getUsersByIDAccessKeyByID", + "parameters": [ + { + "description": "The login of the user.", + "in": "path", + "name": "login", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The scope of the access key.", + "in": "path", + "name": "scope", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "403": { + "description": "`UserNotExternallyManagedException` - When the specified user is not externally managed. or `UserAccessForbiddenException` - When the user executing the request is missing the required functional permission 'Manage_Users_Access_Keys'." + }, + "404": { + "description": "`AccessKeyNotFoundException` - If the access key does not exist. or `AuthenticationScopeNotFoundException` - If the access scope does not exist. or `UserNotFoundException` - If no user was found for the login." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/access_key_details" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/access_key_details" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/access_key_details" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "users" + ] + }, + "patch": { + "description": "Enables / disables a single access key.", + "operationId": "patchUsersByIDAccessKeyByID", + "parameters": [ + { + "description": "The login of the user.", + "in": "path", + "name": "login", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The scope of the access key.", + "in": "path", + "name": "scope", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/access_key_update_request" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/access_key_update_request" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/access_key_update_request" + } + } + } + }, + "responses": { + "403": { + "description": "`UserNotExternallyManagedException` - When the specified user is not externally managed. or `UserAccessForbiddenException` - When the user executing the request is missing the required functional permission 'Manage_Users_Access_Keys'." + }, + "404": { + "description": "`AccessKeyNotFoundException` - If the access key does not exist. or `AuthenticationScopeNotFoundException` - If the access scope does not exist. or `UserNotFoundException` - If no user was found for the login." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/access_key_details" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/access_key_details" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/access_key_details" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "users" + ] + }, + "put": { + "description": "Creates a single access key (and removes an existing one for the same scope).", + "operationId": "putUsersByIDAccessKeyByID", + "parameters": [ + { + "description": "The login of the user.", + "in": "path", + "name": "login", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "description": "The scope of the access key.", + "in": "path", + "name": "scope", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/empty_body" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/empty_body" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/empty_body" + } + } + } + }, + "responses": { + "400": { + "description": "`AccessKeyIsExpiredException` - If the acces key is already expired." + }, + "403": { + "description": "`UserNotExternallyManagedException` - When the specified user is not externally managed. or `UserAccessForbiddenException` - When the user executing the request is missing the required functional permission 'Manage_Users_Access_Keys'." + }, + "404": { + "description": "`AuthenticationScopeNotFoundException` - If the access scope does not exist. or `UserNotFoundException` - If no user was found for the login." + }, + "default": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/access_key_details" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/access_key_details" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/access_key_details" + } + } + } + } + }, + "security": [ + { + "oauth2_application": [] + } + ], + "tags": [ + "users" + ] + } + } + }, + "servers": [ + { + "url": "//abcd-123.dx.commercecloud.salesforce.com/s/-/dw/data/v25_6" + } + ], + "components": { + "requestBodies": { + "variation_attribute": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/variation_attribute" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/variation_attribute" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/variation_attribute" + } + } + }, + "required": true + }, + "variation_attribute_value": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/variation_attribute_value" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/variation_attribute_value" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/variation_attribute_value" + } + } + }, + "required": true + }, + "variant": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/variant" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/variant" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/variant" + } + } + }, + "required": true + }, + "coupon": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/coupon" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/coupon" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/coupon" + } + } + }, + "required": true + }, + "store": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/store" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/store" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/store" + } + } + }, + "required": true + }, + "customer": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/customer" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/customer" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/customer" + } + } + }, + "required": true + }, + "object_attribute_definition": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/object_attribute_definition" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/object_attribute_definition" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/object_attribute_definition" + } + } + }, + "required": true + }, + "product_inventory_record": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/product_inventory_record" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/product_inventory_record" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/product_inventory_record" + } + } + }, + "required": true + }, + "variation_group": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/variation_group" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/variation_group" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/variation_group" + } + } + }, + "required": true + }, + "content_asset": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/content_asset" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/content_asset" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/content_asset" + } + } + }, + "required": true + }, + "source_code_group": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/source_code_group" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/source_code_group" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/source_code_group" + } + } + }, + "required": true + }, + "gift_certificate": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/gift_certificate" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/gift_certificate" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/gift_certificate" + } + } + }, + "required": true + }, + "search_request": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/search_request" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/search_request" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/search_request" + } + } + }, + "required": true + }, + "product_option": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/product_option" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/product_option" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/product_option" + } + } + }, + "required": true + }, + "inventory_list": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/inventory_list" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/inventory_list" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/inventory_list" + } + } + }, + "required": true + }, + "ocapi_configs_api_request": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ocapi_configs_api_request" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/ocapi_configs_api_request" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/ocapi_configs_api_request" + } + } + }, + "required": true + }, + "user": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/user" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/user" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/user" + } + } + }, + "required": true + }, + "product": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/product" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/product" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/product" + } + } + }, + "required": true + }, + "category": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/category" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/category" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/category" + } + } + }, + "required": true + }, + "category_link": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/category_link" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/category_link" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/category_link" + } + } + }, + "required": true + }, + "product_option_value": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/product_option_value" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/product_option_value" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/product_option_value" + } + } + }, + "required": true + }, + "object_attribute_group": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/object_attribute_group" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/object_attribute_group" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/object_attribute_group" + } + } + }, + "required": true + }, + "custom_object": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/custom_object" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/custom_object" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/custom_object" + } + } + }, + "required": true + }, + "custom_object2": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/custom_object" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/custom_object" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/custom_object" + } + } + } + }, + "customer_address": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/customer_address" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/customer_address" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/customer_address" + } + } + }, + "required": true + }, + "content_folder": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/content_folder" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/content_folder" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/content_folder" + } + } + }, + "required": true + }, + "ab_test": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ab_test" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/ab_test" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/ab_test" + } + } + } + }, + "ab_test_segment": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ab_test_segment" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/ab_test_segment" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/ab_test_segment" + } + } + } + }, + "campaign": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/campaign" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/campaign" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/campaign" + } + } + }, + "required": true + }, + "customer_group": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/customer_group" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/customer_group" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/customer_group" + } + } + }, + "required": true + }, + "promotion": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/promotion" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/promotion" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/promotion" + } + } + }, + "required": true + }, + "slot_configuration": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/slot_configuration" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/slot_configuration" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/slot_configuration" + } + } + }, + "required": true + } + }, + "securitySchemes": { + "oauth2_application": { + "description": "Authentication flow with client ID and password with account manager.", + "type": "oauth2", + "flows": { + "clientCredentials": { + "tokenUrl": "https://account.demandware.com:443/dw/oauth2/access_token", + "scopes": { + "x-info": "Scopes are NOT supported. This is just a dummy, because the 'scopes' field is required." + } + } + } + }, + "client_id": { + "description": "Add client ID for application identification. Alternative as 'client_id' query parameter.", + "in": "header", + "name": "x-dw-client-id", + "type": "apiKey" + } + }, + "schemas": { + "string": { + "type": "string" + }, + "ab_test": { + "description": "

The id of the A/B Test

", + "properties": { + "customer_groups": { + "description": "The list of customer group ids assigned to the A/B Test. Defaults to 'Everyone' if not specified on create", + "items": { + "type": "string" + }, + "type": "array" + }, + "description": { + "description": "The optional description of the A/B Test", + "maxLength": 4000, + "type": "string" + }, + "email_addresses": { + "description": "The optional list of email addresses to send A/B Test results", + "items": { + "type": "string" + }, + "type": "array" + }, + "enabled": { + "description": "The flag representing the enabled state of the A/B Test. Defaults to false if not specified on create", + "type": "boolean" + }, + "end_date": { + "description": "The date that the A/B Test ends. Defaults to two weeks from creation date if both start and end dates are not specified on create", + "format": "date-time", + "type": "string" + }, + "expiration_type": { + "description": "The participant expiration type of the A/B Test. Defaults to 'never' if not specified on create", + "enum": [ + "session", + "never" + ], + "type": "string" + }, + "id": { + "description": "The id of the A/B Test", + "maxLength": 40, + "minLength": 1, + "type": "string" + }, + "key_metric_id": { + "description": "The key metric that is most important to the A/B Test, among the metrics collected. Defaults to 'Revenue' if not specified from test participant activity", + "maxLength": 256, + "type": "string" + }, + "link": { + "description": "The URL to get the A/B test. This is a computed attribute and cannot be modified", + "type": "string" + }, + "paused": { + "description": "The flag representing the paused state of the A/B Test. Defaults to false if not specified on create", + "type": "boolean" + }, + "segment_count": { + "description": "Segment count of A/B test. This is a computed attribute and cannot be modified", + "format": "int32", + "type": "integer" + }, + "start_date": { + "description": "The date that the A/B Test begins. Defaults to a week from creation date if both start and end dates are not specified on create", + "format": "date-time", + "type": "string" + }, + "status": { + "description": "Status of A/B test. This is a computed attribute and cannot be modified", + "enum": [ + "ended", + "planned", + "running" + ], + "type": "string" + }, + "tags": { + "description": "The optional list of tags to group similar A/B Tests so that they can be searched easily.", + "items": { + "type": "string" + }, + "type": "array" + }, + "test_groups": { + "description": "Test Groups created for an A/B Test. This is a read only attribute for now.", + "items": { + "$ref": "#/components/schemas/ab_test_group" + }, + "type": "array" + }, + "test_segments": { + "description": "Test Segments created for an A/B Test. This is a read only attribute for now", + "items": { + "$ref": "#/components/schemas/ab_test_segment" + }, + "type": "array" + }, + "trigger": { + "$ref": "#/components/schemas/ab_test_trigger" + } + } + }, + "ab_test_group": { + "description": "

Document representing an A/B Test Group

", + "properties": { + "allocation": { + "description": "Test Group percentage allocation", + "format": "int32", + "type": "integer" + }, + "custom_experience": { + "description": "Flag to determine if this Test Group is a customer experience", + "type": "boolean" + }, + "description": { + "description": "Test Group description", + "type": "string" + }, + "id": { + "description": "Test group id", + "type": "string" + } + } + }, + "ab_test_search_result": { + "description": "

Request document containing a search response for A/B test

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The search hits returned as an ordered list", + "items": { + "$ref": "#/components/schemas/ab_test" + }, + "type": "array" + }, + "next": { + "$ref": "#/components/schemas/result_page" + }, + "previous": { + "$ref": "#/components/schemas/result_page" + }, + "query": { + "$ref": "#/components/schemas/query" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "sorts": { + "items": { + "$ref": "#/components/schemas/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "ab_test_segment": { + "description": "

Document representing an A/B Test Segment

", + "properties": { + "allocation": { + "description": "Test Group percentage allocation", + "format": "int32", + "type": "integer" + }, + "custom_experience": { + "description": "Flag to determine if this Test Group is a customer experience", + "type": "boolean" + }, + "description": { + "description": "Test Group description", + "maxLength": 4000, + "type": "string" + }, + "id": { + "description": "Test group id", + "maxLength": 40, + "minLength": 1, + "type": "string" + }, + "link": { + "description": "", + "type": "string" + }, + "promotions": { + "description": "Promotions which this segment has as experiences", + "items": { + "type": "object" + }, + "type": "array" + }, + "slot_configs": { + "description": "Slot configurations which this segment has as experiences", + "items": { + "type": "object" + }, + "type": "array" + }, + "sorting_rules": { + "description": "Sorting rules which this segment has as experiences", + "items": { + "type": "object" + }, + "type": "array" + }, + "stats": { + "$ref": "#/components/schemas/ab_test_segment_stats" + } + } + }, + "ab_test_segment_stats": { + "description": "", + "properties": { + "adds_to_baskets": { + "description": "", + "format": "int32", + "type": "integer" + }, + "average_adds_per_basket": { + "description": "", + "format": "double", + "type": "number" + }, + "average_adds_per_basket_std_error": { + "description": "", + "format": "double", + "type": "number" + }, + "average_discount_amount": { + "description": "", + "format": "double", + "type": "number" + }, + "average_discount_amount_std_error": { + "description": "", + "format": "double", + "type": "number" + }, + "average_discount_amount_with_coupon": { + "description": "", + "format": "double", + "type": "number" + }, + "average_discount_amount_with_coupon_std_error": { + "description": "", + "format": "double", + "type": "number" + }, + "average_discount_amount_without_coupon": { + "description": "The standard error for the average amount discounted for orders without using a coupon", + "format": "double", + "type": "number" + }, + "average_discount_amount_without_coupon_std_error": { + "description": "Units sold per hour", + "format": "double", + "type": "number" + }, + "average_order_value": { + "description": "", + "format": "double", + "type": "number" + }, + "average_order_value_std_error": { + "description": "", + "format": "double", + "type": "number" + }, + "average_revenue_per_visit": { + "description": "", + "format": "double", + "type": "number" + }, + "average_revenue_per_visit_std_error": { + "description": "", + "format": "double", + "type": "number" + }, + "average_units_added_per_basket": { + "description": "", + "format": "double", + "type": "number" + }, + "average_units_adder_per_basket_std_error": { + "description": "", + "format": "double", + "type": "number" + }, + "average_units_per_order_std_error": { + "description": "", + "format": "double", + "type": "number" + }, + "average_units_per_visit": { + "description": "", + "format": "double", + "type": "number" + }, + "average_units_per_visit_std_error": { + "description": "", + "format": "double", + "type": "number" + }, + "basket_rate": { + "description": "", + "format": "double", + "type": "number" + }, + "baskets": { + "description": "", + "format": "double", + "type": "number" + }, + "checkout_rate": { + "description": "", + "format": "double", + "type": "number" + }, + "checkouts": { + "description": "", + "format": "int32", + "type": "integer" + }, + "conversion_rate": { + "description": "", + "format": "double", + "type": "number" + }, + "discount_amount_with_coupon": { + "description": "", + "format": "double", + "type": "number" + }, + "discount_amount_without_coupon": { + "description": "", + "format": "double", + "type": "number" + }, + "orders": { + "description": "", + "format": "int32", + "type": "integer" + }, + "revenue": { + "description": "", + "format": "double", + "type": "number" + }, + "total_discount_amount": { + "description": "", + "format": "double", + "type": "number" + }, + "units": { + "description": "", + "format": "double", + "type": "number" + }, + "units_added_to_baskets": { + "description": "", + "format": "double", + "type": "number" + }, + "visitors": { + "description": "", + "format": "int32", + "type": "integer" + }, + "visits": { + "description": "", + "format": "int32", + "type": "integer" + } + } + }, + "ab_test_trigger": { + "description": "

Document representing an A/B Test trigger.

", + "properties": { + "categories": { + "description": "The list of categories. This is a modifiable attribute when trigger type is 'category_page_view' only", + "items": { + "type": "string" + }, + "type": "array" + }, + "is_pipeline_based": { + "description": "The flag indicating if the trigger is based on pipelines. This is a computed attribute and cannot be modified", + "type": "boolean" + }, + "pipeline_calls": { + "description": "The list of pipeline name and start node combinations (for example, Account-Show). This is a modifiable attribute when trigger type is 'pipeline_calls' only", + "items": { + "type": "string" + }, + "type": "array" + }, + "trigger_type": { + "description": "The type of the trigger. Defaults to 'immediately' if not specified on create", + "enum": [ + "immediately", + "category_page_view", + "home_page_view", + "pipeline_call" + ], + "type": "string" + } + } + }, + "ab_tests": { + "description": "

Request document containing a set of ABTests

", + "properties": { + "count": { + "format": "int32", + "type": "integer" + }, + "data": { + "description": "", + "items": { + "$ref": "#/components/schemas/ab_test" + }, + "type": "array" + }, + "expand": { + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "type": "string" + }, + "previous": { + "type": "string" + }, + "select": { + "type": "string" + }, + "start": { + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "format": "int32", + "type": "integer" + } + } + }, + "access_key_details": { + "description": "

Access key information

", + "properties": { + "access_key": { + "description": "The newly created access key (only available upon access key creation, missing otherwise).", + "type": "string" + }, + "enabled": { + "description": "True when the access key is enabled.", + "type": "boolean" + }, + "expiration_date": { + "description": "The date when the access key expires.", + "format": "date-time", + "type": "string" + } + } + }, + "access_key_update_request": { + "description": "

Request body to enable / disable an access key.

", + "properties": { + "enabled": { + "description": "True when the access key should be enabled.", + "type": "boolean" + } + } + }, + "account_transaction": { + "description": "

Document representing an account transaction

", + "properties": { + "amount": { + "$ref": "#/components/schemas/money" + }, + "order_no": { + "description": "The order number of the gift certificate", + "type": "string" + }, + "timestamp": { + "description": "The timestamp of the transaction of the gift certificate", + "format": "date-time", + "type": "string" + }, + "type_code": { + "description": "The type code of the gift certificate", + "enum": [ + "create", + "redeem", + "delete", + "enable", + "disable" + ], + "type": "string" + } + } + }, + "alert_descriptor": { + "description": "

Document describing a single alert descriptor.

", + "properties": { + "application_context_path": { + "description": "The application context path.", + "minLength": 1, + "type": "string" + }, + "application_id": { + "description": "The application ID.", + "minLength": 1, + "type": "string" + }, + "context_object_type": { + "description": "The context object type.", + "type": "string" + }, + "default_priority": { + "description": "The default priority.", + "enum": [ + "not_allowed", + "hidden", + "informational", + "warning", + "action_required" + ], + "minLength": 1, + "type": "string" + }, + "link": { + "description": "URL for this resource.", + "minLength": 1, + "type": "string" + }, + "message_id": { + "description": "The message ID.", + "minLength": 1, + "type": "string" + } + } + }, + "alert_descriptor_settings": { + "description": "

Document describing settings for a single alert descriptor.

", + "properties": { + "application_context_path": { + "description": "The application context path.", + "minLength": 1, + "type": "string" + }, + "application_id": { + "description": "The application ID.", + "minLength": 1, + "type": "string" + }, + "is_user_override": { + "description": "

Flag that indicates whether the settings for this descriptor have been changed by the user.

In a PATCH request, this flag must be set to true to override the default settings. If this flag to false in a PATCH request, the default user settings for this descriptor are restored (and all other fields are ignored).

", + "type": "boolean" + }, + "message_id": { + "description": "The message ID.", + "minLength": 1, + "type": "string" + }, + "priority": { + "description": "The user priority.", + "enum": [ + "hidden", + "informational", + "warning", + "action_required" + ], + "type": "string" + }, + "show_in_header": { + "description": "Flag that indicates whether the alert is shown in the Business Manager header.", + "type": "boolean" + }, + "show_on_banner": { + "description": "Flag that indicates whether the alert is shown on the Business Manager banner (on every page).", + "type": "boolean" + }, + "show_on_homepage": { + "description": "Flag that indicates whether the alert is shown on the Business Manager homepage.", + "type": "boolean" + } + }, + "required": [ + "application_context_path", + "application_id", + "is_user_override", + "message_id", + "priority", + "show_in_header", + "show_on_homepage" + ] + }, + "alert_descriptors": { + "description": "

Document containing a collection of alert descriptors.

", + "properties": { + "data": { + "description": "Collection of alert descriptors", + "items": { + "$ref": "#/components/schemas/alert_descriptor" + }, + "type": "array" + } + } + }, + "alert_descriptors_revalidation_request": { + "description": "

Contains parameters for a alert descriptor revalidation request.

", + "properties": { + "context_object_id": { + "description": "ID of the object in which context messages should be revalidated.", + "type": "string" + } + } + }, + "alert_settings": { + "description": "

Document containing the alert settings of a user.

", + "properties": { + "settings": { + "description": "Alert settings.", + "items": { + "$ref": "#/components/schemas/alert_descriptor_settings" + }, + "type": "array" + } + } + }, + "application_permissions": { + "description": "

Document representing the available applications for retrieving permissions.

", + "properties": { + "applications": { + "description": "The available applications (e.g. 'bm' for Business Manager).", + "items": { + "type": "string" + }, + "type": "array" + }, + "bm": { + "$ref": "#/components/schemas/bmpermissions" + }, + "csc": { + "$ref": "#/components/schemas/cscpermissions" + } + } + }, + "bmpermissions": { + "properties": { + "functional": { + "$ref": "#/components/schemas/functional_permissions" + }, + "functional_link": { + "type": "string" + }, + "locale": { + "$ref": "#/components/schemas/locale_permissions" + }, + "locale_link": { + "type": "string" + }, + "module": { + "$ref": "#/components/schemas/module_permissions" + }, + "module_link": { + "type": "string" + }, + "types": { + "items": { + "type": "string" + }, + "type": "array" + }, + "webdav": { + "$ref": "#/components/schemas/webdav_permissions" + }, + "webdav_link": { + "type": "string" + } + } + }, + "bool_filter": { + "description": "

Document representing a boolean filter.\n \n A boolean filter allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter\n is configured with a boolean operator (AND, OR, NOT) and a list of filters the operator relates to. If multiple\n filters are given to a boolean NOT operator, this is interpreted as a NOT upon a boolean OR of the given filters.\n \n Example: (id=\"myId\" AND coupon_id=\"couponOne\")\n

 \n  query: {\n     filtered_query: {\n         query: { match_all_query: {} },\n         filter: {\n             bool_filter: {\n                 operator: \"and\",\n                 filters: [\n                     { term_filter: { field: \"id\", operator: \"is\", values: [\"myId\"] } },\n                     { term_filter: { field: \"coupon_id\", operator: \"is\", values: [\"couponOne\"] } }\n                 ]\n             }\n         }\n     }\n  }\n   
\n Example: (id=\"holidaySale\" OR redemption_count BETWEEN(1, 20)\n
 \n     query: {\n         filtered_query: {\n             query: { match_all_query: {} },\n             filter: {\n                 bool_filter: {\n                 operator: \"or\",\n                 filters: [\n                     { term_filter: { field: \"id\", operator: \"is\", values: [\"holidaySale\"] } },\n                     { range_filter: { field: \"redemption_count\", from: 1, to: 20 } }\n                 ]\n             }\n         }\n     }\n  }\n   
\n Example: NOT(enabled=false OR coupon_id=\"special\")\n
 \n     query: {\n         filtered_query: {\n             query: { match_all_query: {} },\n             filter: {\n                 bool_filter: {\n                 operator: \"not\",\n                 filters: [\n                     { term_filter: { field: \"enabled\", operator: \"is\", values: [false] } },\n                     { term_filter: { field: \"coupon_id\", operator: \"is\", values: [\"special\"] } }\n                 ]\n             }\n         }\n     }\n  }\n   

", + "properties": { + "filters": { + "description": "A list of filters, which are logically combined by an operator.", + "items": { + "$ref": "#/components/schemas/filter" + }, + "x-sub_types": { + "range_filter": "#/definitions/range_filter", + "bool_filter": "#/definitions/bool_filter", + "query_filter": "#/definitions/query_filter", + "term_filter": "#/definitions/term_filter", + "range2_filter": "#/definitions/range2_filter" + }, + "type": "array" + }, + "operator": { + "description": "The logical operator the filters are combined with.", + "enum": [ + "and", + "or", + "not" + ], + "type": "string" + } + }, + "required": [ + "operator" + ] + }, + "bool_query": { + "description": "

A boolean query allows construction of full logical expression trees consisting of other queries (usually term and text\nqueries). A boolean query basically has 3 sets of clauses that 'must', 'should' and / or 'must not' match. If 'must',\n'must_not', or 'should' appear in the same boolean query, they are combined logically using the AND operator.\nThe difference between must and should operators is that the must operator requires all subqueries to match whereas the should operator only requires one match\n \n Example: (id = 'foo' AND description LIKE 'bar')\n

 \n   query: {\n       bool_query: {\n           must: [\n               { term_query: { fields: [\"id\"], operator: \"is\", values: [\"foo\"] } },\n               { text_query: { fields: [\"description\"], search_phrase: \"bar\" } }\n           ]\n       }\n   }\n 
\n\n Example: (id = 'foo' OR description LIKE 'bar')\n
 \n   query: {\n       bool_query: {\n           should: [\n               { term_query: { fields: [\"id\"], operator: \"is\", values: [\"foo\"] } },\n               { text_query: { fields: [\"description\"], search_phrase: \"bar\" } }\n           ]\n       }\n   }\n 
\n\n Example: (NOT (id = 'foo' AND description LIKE 'bar'))\n
 \n   query: {\n       bool_query: {\n           must_not: [\n               { term_query: { fields: [\"id\"], operator: \"is\", values: [\"foo\"] } },\n               { text_query: { fields: [\"description\"], search_phrase: \"bar\" } }\n           ]\n       }\n   }\n 
\n\n Example: ((coupon_id LIKE \"limit\" AND description LIKE \"limit per customer\") AND NOT (enabled=false))\n
 \n   query: {\n       bool_query: {\n           must: [\n               { text_query: { fields: [ \"coupon_id\" ], search_phrase: \"limit\" } },\n               { text_query: { fields: [ \"description\" ], search_phrase: \"limit per customer\" } }\n           ],\n           must_not: [\n               { term_query: { fields: [ \"enabled\" ], operator: \"is\", values: [false] } }\n           ]\n       }\n   }\n 

", + "properties": { + "must": { + "description": "List of queries that must match.", + "items": { + "$ref": "#/components/schemas/query" + }, + "x-sub_types": { + "nested_query": "#/definitions/nested_query", + "filtered_query": "#/definitions/filtered_query", + "text_query": "#/definitions/text_query", + "match_all_query": "#/definitions/match_all_query", + "term_query": "#/definitions/term_query", + "bool_query": "#/definitions/bool_query" + }, + "type": "array" + }, + "must_not": { + "description": "List of queries that must not match.", + "items": { + "$ref": "#/components/schemas/query" + }, + "x-sub_types": { + "nested_query": "#/definitions/nested_query", + "filtered_query": "#/definitions/filtered_query", + "text_query": "#/definitions/text_query", + "match_all_query": "#/definitions/match_all_query", + "term_query": "#/definitions/term_query", + "bool_query": "#/definitions/bool_query" + }, + "type": "array" + }, + "should": { + "description": "List of queries that should match (i.e., at least one query must match).", + "items": { + "$ref": "#/components/schemas/query" + }, + "x-sub_types": { + "nested_query": "#/definitions/nested_query", + "filtered_query": "#/definitions/filtered_query", + "text_query": "#/definitions/text_query", + "match_all_query": "#/definitions/match_all_query", + "term_query": "#/definitions/term_query", + "bool_query": "#/definitions/bool_query" + }, + "type": "array" + } + } + }, + "campaign": { + "description": "

Document representing a campaign.

", + "properties": { + "campaign_id": { + "description": "The ID of the campaign.", + "x-label": { + "default": "ID" + }, + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "coupons": { + "description": "The array of assigned coupon IDs, not sorted", + "items": { + "type": "string" + }, + "type": "array" + }, + "creation_date": { + "description": "Returns the value of attribute 'creationDate'.", + "format": "date-time", + "x-label": { + "default": "Creation Date" + }, + "readOnly": true, + "type": "string" + }, + "customer_groups": { + "description": "The array of assigned customer groups, not sorted", + "items": { + "type": "string" + }, + "type": "array" + }, + "description": { + "description": "The description of the campaign.", + "format": "text", + "x-label": { + "default": "Description" + }, + "maxLength": 4000, + "type": "string" + }, + "enabled": { + "description": "The enabled flag for campaign.", + "type": "boolean" + }, + "end_date": { + "description": "The date that the Scenario ends", + "format": "date-time", + "x-label": { + "default": "End Date" + }, + "type": "string" + }, + "last_modified": { + "description": "Returns the value of attribute 'lastModified'.", + "format": "date-time", + "x-label": { + "default": "Last Modified" + }, + "readOnly": true, + "type": "string" + }, + "link": { + "description": "link for convenience", + "type": "string" + }, + "source_code_groups": { + "description": "The array of assigned source code groups, not sorted", + "items": { + "type": "string" + }, + "type": "array" + }, + "start_date": { + "description": "The date that the Scenario begins", + "format": "date-time", + "x-label": { + "default": "Start Date" + }, + "type": "string" + } + } + }, + "campaign_search_result": { + "description": "

Document representing a campaign search result.

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. Can be empty.", + "items": { + "$ref": "#/components/schemas/campaign" + }, + "type": "array" + }, + "next": { + "$ref": "#/components/schemas/result_page" + }, + "previous": { + "$ref": "#/components/schemas/result_page" + }, + "query": { + "$ref": "#/components/schemas/query" + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/components/schemas/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "campaigns": { + "description": "

Document representing an unfiltered list of campaigns.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "$ref": "#/components/schemas/campaign" + }, + "type": "array" + }, + "expand": { + "description": "The list of expands set for the search request. Expands are optional.", + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "cartridge_path_add_request": { + "description": "

Request body for post operation

", + "properties": { + "name": { + "description": "Name of the cartridge.", + "type": "string" + }, + "position": { + "description": "Position of the cartridge.", + "enum": [ + "first", + "last", + "before", + "after" + ], + "type": "string" + }, + "target": { + "description": "When position is 'before' or 'after', need to specify the target cartridge", + "type": "string" + } + }, + "required": [ + "name", + "position" + ] + }, + "cartridge_path_api_response": { + "description": "

Response of cartridge path related operation

", + "properties": { + "cartridges": { + "description": "Updated cartridge path", + "type": "string" + }, + "site_id": { + "description": "Site id", + "type": "string" + } + } + }, + "cartridge_path_create_request": { + "description": "

Request Body for put operation

", + "properties": { + "cartridges": { + "description": "New cartridge path", + "type": "string" + } + }, + "required": [ + "cartridges" + ] + }, + "catalog": { + "description": "

Document representing a catalog

", + "properties": { + "assigned_product_count": { + "description": "The count of products assigned to the catalog. It is read only.", + "format": "int32", + "type": "integer" + }, + "assigned_sites": { + "description": "The sites assigned to the catalog. It is read only.", + "items": { + "$ref": "#/components/schemas/site" + }, + "type": "array" + }, + "category_count": { + "description": "The category count of catalog. It is read only.", + "format": "int32", + "type": "integer" + }, + "creation_date": { + "description": "Returns the value of attribute 'creationDate'.", + "format": "date-time", + "x-label": { + "default": "Creation Date" + }, + "readOnly": true, + "type": "string" + }, + "description": { + "additionalProperties": { + "type": "string" + }, + "description": "The description of catalog", + "format": "localized", + "x-label": { + "default": "Description" + }, + "type": "object" + }, + "id": { + "description": "The catalog Id", + "x-label": { + "default": "ID" + }, + "type": "string" + }, + "last_modified": { + "description": "Returns the value of attribute 'lastModified'.", + "format": "date-time", + "x-label": { + "default": "Last Modified" + }, + "readOnly": true, + "type": "string" + }, + "link": { + "description": "URL that is used to get this instance. It is read only.", + "type": "string" + }, + "name": { + "additionalProperties": { + "type": "string" + }, + "description": "The catalog name", + "format": "localized", + "x-label": { + "default": "Name" + }, + "type": "object" + }, + "online": { + "description": "The online status of catalog", + "type": "boolean" + }, + "owned_product_count": { + "description": "The count of products owned by the catalog. It is read only.", + "format": "int32", + "type": "integer" + }, + "recommendation_count": { + "description": "The recommendation count of the catalog. It is read only.", + "format": "int32", + "type": "integer" + }, + "root_category": { + "description": "The root category of the catalog. It is read only", + "type": "string" + } + } + }, + "catalog_category_id": { + "description": "

Document representing a catalog category id.

", + "properties": { + "catalog_id": { + "description": "The id of the catalog that owns the category.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "category_id": { + "description": "The id of the category.", + "maxLength": 256, + "minLength": 1, + "type": "string" + } + } + }, + "catalog_search_result": { + "description": "

Document representing a catalog search result.

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. Can be empty.", + "items": { + "$ref": "#/components/schemas/catalog" + }, + "type": "array" + }, + "next": { + "$ref": "#/components/schemas/result_page" + }, + "previous": { + "$ref": "#/components/schemas/result_page" + }, + "query": { + "$ref": "#/components/schemas/query" + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/components/schemas/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "catalogs": { + "description": "

Document representing an unfiltered list of catalogs.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "description": "The collection of catalogs.", + "items": { + "$ref": "#/components/schemas/catalog" + }, + "type": "array" + }, + "expand": { + "description": "The list of expands set for the search request. Expands are optional.", + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "categories": { + "description": "

Document representing an unfiltered list of categories.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "$ref": "#/components/schemas/category" + }, + "type": "array" + }, + "expand": { + "description": "The list of expands set for the search request. Expands are optional.", + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "category": { + "description": "

Document representing a category.

", + "properties": { + "c_alternativeUrl": { + "$ref": "#/components/schemas/markup_text" + }, + "c_catBannerID": { + "description": "Used to define the content asset used to populate a grid page banner for a category. This value is applied to all sub-category navigation (cascading) if no specific catBannerID has been defined for a sub-category.", + "x-label": { + "default": "Category Banner ID" + }, + "type": "string" + }, + "c_customCSSFile": { + "$ref": "#/components/schemas/media_file" + }, + "c_enableCompare": { + "description": "Used to define if/when the Compare feature is to be visualized in the storefront based on navigation. If enableCompare = FALSE, no Compare checkboxes will be displayed in the grid view. If enableCompare = TRUE, the category (and its children) will support the Compare feature.", + "x-label": { + "default": "Enable Compare" + }, + "type": "boolean" + }, + "c_headerMenuBanner": { + "$ref": "#/components/schemas/markup_text" + }, + "c_headerMenuOrientation": { + "description": "Which way to orient the menu and optional header menu HTML. Vertical will list all in one line. Horizontal will list in columns.", + "enum": [ + "Horizontal", + "Vertical" + ], + "x-enum-labels": [ + { + "default": "Horizontal" + }, + { + "default": "Vertical" + } + ], + "x-label": { + "default": "Header Menu Orientation" + }, + "type": "string" + }, + "c_showInMenu": { + "description": "Used to indicate that a category (such as Mens -> Footwear -> Boots) will display in the roll-over navigation. A sub-category only shows if also the parent category is marked as showInMenu. Up to three category levels are shown in roll-over navigation.", + "x-label": { + "default": "Show in Menu Navigation" + }, + "type": "boolean" + }, + "c_sizeChartID": { + "description": "Used to define the content asset ID of the Size Chart that is appropriate for products whose PRIMARY category is the associated category (and its children). Whenever a product detail page (or quick view) is rendered, the Size Chart link is populated based on the value of this attribute for the products primary categorization. If not defined, NO size chart link is displayed.", + "x-label": { + "default": "Size Chart" + }, + "type": "string" + }, + "c_slotBannerHtml": { + "additionalProperties": { + "$ref": "#/components/schemas/markup_text" + }, + "format": "localized", + "x-label": { + "default": "Slot Banner HTML" + }, + "type": "object" + }, + "c_slotBannerImage": { + "$ref": "#/components/schemas/media_file" + }, + "catalog_id": { + "description": "The id of the catalog that contains it.", + "x-label": { + "default": "ID" + }, + "type": "string" + }, + "categories": { + "description": "The array of sub categories for the category.", + "items": { + "$ref": "#/components/schemas/category" + }, + "type": "array" + }, + "creation_date": { + "description": "Returns the value of attribute 'creationDate'.", + "format": "date-time", + "x-label": { + "default": "Creation Date" + }, + "readOnly": true, + "type": "string" + }, + "description": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized description of the category.", + "format": "localized", + "x-label": { + "default": "Description" + }, + "type": "object" + }, + "id": { + "description": "The id of the category.", + "x-label": { + "default": "ID" + }, + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "image": { + "description": "The name of the category image. The URL to the image is computed.", + "x-label": { + "default": "Standard Image" + }, + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "last_modified": { + "description": "Returns the value of attribute 'lastModified'.", + "format": "date-time", + "x-label": { + "default": "Last Modified" + }, + "readOnly": true, + "type": "string" + }, + "link": { + "description": "The URL to get the category. This is a computed attribute and cannot be modified.", + "type": "string" + }, + "name": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized name of the category.", + "format": "localized", + "x-label": { + "default": "Name" + }, + "type": "object" + }, + "online": { + "description": "The online status of the category determines if it is visible in the storefront. Defaults to false if not specified on create.", + "x-label": { + "default": "Online" + }, + "type": "boolean" + }, + "page_description": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized page description of the category.", + "format": "localized", + "x-label": { + "default": "Page Description" + }, + "type": "object" + }, + "page_keywords": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized page keywords for the category.", + "format": "localized", + "x-label": { + "default": "Page Keywords" + }, + "type": "object" + }, + "page_title": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized page title of the category.", + "format": "localized", + "x-label": { + "default": "Page Title" + }, + "type": "object" + }, + "parent_category_id": { + "description": "The id of the parent category. Defaults to root if not specified on create.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "paths": { + "items": { + "$ref": "#/components/schemas/path_record" + }, + "type": "array" + }, + "position": { + "description": "The position of the category determines the display order in the storefront.", + "format": "double", + "type": "number" + }, + "sorting_rules": { + "items": { + "$ref": "#/components/schemas/sorting_rule" + }, + "type": "array" + }, + "thumbnail": { + "description": "The name of the category thumbnail. The URL to the thumbnail is computed.", + "x-label": { + "default": "Thumbnail Image" + }, + "maxLength": 256, + "minLength": 1, + "type": "string" + } + } + }, + "category_link": { + "description": "

Document representing a category link

", + "properties": { + "last_modified": { + "description": "The date the link was last modified", + "format": "date-time", + "type": "string" + }, + "link": { + "description": "URL that is used to get this instance", + "type": "string" + }, + "position": { + "description": "The position in the source catalog / category for this link relative to the other links in the same category.", + "format": "double", + "minimum": 0, + "type": "number" + }, + "source_catalog_id": { + "description": "The source catalog for the link", + "type": "string" + }, + "source_catalog_name": { + "additionalProperties": { + "type": "string" + }, + "description": "The name of the source catalog", + "format": "localized", + "type": "object" + }, + "source_category_id": { + "description": "The source category for the link", + "type": "string" + }, + "source_category_name": { + "additionalProperties": { + "type": "string" + }, + "description": "The name of the source category", + "format": "localized", + "type": "object" + }, + "target_catalog_id": { + "description": "The target category for the link", + "type": "string" + }, + "target_catalog_name": { + "additionalProperties": { + "type": "string" + }, + "description": "The name of the target catalog", + "format": "localized", + "type": "object" + }, + "target_category_id": { + "description": "The target category for the link", + "type": "string" + }, + "target_category_name": { + "additionalProperties": { + "type": "string" + }, + "description": "The name of the target category", + "format": "localized", + "type": "object" + }, + "type": { + "description": "The link type", + "enum": [ + "other", + "accessories", + "cross_selling", + "up_selling", + "spare_parts" + ], + "type": "string" + } + } + }, + "category_links": { + "description": "

Document representing an unfiltered list of category links.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "$ref": "#/components/schemas/category_link" + }, + "type": "array" + }, + "expand": { + "description": "The list of expands set for the search request. Expands are optional.", + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "category_product_assignment": { + "description": "

Document representing a category product assignment.

", + "properties": { + "catalog_id": { + "description": "The id of the catalog.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "category_id": { + "description": "The id of the category.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "creation_date": { + "format": "date-time", + "type": "string" + }, + "last_modified": { + "format": "date-time", + "type": "string" + }, + "link": { + "description": "The URL used to get the product category assignment.", + "type": "string" + }, + "owning_catalog_name": { + "additionalProperties": { + "type": "string" + }, + "description": "The name of the catalog that owns the product.", + "format": "localized", + "type": "object" + }, + "position": { + "description": "The position of product category assignment.", + "format": "double", + "type": "number" + }, + "product": { + "$ref": "#/components/schemas/product" + }, + "product_id": { + "description": "The id of the Product.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "product_name": { + "additionalProperties": { + "type": "string" + }, + "description": "The name of the product.", + "format": "localized", + "type": "object" + } + } + }, + "category_product_assignment_search_request": { + "description": "

Document representing product_search_request

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "maximum": 200, + "minimum": 1, + "type": "integer" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "The list of expansions that can be applied:\n
    \n
  • product_base - String - This expand will enable retrieval of the following basic Product information:

    \n \t
      \n \t\t
    • brand
    • \n \t
    • ean
    • \n
    • link
    • \n \t
    • long_description
    • \n
    • manufacturer_name
    • \n
    • manufacturer_sku
    • \n \t\t
    • name
    • \n
    • page_description
    • \n
    • page_keywords
    • \n
    • page_title
    • \n
    • searchable
    • \n \t
    • short_description
    • \n
    • type
    • \n
    • unit
    • \n \t
    • upc
    • \n \t
  • \n
", + "items": { + "type": "string" + }, + "type": "array" + }, + "query": { + "$ref": "#/components/schemas/query" + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/components/schemas/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "query" + ] + }, + "category_product_assignment_search_result": { + "description": "

Document representing a product search result.

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. This array can be empty.", + "items": { + "$ref": "#/components/schemas/category_product_assignment" + }, + "type": "array" + }, + "next": { + "$ref": "#/components/schemas/result_page" + }, + "previous": { + "$ref": "#/components/schemas/result_page" + }, + "query": { + "$ref": "#/components/schemas/query" + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/components/schemas/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "category_search_result": { + "description": "

Document representing a catalog search result.

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. Can be empty.", + "items": { + "$ref": "#/components/schemas/category" + }, + "type": "array" + }, + "next": { + "$ref": "#/components/schemas/result_page" + }, + "previous": { + "$ref": "#/components/schemas/result_page" + }, + "query": { + "$ref": "#/components/schemas/query" + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/components/schemas/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "code_version": { + "description": "

Document representing a code version

", + "properties": { + "activation_time": { + "description": "The code version activation time.", + "format": "date-time", + "type": "string" + }, + "active": { + "description": "Use this method to determine, if this code version is currently active.", + "type": "boolean" + }, + "cartridges": { + "description": "A list containing the names of all cartridges participating in this code version.", + "items": { + "type": "string" + }, + "type": "array" + }, + "compatibility_mode": { + "description": "The code version compatibility mode.", + "type": "string" + }, + "id": { + "description": "The code version id.", + "type": "string" + }, + "last_modification_time": { + "description": "The last time, when the code version was changed.", + "format": "date-time", + "type": "string" + }, + "rollback": { + "description": "Use this method to determine, if this code version is the current rollback version.", + "type": "boolean" + }, + "total_size": { + "description": "Returns the total size of the file system content of this code version in bytes.", + "format": "int64", + "type": "integer" + }, + "web_dav_url": { + "description": "Returns the HTTPS based WebDAV URL that can be used to access the code version resources.", + "type": "string" + } + } + }, + "code_version_result": { + "description": "

Result document containing an array of code versions.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "description": "The array of code versions", + "items": { + "$ref": "#/components/schemas/code_version" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "content_asset": { + "description": "

Document representing a content asset.

", + "properties": { + "c_Year": { + "x-label": { + "default": "Year" + }, + "type": "string" + }, + "c_body": { + "additionalProperties": { + "$ref": "#/components/schemas/markup_text" + }, + "format": "localized", + "x-label": { + "default": "Body" + }, + "type": "object" + }, + "c_customCSSFile": { + "$ref": "#/components/schemas/media_file" + }, + "classification_folder_id": { + "description": "The ID of the classification folder. It is only part of the response, if the assignment from this content asset to the folder is marked as 'default'. The property is read-only. To set the classification folder just create/update an assignment between this content asset and a folder and mark it as 'default'. See details in /libraries/{library_id}/folder_assignments/{content_id}/{folder_id} resource.", + "type": "string" + }, + "classification_folder_link": { + "description": "The link to the classification folder. It is only part of the response, if the assignment from this content asset to the folder is marked as 'default'. The property is read-only. To set the classification folder just create/update an assignment between this content asset and a folder and mark it as 'default'. See details in /libraries/{library_id}/folder_assignments/{content_id}/{folder_id} resource.", + "type": "string" + }, + "creation_date": { + "description": "Returns the value of attribute 'creationDate'.", + "format": "date-time", + "x-label": { + "default": "Creation Date" + }, + "readOnly": true, + "type": "string" + }, + "description": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized content asset description.", + "format": "localized", + "x-label": { + "default": "Description" + }, + "type": "object" + }, + "id": { + "description": "The id of the content asset.", + "x-label": { + "default": "ID" + }, + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "last_modified": { + "description": "Returns the value of attribute 'lastModified'.", + "format": "date-time", + "x-label": { + "default": "Last Modified" + }, + "readOnly": true, + "type": "string" + }, + "link": { + "description": "The link to the content asset resource.", + "type": "string" + }, + "name": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized content asset name.", + "format": "localized", + "x-label": { + "default": "Name" + }, + "type": "object" + }, + "online": { + "additionalProperties": { + "type": "boolean" + }, + "description": "Is the asset online?", + "format": "site-specific", + "x-label": { + "default": "Online" + }, + "type": "object" + }, + "page_description": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized content asset page description.", + "format": "localized", + "x-label": { + "default": "Page Description" + }, + "type": "object" + }, + "page_keywords": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized content asset page keywords.", + "format": "localized", + "x-label": { + "default": "Page Keywords" + }, + "type": "object" + }, + "page_title": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized content asset page title.", + "format": "localized", + "x-label": { + "default": "Page Title" + }, + "type": "object" + }, + "page_url": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized content asset page url.", + "format": "localized", + "x-label": { + "default": "Page URL" + }, + "type": "object" + }, + "searchable": { + "additionalProperties": { + "type": "boolean" + }, + "description": "Is the asset searchable?", + "format": "site-specific", + "type": "object" + }, + "site_map_change_frequency": { + "additionalProperties": { + "enum": [ + "always", + "daily", + "hourly", + "monthly", + "never", + "weekly", + "yearly" + ], + "x-enum-labels": [ + { + "default": "always" + }, + { + "default": "daily" + }, + { + "default": "hourly" + }, + { + "default": "monthly" + }, + { + "default": "never" + }, + { + "default": "weekly" + }, + { + "default": "yearly" + } + ], + "type": "string" + }, + "description": "The content assets change frequency needed for the sitemap creation (always, hourly, daily, weekly, monthly, yearly, never).", + "format": "site-specific", + "x-label": { + "default": "Change Frequency" + }, + "type": "object" + }, + "site_map_included": { + "additionalProperties": { + "enum": [ + 0, + 1 + ], + "x-enum-labels": [ + { + "default": "NO" + }, + { + "default": "YES" + } + ], + "format": "int32", + "maximum": 1, + "minimum": 0, + "type": "integer" + }, + "description": "The status if the content asset is included into the sitemap (either 0 or 1).", + "format": "site-specific", + "x-label": { + "default": "Included" + }, + "type": "object" + }, + "site_map_priority": { + "additionalProperties": { + "format": "double", + "maximum": 1, + "type": "number" + }, + "description": "The content assets priority needed for the sitemap creation (0.0 for no priority defined).", + "format": "site-specific", + "x-label": { + "default": "Priority" + }, + "type": "object" + }, + "template": { + "description": "The rendering template.", + "x-label": { + "default": "Rendering Template" + }, + "type": "string" + } + } + }, + "content_asset_result": { + "description": "

Result document containing an array of content assets.

", + "properties": { + "count": { + "description": "The number of search results in the current page.", + "format": "int32", + "type": "integer" + }, + "data": { + "description": "The returned objects.", + "items": { + "type": "object" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. This array can be empty.", + "items": { + "$ref": "#/components/schemas/content_asset" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search result to include in the document.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of search results.", + "format": "int32", + "type": "integer" + } + } + }, + "content_folder": { + "description": "

Document representing a content folder.

", + "properties": { + "c_customCSSFile": { + "$ref": "#/components/schemas/media_file" + }, + "creation_date": { + "description": "Returns the value of attribute 'creationDate'.", + "format": "date-time", + "x-label": { + "default": "Creation Date" + }, + "readOnly": true, + "type": "string" + }, + "description": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized content folder description.", + "format": "localized", + "x-label": { + "default": "Description" + }, + "type": "object" + }, + "id": { + "description": "The id of the content folder.", + "x-label": { + "default": "ID" + }, + "maxLength": 256, + "type": "string" + }, + "last_modified": { + "description": "Returns the value of attribute 'lastModified'.", + "format": "date-time", + "x-label": { + "default": "Last Modified" + }, + "readOnly": true, + "type": "string" + }, + "link": { + "description": "The link to the content folder resource.", + "type": "string" + }, + "name": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized content folder name.", + "format": "localized", + "x-label": { + "default": "Name" + }, + "type": "object" + }, + "online": { + "description": "A flag indicating whether the folder in online (default is false).", + "x-label": { + "default": "Online" + }, + "type": "boolean" + }, + "page_description": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized content folder page description.", + "format": "localized", + "x-label": { + "default": "Page Description" + }, + "type": "object" + }, + "page_keywords": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized content folder page keywords.", + "format": "localized", + "x-label": { + "default": "Page Keywords" + }, + "type": "object" + }, + "page_title": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized content folder page title.", + "format": "localized", + "x-label": { + "default": "Page Title" + }, + "type": "object" + }, + "page_url": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized content folder page URL.", + "format": "localized", + "x-label": { + "default": "Page URL" + }, + "type": "object" + }, + "parent_folder_id": { + "description": "The id of the parent content folder.", + "type": "string" + }, + "parent_link": { + "description": "The URL to the parent content folder.", + "type": "string" + }, + "sub_folders_link": { + "description": "The URL to list the content sub-folders.", + "type": "string" + }, + "template": { + "description": "The rendering template.", + "x-label": { + "default": "Rendering Template" + }, + "type": "string" + } + } + }, + "content_folder_assignment": { + "description": "

Document representing a content folder assignment.

", + "properties": { + "content_id": { + "description": "The content id.", + "maxLength": 256, + "type": "string" + }, + "content_link": { + "description": "The content link.", + "type": "string" + }, + "default": { + "description": "A flag indicating whether the assignment is the default one.", + "type": "boolean" + }, + "folder_id": { + "description": "The folder id.", + "maxLength": 256, + "type": "string" + }, + "folder_link": { + "description": "The folder link.", + "type": "string" + }, + "position": { + "description": "The position of the content asset in the folder.", + "format": "double", + "minimum": 0, + "type": "number" + } + } + }, + "content_folder_result": { + "description": "

Result document containing an array of content folders.

", + "properties": { + "count": { + "description": "The number of search results in the current page.", + "format": "int32", + "type": "integer" + }, + "data": { + "description": "The returned objects.", + "items": { + "type": "object" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. This array can be empty.", + "items": { + "$ref": "#/components/schemas/content_folder" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search result to include in the document.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of search results.", + "format": "int32", + "type": "integer" + } + } + }, + "content_sub_folder_result": { + "description": "

Result document containing an array of content subfolders.

", + "properties": { + "count": { + "description": "The number of search results in the current page.", + "format": "int32", + "type": "integer" + }, + "data": { + "description": "The returned objects.", + "items": { + "type": "object" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. This array can be empty.", + "items": { + "$ref": "#/components/schemas/content_folder" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search result to include in the document.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of search results.", + "format": "int32", + "type": "integer" + } + } + }, + "coupon": { + "description": "

Document representing a coupon.

", + "properties": { + "case_insensitive": { + "description": "True if a coupon is case insensitive; false otherwise. This attribute on the coupon can not be\n modified after the coupon has been created. If an attempt was made to modify this the system would return\n CouponUpdateForbiddenException", + "type": "boolean" + }, + "coupon_id": { + "description": "The id of the coupon.", + "x-label": { + "default": "ID" + }, + "maxLength": 256, + "minLength": 1, + "readOnly": true, + "type": "string" + }, + "creation_date": { + "description": "Returns the value of attribute 'creationDate'.", + "format": "date-time", + "x-label": { + "default": "Creation Date" + }, + "readOnly": true, + "type": "string" + }, + "description": { + "description": "The description of the coupon.", + "maxLength": 4000, + "type": "string" + }, + "enabled": { + "description": "A flag indicating whether the coupon is enabled.", + "x-label": { + "default": "Enabled" + }, + "type": "boolean" + }, + "exported_code_count": { + "description": "The number of coupon codes attached to the coupon that have been issued (request search only).", + "format": "int32", + "type": "integer" + }, + "last_modified": { + "description": "Returns the value of attribute 'lastModified'.", + "format": "date-time", + "x-label": { + "default": "Last Modified" + }, + "readOnly": true, + "type": "string" + }, + "link": { + "description": "A link to the coupon.", + "type": "string" + }, + "multiple_codes_per_basket": { + "description": "True if a coupon with multiple codes can have different codes used on the same basket or order. If the coupon\n type does not support this configuration, this will return false.", + "type": "boolean" + }, + "redemption_count": { + "description": "The number of times the coupon has been redeemed (request search only).", + "format": "int32", + "type": "integer" + }, + "redemption_limits": { + "$ref": "#/components/schemas/redemption_limits" + }, + "single_code": { + "description": "Single coupon code, only valid for Single Code type", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "system_codes_config": { + "$ref": "#/components/schemas/coupon_system_code_config" + }, + "total_codes_count": { + "description": "The total number of coupon codes associated with this coupon", + "format": "int32", + "type": "integer" + }, + "type": { + "description": "The type of the coupon code.", + "enum": [ + "single_code", + "multiple_codes", + "system_codes" + ], + "x-enum-labels": [ + { + "default": "Coupon with multiple fixed codes" + }, + { + "default": "Coupon with single fixed code" + }, + { + "default": "Coupon with system generated codes" + } + ], + "x-label": { + "default": "Type" + }, + "readOnly": true, + "type": "string" + } + } + }, + "coupon_code": { + "description": "

A coupon code with accompanying stats for redemptions and issued.

", + "properties": { + "code": { + "description": "The code used to redeem the coupon", + "type": "string" + }, + "issued": { + "description": "Flag indicating if the coupon code has been issued", + "type": "boolean" + }, + "redemption_count": { + "description": "The count of the number of redemptions associated with the code", + "format": "int32", + "type": "integer" + } + } + }, + "coupon_codes": { + "description": "

Document representing a set of coupon codes.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "description": "The collection of coupon codes", + "items": { + "$ref": "#/components/schemas/coupon_code" + }, + "type": "array" + }, + "expand": { + "description": "The list of expands set for the search request. Expands are optional.", + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "coupon_multi_codes_request": { + "description": "

A request object to add and remove coupon codes from a document

", + "properties": { + "codes": { + "description": "The list of coupon codes to add or delete", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "codes" + ] + }, + "coupon_redemption": { + "description": "

A redemption record returned from the coupon redemption resources

", + "properties": { + "code": { + "description": "The coupon code that was redeemed", + "type": "string" + }, + "coupon_id": { + "description": "The coupon id that was redeemed", + "type": "string" + }, + "creation_date": { + "format": "date-time", + "type": "string" + }, + "customer_email": { + "description": "The customer email that was used to redeem it", + "type": "string" + }, + "last_modified": { + "format": "date-time", + "type": "string" + }, + "order_no": { + "description": "The order number where the redemption occurred", + "type": "string" + }, + "view_order_url": { + "description": "A URL able to access the order", + "type": "string" + } + } + }, + "coupon_redemption_search_result": { + "description": "

The result of the coupon redemption search

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The hits from the search", + "items": { + "$ref": "#/components/schemas/coupon_redemption" + }, + "type": "array" + }, + "next": { + "$ref": "#/components/schemas/result_page" + }, + "previous": { + "$ref": "#/components/schemas/result_page" + }, + "query": { + "$ref": "#/components/schemas/query" + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/components/schemas/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "coupon_search_result": { + "description": "

Document representing a coupon search result.

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. Can be empty.", + "items": { + "$ref": "#/components/schemas/coupon" + }, + "type": "array" + }, + "next": { + "$ref": "#/components/schemas/result_page" + }, + "previous": { + "$ref": "#/components/schemas/result_page" + }, + "query": { + "$ref": "#/components/schemas/query" + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/components/schemas/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "coupon_system_code_config": { + "properties": { + "code_prefix": { + "description": "The code prefix for system-generated coupon codes.", + "x-label": { + "default": "Code Prefix" + }, + "type": "string" + }, + "number_of_codes": { + "description": "The number of system coupon codes that can be issued.", + "format": "int32", + "type": "integer" + } + } + }, + "coupons": { + "description": "

Document representing an unfiltered list of coupons.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "$ref": "#/components/schemas/coupon" + }, + "type": "array" + }, + "expand": { + "description": "The list of expands set for the search request. Expands are optional.", + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "credentials": { + "description": "

Document representing the credentials of a customer.

", + "properties": { + "enabled": { + "description": "A flag indicating whether the customer is enabled and can log.", + "type": "boolean" + }, + "locked": { + "description": "A flag indicating whether the customer account is locked.", + "type": "boolean" + }, + "login": { + "description": "The login of the customer.", + "maxLength": 256, + "type": "string" + }, + "password_question": { + "description": "The password question.", + "maxLength": 256, + "type": "string" + } + }, + "required": [ + "login" + ] + }, + "cscpermissions": { + "properties": { + "module": { + "$ref": "#/components/schemas/module_permissions" + }, + "module_link": { + "type": "string" + }, + "types": { + "items": { + "type": "string" + }, + "type": "array" + } + } + }, + "custom_log_settings": { + "description": "

Document representing custom logging settings.

", + "properties": { + "debug_permitted": { + "description": "False if the current instance is production.", + "type": "boolean" + }, + "debug_to_file": { + "description": "Indicates if custom debug logs are written to file.", + "type": "boolean" + }, + "email_to": { + "description": "Email addresses for fatal log messages with a maximum length of 1000 characters.", + "maxLength": 1000, + "type": "string" + }, + "error_to_file": { + "description": "Indicates if custom error logs are written to file.", + "type": "boolean" + }, + "fatal_to_file": { + "description": "Indicates if custom fatal logs are written to file.", + "type": "boolean" + }, + "info_to_file": { + "description": "Indicates if custom info logs are written to file.", + "type": "boolean" + }, + "log_categories": { + "description": "Defined custom log categories.", + "items": { + "$ref": "#/components/schemas/log_category" + }, + "type": "array" + }, + "root_level": { + "description": "Custom root category log level.", + "type": "string" + }, + "warn_to_file": { + "description": "Indicates if custom warn logs are written to file.", + "type": "boolean" + } + } + }, + "custom_object": { + "description": "

Document representing a custom object that contains all defined custom attributes for its object type.

", + "properties": { + "key_property": { + "description": "The name of the key property for the custom object. This is ignored in input documents.", + "type": "string" + }, + "key_value_integer": { + "description": "The id of the custom object when the type of the key is Integer. This is ignored in input documents.", + "format": "int32", + "type": "integer" + }, + "key_value_string": { + "description": "The id of the custom object when the type of the key is String. This is ignored in input documents.", + "type": "string" + }, + "object_type": { + "description": "The id of the object type. This is ignored in input documents.", + "type": "string" + } + } + }, + "custom_object_search_result": { + "description": "

Document representing a custom object search result.

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. May be empty.", + "items": { + "$ref": "#/components/schemas/custom_object" + }, + "type": "array" + }, + "next": { + "$ref": "#/components/schemas/result_page" + }, + "previous": { + "$ref": "#/components/schemas/result_page" + }, + "query": { + "$ref": "#/components/schemas/query" + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/components/schemas/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "customer": { + "description": "

Document representing a customer.

", + "properties": { + "birthday": { + "description": "The customer's birthday.", + "format": "date", + "x-label": { + "default": "Birthday" + }, + "type": "string" + }, + "c_familyStatus": { + "x-label": { + "default": "Family Status" + }, + "type": "string" + }, + "company_name": { + "description": "The customer's company name.", + "x-label": { + "default": "Company" + }, + "maxLength": 256, + "type": "string" + }, + "creation_date": { + "description": "Returns the value of attribute 'creationDate'.", + "format": "date-time", + "x-label": { + "default": "Creation Date" + }, + "readOnly": true, + "type": "string" + }, + "credentials": { + "$ref": "#/components/schemas/credentials" + }, + "customer_id": { + "description": "The customer's id. Both registered and guest customers have a\n customer id.", + "maxLength": 28, + "type": "string" + }, + "customer_no": { + "description": "The customer's number.", + "x-label": { + "default": "Customer No." + }, + "maxLength": 100, + "type": "string" + }, + "email": { + "description": "The customer's email address.", + "format": "email", + "x-label": { + "default": "Email" + }, + "maxLength": 256, + "type": "string" + }, + "fax": { + "description": "The fax number to use for the customer.\n The length is restricted to 32 characters.", + "x-label": { + "default": "Fax Number" + }, + "maxLength": 32, + "type": "string" + }, + "first_name": { + "description": "The customer's first name.", + "x-label": { + "default": "First Name" + }, + "maxLength": 256, + "type": "string" + }, + "gender": { + "description": "The customer's gender.", + "enum": [ + 1, + 2 + ], + "x-enum-labels": [ + { + "default": "Male" + }, + { + "default": "Female" + } + ], + "format": "int32", + "x-label": { + "default": "Gender" + }, + "type": "integer" + }, + "global_party_id": { + "description": "The Global Party ID is set by Customer 360 and identifies a person across multiple systems.", + "type": "string" + }, + "job_title": { + "description": "The customer's job title.", + "x-label": { + "default": "Job Title" + }, + "maxLength": 256, + "type": "string" + }, + "last_login_time": { + "description": "The last login time of the customer.", + "format": "date-time", + "x-label": { + "default": "Last Login Time" + }, + "readOnly": true, + "type": "string" + }, + "last_modified": { + "description": "Returns the value of attribute 'lastModified'.", + "format": "date-time", + "x-label": { + "default": "Last Modified" + }, + "readOnly": true, + "type": "string" + }, + "last_name": { + "description": "The customer's last name.", + "x-label": { + "default": "Last Name" + }, + "maxLength": 256, + "type": "string" + }, + "last_visit_time": { + "description": "The last visit time of the customer.", + "format": "date-time", + "x-label": { + "default": "Last Visit Time" + }, + "readOnly": true, + "type": "string" + }, + "phone_business": { + "description": "The customer's business phone number.", + "x-label": { + "default": "Business Phone" + }, + "maxLength": 32, + "type": "string" + }, + "phone_home": { + "description": "The customer's home phone number.", + "x-label": { + "default": "Home Phone" + }, + "maxLength": 32, + "type": "string" + }, + "phone_mobile": { + "description": "The customer's mobile phone number.", + "x-label": { + "default": "Mobile Phone" + }, + "maxLength": 32, + "type": "string" + }, + "preferred_locale": { + "description": "The customer's preferred locale, formatted with a hyphen. (For example: en-US)\n If the request uses an underscore, as with the Java locale format, the stored value is converted to a hyphen.\n (For example: en_US is stored as en-US)", + "x-label": { + "default": "Preferred Locale" + }, + "readOnly": true, + "type": "string" + }, + "previous_login_time": { + "description": "The time when the customer logged in previously.", + "format": "date-time", + "type": "string" + }, + "previous_visit_time": { + "description": "The time when the customer previously visited the store.", + "format": "date-time", + "type": "string" + }, + "primary_address": { + "$ref": "#/components/schemas/customer_address" + }, + "salutation": { + "description": "The customer's salutation.", + "x-label": { + "default": "Salutation" + }, + "maxLength": 256, + "type": "string" + }, + "second_name": { + "description": "The customer's second name.", + "x-label": { + "default": "Second Name" + }, + "maxLength": 256, + "type": "string" + }, + "suffix": { + "description": "The customer's suffix (for example, \"Jr.\" or \"Sr.\").", + "x-label": { + "default": "Name Suffix" + }, + "maxLength": 256, + "type": "string" + }, + "title": { + "description": "The customer's title (for example, \"Mrs\" or \"Mr\").", + "x-label": { + "default": "Title" + }, + "maxLength": 256, + "type": "string" + } + } + }, + "customer_address": { + "description": "

Document representing a customer address.

", + "properties": { + "address1": { + "description": "The customer's first address.", + "x-label": { + "default": "Address 1" + }, + "maxLength": 256, + "type": "string" + }, + "address2": { + "description": "The customer's second address value.", + "x-label": { + "default": "Address 2" + }, + "maxLength": 256, + "type": "string" + }, + "address_id": { + "description": "The customer address id.", + "x-label": { + "default": "Address ID" + }, + "maxLength": 256, + "type": "string" + }, + "city": { + "description": "The customer's city.", + "x-label": { + "default": "City" + }, + "maxLength": 256, + "type": "string" + }, + "company_name": { + "description": "The customer's company name.", + "x-label": { + "default": "Company" + }, + "maxLength": 256, + "type": "string" + }, + "country_code": { + "description": "The customer's two-character country code per ISO 3166-1 alpha-2.", + "enum": [ + "CN", + "FR", + "GB", + "IT", + "JP", + "US" + ], + "x-enum-labels": [ + { + "default": "China" + }, + { + "default": "France" + }, + { + "default": "United Kingdom" + }, + { + "default": "Italy" + }, + { + "default": "Japan" + }, + { + "default": "United States" + } + ], + "x-label": { + "default": "Country" + }, + "maxLength": 2, + "type": "string" + }, + "creation_date": { + "description": "Returns the value of attribute 'creationDate'.", + "format": "date-time", + "x-label": { + "default": "Creation Date" + }, + "readOnly": true, + "type": "string" + }, + "etag": { + "type": "string" + }, + "first_name": { + "description": "The customer's first name.", + "x-label": { + "default": "First Name" + }, + "maxLength": 256, + "type": "string" + }, + "full_name": { + "description": "The concatenation of the customer's first, middle, and last names and its suffix.", + "type": "string" + }, + "job_title": { + "description": "The customer's job title.", + "x-label": { + "default": "Job Title" + }, + "maxLength": 256, + "type": "string" + }, + "last_modified": { + "description": "Returns the value of attribute 'lastModified'.", + "format": "date-time", + "x-label": { + "default": "Last Modified" + }, + "readOnly": true, + "type": "string" + }, + "last_name": { + "description": "The customer's last name.", + "x-label": { + "default": "Last Name" + }, + "maxLength": 256, + "type": "string" + }, + "phone": { + "description": "The customer's phone number.", + "x-label": { + "default": "Contact Phone" + }, + "maxLength": 32, + "type": "string" + }, + "post_box": { + "description": "The customer's post box.", + "x-label": { + "default": "Post Box" + }, + "maxLength": 256, + "type": "string" + }, + "postal_code": { + "description": "The customer's postal code.", + "x-label": { + "default": "Postal Code" + }, + "maxLength": 256, + "type": "string" + }, + "salutation": { + "description": "The customer's salutation.", + "x-label": { + "default": "Salutation" + }, + "maxLength": 256, + "type": "string" + }, + "second_name": { + "description": "The customer's second name.", + "x-label": { + "default": "Second Name" + }, + "maxLength": 256, + "type": "string" + }, + "state_code": { + "description": "The customer's state.", + "x-label": { + "default": "State" + }, + "maxLength": 256, + "type": "string" + }, + "suffix": { + "description": "The customer's suffix.", + "x-label": { + "default": "Suffix" + }, + "maxLength": 256, + "type": "string" + }, + "suite": { + "description": "The customer's suite.", + "x-label": { + "default": "Suite No." + }, + "maxLength": 32, + "type": "string" + }, + "title": { + "description": "The customer's title.", + "x-label": { + "default": "Title" + }, + "maxLength": 256, + "type": "string" + } + }, + "required": [ + "address_id", + "country_code", + "last_name" + ] + }, + "customer_address_result": { + "description": "

Result document containing an array of customer addresses.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "description": "The array of customer address documents.", + "items": { + "$ref": "#/components/schemas/customer_address" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "customer_group": { + "description": "

Document representing a customer group

", + "properties": { + "creation_date": { + "description": "Returns the value of attribute 'creationDate'.", + "format": "date-time", + "x-label": { + "default": "Creation Date" + }, + "readOnly": true, + "type": "string" + }, + "description": { + "description": "The description for the customer group. This property is read-only for system groups.", + "x-label": { + "default": "Description" + }, + "type": "string" + }, + "id": { + "description": "The user specific identifier for the customer group, which must be unique across the organization. Property\n is read-only.", + "x-label": { + "default": "ID" + }, + "maxLength": 256, + "minLength": 1, + "readOnly": true, + "type": "string" + }, + "in_deletion": { + "description": "The deletion status of this customer group.", + "type": "boolean" + }, + "last_modified": { + "description": "Returns the value of attribute 'lastModified'.", + "format": "date-time", + "x-label": { + "default": "Last Modified" + }, + "readOnly": true, + "type": "string" + }, + "link": { + "description": "URL that is used to get this instance. This property is computed and cannot be modified.", + "type": "string" + }, + "member_count": { + "description": "The number of members in this customer group.", + "format": "int32", + "type": "integer" + }, + "rule": { + "$ref": "#/components/schemas/rule" + }, + "type": { + "description": "The type of the customer group. This property is read-only.", + "enum": [ + "system", + "dynamic", + "static" + ], + "type": "string" + } + } + }, + "customer_group_member": { + "description": "

Document representing a customer group member

", + "properties": { + "active": { + "description": "A flag indicating whether the customer is enabled and can log in.", + "type": "boolean" + }, + "c_familyStatus": { + "x-label": { + "default": "Family Status" + }, + "type": "string" + }, + "creation_date": { + "description": "Returns the value of attribute 'creationDate'.", + "format": "date-time", + "x-label": { + "default": "Creation Date" + }, + "readOnly": true, + "type": "string" + }, + "customer_link": { + "description": "The link to the customer resource.", + "maxLength": 256, + "type": "string" + }, + "customer_no": { + "description": "The customers number (id).", + "x-label": { + "default": "Customer No." + }, + "maxLength": 100, + "type": "string" + }, + "email": { + "description": "The customer's email address.", + "format": "email", + "x-label": { + "default": "Email" + }, + "maxLength": 256, + "type": "string" + }, + "first_name": { + "description": "The customer's first name.", + "x-label": { + "default": "First Name" + }, + "maxLength": 256, + "type": "string" + }, + "last_modified": { + "description": "Returns the value of attribute 'lastModified'.", + "format": "date-time", + "x-label": { + "default": "Last Modified" + }, + "readOnly": true, + "type": "string" + }, + "last_name": { + "description": "The customer's last name.", + "x-label": { + "default": "Last Name" + }, + "maxLength": 256, + "type": "string" + }, + "link": { + "description": "The link to the customer group member resource.", + "maxLength": 256, + "type": "string" + }, + "login": { + "description": "The login of the customer.", + "maxLength": 256, + "type": "string" + } + } + }, + "customer_group_member_search_result": { + "description": "

Document representing a customer group member search result.

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. Can be empty.", + "items": { + "$ref": "#/components/schemas/customer_group_member" + }, + "type": "array" + }, + "next": { + "$ref": "#/components/schemas/result_page" + }, + "previous": { + "$ref": "#/components/schemas/result_page" + }, + "query": { + "$ref": "#/components/schemas/query" + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/components/schemas/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "customer_group_members": { + "description": "

Document representing an unfiltered list of customer groups.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "$ref": "#/components/schemas/customer_group_member" + }, + "type": "array" + }, + "expand": { + "description": "The list of expands set for the search request. Expands are optional.", + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "customer_group_search_result": { + "description": "

Document representing a customer group search result.

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. Can be empty.", + "items": { + "$ref": "#/components/schemas/customer_group" + }, + "type": "array" + }, + "next": { + "$ref": "#/components/schemas/result_page" + }, + "previous": { + "$ref": "#/components/schemas/result_page" + }, + "query": { + "$ref": "#/components/schemas/query" + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/components/schemas/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "customer_groups": { + "description": "

Document representing an unfiltered list of customer groups.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "$ref": "#/components/schemas/customer_group" + }, + "type": "array" + }, + "expand": { + "description": "The list of expands set for the search request. Expands are optional.", + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "customer_list": { + "description": "

Document representing a customer list.

", + "properties": { + "id": { + "description": "The id of the customer list.", + "minLength": 1, + "type": "string" + }, + "preferences": { + "$ref": "#/components/schemas/customer_list_preferences" + } + }, + "required": [ + "id" + ] + }, + "customer_list_link": { + "description": "

Document representing a link to a customer list.

", + "properties": { + "customer_list_id": { + "description": "The customerlist id.", + "type": "string" + }, + "link": { + "description": "The target of the link.", + "type": "string" + }, + "title": { + "additionalProperties": { + "type": "string" + }, + "description": "The link title.", + "format": "localized", + "type": "object" + } + } + }, + "customer_list_preferences": { + "description": "

Document representing customer list preferences:\n

    \n
  • data-retention-age
  • \n
  • customerno-sequence-enabled
  • \n
  • lockout-enabled
  • \n
  • max-failed-logins
  • \n
  • lockout-effective-period
  • \n
  • login-attempt-reset-time
  • \n
  • min-password-length
  • \n
  • min-password-special-chars
  • \n
  • force-password-contains-alpha
  • \n
  • force-password-contains-numeric
  • \n
  • force-password-mixed-case
  • \n
  • max-password-age
  • \n
  • max-password-reset-token-age
  • \n

", + "properties": { + "customer_no_sequence_enabled": { + "description": "Used to determine if the customer number sequence is separated by customer list.", + "type": "boolean" + }, + "data_retention_age": { + "description": "The number days to retain customer data (null or 0 <= x <= 99999).", + "format": "int32", + "type": "integer" + }, + "force_password_contains_alpha": { + "description": "Used to determine if the password must contain an alphabetic character.", + "type": "boolean" + }, + "force_password_contains_numeric": { + "description": "Used to determine if the password must contain a numeric character.", + "type": "boolean" + }, + "force_password_mixed_case": { + "description": "Used to determine if the password must be mixed case.", + "type": "boolean" + }, + "lockout_effective_period": { + "description": "The customer lockout period in minutes (one of 1, 30, 60, 120, 1440, 14400).", + "format": "int32", + "type": "integer" + }, + "lockout_enabled": { + "description": "Used to determine if customers can be locked out.", + "type": "boolean" + }, + "login_attempt_reset_time": { + "description": "The period after which the customer login attempt count resets in minutes (one of 0, 5, 30, 60, 120, 1440).\n\n 1440)", + "format": "int32", + "type": "integer" + }, + "max_failed_logins": { + "description": "The maximum number of failed logins before a customer lockout can occur (1 <= x <= 200).", + "format": "int32", + "type": "integer" + }, + "max_password_age": { + "description": "The maximum age of the customer password in days (one of 7, 10, 14, 30, 60, 90, 365000).", + "format": "int32", + "type": "integer" + }, + "max_password_reset_token_age": { + "description": "The maximum age of the customer password reset token in minutes (one of 30, 60, 120, 360, 720, 1440).", + "format": "int32", + "type": "integer" + }, + "min_password_length": { + "description": "The minimum number of characters required for a customer password (one of 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,\n 13, 14, 15, 20).\n\n 12, 13, 14, 15, 20)", + "format": "int32", + "type": "integer" + }, + "min_password_special_chars": { + "description": "The minimum number of special characters required within a customer password (one of 0, 1, 2, 3, 4, 5).", + "format": "int32", + "type": "integer" + } + }, + "required": [ + "customer_no_sequence_enabled", + "data_retention_age", + "force_password_contains_alpha", + "force_password_contains_numeric", + "force_password_mixed_case", + "lockout_effective_period", + "lockout_enabled", + "login_attempt_reset_time", + "max_failed_logins", + "max_password_age", + "max_password_reset_token_age", + "min_password_length", + "min_password_special_chars" + ] + }, + "customer_search_hit": { + "description": "

Document representing a customer search hit.

", + "properties": { + "data": { + "$ref": "#/components/schemas/customer" + }, + "relevance": { + "description": "The hit's relevance score.", + "format": "double", + "type": "number" + } + } + }, + "customer_search_result": { + "description": "

Document representing a customer search result.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "The list of expands set. Can be empty.", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. Can be empty.", + "items": { + "$ref": "#/components/schemas/customer_search_hit" + }, + "type": "array" + }, + "next": { + "$ref": "#/components/schemas/result_page" + }, + "previous": { + "$ref": "#/components/schemas/result_page" + }, + "query": { + "$ref": "#/components/schemas/query" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "sorts": { + "items": { + "$ref": "#/components/schemas/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "ecdn_log_fetch_request": { + "description": "

Input-Document for requesting a Log-Fetch process.

", + "properties": { + "end_time": { + "description": "Optional end time for log file entries, in Unix time stamp format. Must not be more than 1 hour after the start time. If not passed, a one hour time frame is assumed for the log file.", + "format": "date-time", + "type": "string" + }, + "start_time": { + "description": "Start time for log file entries, in Unix time stamp format. Must not be more than 7 days in the past", + "format": "date-time", + "type": "string" + }, + "zone_id": { + "description": "zone id is optional but if it is provided then zone_name is not considered", + "type": "string" + }, + "zone_name": { + "description": "The internationalized domain name representation (from RFC 3490) of the zone name", + "type": "string" + } + }, + "required": [ + "start_time", + "zone_name" + ] + }, + "ecdn_log_fetch_response": { + "description": "

Response object, providing the status of the current log fetch request.

", + "properties": { + "id": { + "description": "ID of the log fetch request", + "type": "string" + }, + "link": { + "description": "HTTPS Download link to the fetched log file, which has a lifetime of 30 minutes. This link will only appear, if the current status of the log fetching is 'finished'.", + "type": "string" + }, + "message": { + "description": "message for the log fetch request", + "type": "string" + }, + "status": { + "description": "Current status of the log fetch request", + "enum": [ + "pending", + "running", + "finished" + ], + "type": "string" + } + } + }, + "empty_body": {}, + "filter": { + "description": "

Document representing a filter.\n \n A filter contains a set of objects that define criteria used to select records. A filter\n can contain one of the following:\n

    \n
  • term_filter - matches records where a field (or fields) exactly match some simple value (including null).
  • \n
  • range_filter - matches records where a field value lies in a specified range.
  • \n
  • query_filter - provides filtering based on a query.
  • \n
  • bool_filter - provides filtering of records using a set of filters combined with a specified operator.
  • \n

" + }, + "filtered_query": { + "description": "

A filtered query allows to filter the result of a (possibly complex) query using a (possibly complex) filter.\n \n Example: \n

 \n    query : {\n        filtered_query: {\n            query: {\n                text_query: { fields: [\"coupon_id\"], search_phrase: \"disabled\" }\n            },\n            filter: {\n                term_filter: {\n                    field: \"enabled\", operator: \"is\", values: [ false ]\n                }\n            }\n        }\n    }\n  

", + "properties": { + "filter": { + "$ref": "#/components/schemas/filter" + }, + "query": { + "$ref": "#/components/schemas/query" + } + }, + "required": [ + "filter", + "query" + ] + }, + "functional_permission": { + "description": "

Document representing a functional permission.

", + "properties": { + "description": { + "additionalProperties": { + "type": "string" + }, + "description": "The description of the functional permission.", + "format": "localized", + "type": "object" + }, + "display_name": { + "additionalProperties": { + "type": "string" + }, + "description": "The display name of the functional permission.", + "format": "localized", + "type": "object" + }, + "name": { + "description": "The name of the functional permission.", + "type": "string" + }, + "type": { + "description": "The permission type.", + "type": "string" + }, + "values": { + "description": "The list of possible values for the functional permission, e.g. ACCESS or READONLY.", + "items": { + "type": "string" + }, + "type": "array" + } + } + }, + "functional_permissions": { + "description": "

Document representing the available functional permissions.

", + "properties": { + "organization": { + "description": "The collection of available organization functional permissions.", + "items": { + "$ref": "#/components/schemas/functional_permission" + }, + "type": "array" + }, + "scopes": { + "description": "The available functional permission scopes (e.g. organization, site).", + "items": { + "type": "string" + }, + "type": "array" + }, + "site": { + "description": "The list of available site functional permissions.", + "items": { + "$ref": "#/components/schemas/functional_permission" + }, + "type": "array" + } + } + }, + "gift_certificate": { + "description": "

Document representing a gift certificate

", + "properties": { + "amount": { + "$ref": "#/components/schemas/money" + }, + "balance": { + "$ref": "#/components/schemas/money" + }, + "creation_date": { + "description": "Returns the value of attribute 'creationDate'.", + "format": "date-time", + "x-label": { + "default": "Creation Date" + }, + "readOnly": true, + "type": "string" + }, + "description": { + "description": "The description of the gift certificate.", + "x-label": { + "default": "Description" + }, + "maxLength": 4000, + "type": "string" + }, + "enabled": { + "description": "The enabled flag of the gift certificate.", + "x-label": { + "default": "Enabled" + }, + "type": "boolean" + }, + "last_modified": { + "description": "Returns the value of attribute 'lastModified'.", + "format": "date-time", + "x-label": { + "default": "Last Modified" + }, + "readOnly": true, + "type": "string" + }, + "link": { + "description": "The URL to get the gift certificate.\n This is a computed attribute and cannot be modified.", + "type": "string" + }, + "masked_gift_certificate_code": { + "description": "The masked gift certificate code with all but the\n last 4 characters replaced with a '*' character.\n This is a computed attribute and cannot be modified.", + "type": "string" + }, + "merchant_id": { + "description": "The merchant ID of the gift certificate.\n This is a unique attribute.\n This is a computed attribute and cannot be modified.\n This is used to get, update and the delete gift certificates.", + "x-label": { + "default": "Merchant ID" + }, + "type": "string" + }, + "message": { + "description": "The message to the recipient of the gift certificate.", + "x-label": { + "default": "Message" + }, + "maxLength": 4000, + "type": "string" + }, + "order_no": { + "description": "The order number of the gift certificate.", + "x-label": { + "default": "Order Number" + }, + "type": "string" + }, + "recipient_email": { + "description": "The email address of the recipient of the gift certificate.", + "x-label": { + "default": "Recipient Email" + }, + "type": "string" + }, + "recipient_name": { + "description": "The recipient of the gift certificate.", + "x-label": { + "default": "Recipient Name" + }, + "maxLength": 256, + "type": "string" + }, + "sender_name": { + "description": "The sender of the gift certificate.", + "x-label": { + "default": "Sender Name" + }, + "maxLength": 256, + "type": "string" + }, + "status": { + "description": "The status of the gift certificate.\n While creating a gift certificate, user can set the status\n to either \"pending\" or \"issued\" only.", + "enum": [ + "issued", + "partially_redeemed", + "pending", + "redeemed" + ], + "x-label": { + "default": "Status" + }, + "type": "string" + }, + "transactions": { + "description": "The transactions of the gift certificate. This attribute is only available as part of the response.", + "items": { + "$ref": "#/components/schemas/account_transaction" + }, + "type": "array" + } + } + }, + "gift_certificate_search_result": { + "description": "

Document representing a gift certificate search result.

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. Can be empty.", + "items": { + "$ref": "#/components/schemas/gift_certificate" + }, + "type": "array" + }, + "next": { + "$ref": "#/components/schemas/result_page" + }, + "previous": { + "$ref": "#/components/schemas/result_page" + }, + "query": { + "$ref": "#/components/schemas/query" + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/components/schemas/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "gift_certificates": { + "description": "

Document representing an unfiltered list of gift certificates.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "$ref": "#/components/schemas/gift_certificate" + }, + "type": "array" + }, + "expand": { + "description": "The list of expands set for the search request. Expands are optional.", + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "image_group": { + "description": "

Document representing an image group containing a list of images for a particular view type and an optional variation value.

", + "properties": { + "images": { + "description": "The images of the image group.", + "items": { + "$ref": "#/components/schemas/media_file" + }, + "type": "array" + }, + "variation_attributes": { + "description": "Returns a list of variation attributes applying to this image group.", + "items": { + "$ref": "#/components/schemas/variation_attribute" + }, + "type": "array" + }, + "view_type": { + "description": "The image view type.", + "type": "string" + } + } + }, + "inventory_list": { + "description": "

Document representing a inventorylist

", + "properties": { + "assigned_sites": { + "description": "The list of sites this inventory list is assigned to. The assigned sites is a computed attribute, and cannot be\n directly modified.", + "items": { + "type": "string" + }, + "type": "array" + }, + "creation_date": { + "description": "Returns the value of attribute 'creationDate'.", + "format": "date-time", + "x-label": { + "default": "Creation Date" + }, + "readOnly": true, + "type": "string" + }, + "default_in_stock": { + "description": "True if the default for the inventory list is to be in stock. THe default value is false if not specified.", + "type": "boolean" + }, + "description": { + "description": "The user supplied description of this instance.", + "x-label": { + "default": "Description" + }, + "type": "string" + }, + "id": { + "description": "The id for the inventory list, which is required and must be unique.", + "x-label": { + "default": "ID" + }, + "type": "string" + }, + "last_modified": { + "description": "Returns the value of attribute 'lastModified'.", + "format": "date-time", + "x-label": { + "default": "Last Modified" + }, + "readOnly": true, + "type": "string" + }, + "link": { + "description": "URL that is used to get this instance. The URL is a computed attribute, and cannot be modified.", + "type": "string" + }, + "on_order_inventory_enabled": { + "description": "True if the on order flag is enabled. The default value is false if not specified.", + "type": "boolean" + }, + "use_bundle_inventory_only": { + "description": "True if the inventory list is used in bundle inventory only. The default value is false if not specified.", + "type": "boolean" + } + } + }, + "inventory_list_search_result": { + "description": "

Document representing a inventorylist search result.

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. Can be empty.", + "items": { + "$ref": "#/components/schemas/inventory_list" + }, + "type": "array" + }, + "next": { + "$ref": "#/components/schemas/result_page" + }, + "previous": { + "$ref": "#/components/schemas/result_page" + }, + "query": { + "$ref": "#/components/schemas/query" + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/components/schemas/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "inventory_lists": { + "description": "

Document representing an unfiltered list of inventory lists.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "$ref": "#/components/schemas/inventory_list" + }, + "type": "array" + }, + "expand": { + "description": "The list of expands set for the search request. Expands are optional.", + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "job_execution": { + "description": "", + "properties": { + "client_id": { + "description": "When the execution was started by a client, this represents the client's id.", + "type": "string" + }, + "continue_information": { + "$ref": "#/components/schemas/job_execution_continue_information" + }, + "creation_date": { + "format": "date-time", + "type": "string" + }, + "duration": { + "description": "Time in milliseconds, the execution was or is running.", + "format": "int64", + "type": "integer" + }, + "effective_duration": { + "description": "Time in milliseconds, the job has done work. Paused times are evicted.", + "format": "int64", + "type": "integer" + }, + "end_time": { + "description": "Timestamp, when execution was finished.", + "format": "date-time", + "type": "string" + }, + "executed_server_id": { + "description": "The ID of the server that executed the job.", + "type": "string" + }, + "execution_scopes": { + "description": "Sorted set of all execution scopes, used by individual steps.", + "items": { + "type": "string" + }, + "type": "array" + }, + "execution_status": { + "description": "The current execution status.", + "enum": [ + "pending", + "running", + "pausing", + "paused", + "resuming", + "resumed", + "restarting", + "restarted", + "retrying", + "retried", + "aborting", + "aborted", + "finished", + "unknown" + ], + "type": "string" + }, + "exit_status": { + "$ref": "#/components/schemas/status" + }, + "id": { + "description": "ID of the execution object.", + "type": "string" + }, + "is_log_file_existing": { + "description": "True if the log file exists, otherwise false.", + "type": "boolean" + }, + "is_restart": { + "description": "True if this execution represents a job restart.", + "type": "boolean" + }, + "job_description": { + "description": "Description of the job, this execution belongs to.", + "type": "string" + }, + "job_id": { + "description": "ID of the job, this execution belongs to.", + "type": "string" + }, + "last_modified": { + "format": "date-time", + "type": "string" + }, + "log_file_path": { + "description": "Full WebDAV path of the log file, containing execution log.", + "type": "string" + }, + "modification_time": { + "description": "Timestamp of the last modification time for the execution.", + "format": "date-time", + "type": "string" + }, + "parameters": { + "description": "List of all job execution parameters.", + "items": { + "$ref": "#/components/schemas/job_execution_parameter" + }, + "type": "array" + }, + "retry_information": { + "$ref": "#/components/schemas/job_execution_retry_information" + }, + "start_time": { + "description": "Timestamp, when execution was started.", + "format": "date-time", + "type": "string" + }, + "status": { + "description": "The current status. If the execution is currently executed the execution status is returned. If the execution is\n not executed currently anymore the exit status code of the execution.", + "type": "string" + }, + "status_metadata": { + "$ref": "#/components/schemas/status_metadata" + }, + "step_executions": { + "description": "List of all steps, called for job execution.", + "items": { + "$ref": "#/components/schemas/job_step_execution" + }, + "type": "array" + }, + "user_login": { + "description": "When the execution was started by a registered user, this represents the user's login.", + "type": "string" + } + } + }, + "job_execution_continue_information": { + "description": "

Information for a job execution continuation.

", + "properties": { + "continue_status": { + "description": "Returns the status, this job execution will get on continuation if continuation is pending.", + "enum": [ + "pending", + "running", + "pausing", + "paused", + "resuming", + "resumed", + "restarting", + "restarted", + "retrying", + "retried", + "aborting", + "aborted", + "aborting_for_restart", + "aborted_for_restart", + "finished", + "unknown" + ], + "type": "string" + }, + "is_pending": { + "description": "Returns true if the continuation of this job execution is pending and will be started soon,\n false otherwise.", + "type": "boolean" + } + } + }, + "job_execution_parameter": { + "description": "

Specification of a parameter for a job execution.
\n
\n Request example to execute the job in all storefront sites:\n

 \n POST /dw/data/v19_10/jobs/CustomerImportJob/executions\n Host: example.com\n Authorization: Bearer af7f5c90-ffc1-4ea4-9613-f5b375b7dc19\n Content-Type: application/json; charset=UTF-8\n {\n    \"parameters\": [\n       {\n           \"name\": \"SiteScope\",\n           \"value\": \"{\\\"all_storefront_sites\\\":true}\"\n       }\n    ]\n }\n  

\n Request example to execute the job in specified sites only:\n
 \n POST /dw/data/v19_10/jobs/CustomerImportJob/executions\n Host: example.com\n Authorization: Bearer af7f5c90-ffc1-4ea4-9613-f5b375b7dc19\n Content-Type: application/json; charset=UTF-8\n {\n    \"parameters\": [\n       {\n           \"name\": \"SiteScope\",\n           \"value\": \"{\\\"named_sites\\\":[\\\"SiteGenesis\\\", \\\"SiteGenesisGlobal\\\"]}\"\n       }\n    ]\n }\n  

", + "properties": { + "name": { + "description": "The name of the parameter.", + "maxLength": 256, + "minLength": 1, + "pattern": "\\S|(\\S(.*)\\S)", + "type": "string" + }, + "value": { + "description": "The value of the parameter.", + "maxLength": 1000, + "pattern": "\\S|(\\S(.*)\\S)", + "type": "string" + } + }, + "required": [ + "name", + "value" + ] + }, + "job_execution_retry_information": { + "description": "

Retry information for a previous failed job execution.

", + "properties": { + "current_retry_attempt": { + "description": "The current attempt to retry the previous failed job execution.", + "format": "int32", + "type": "integer" + }, + "max_retries": { + "description": "The maximum number of retries.", + "format": "int32", + "type": "integer" + } + } + }, + "job_execution_search_result": { + "description": "

Document representing a job execution search result.

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. May be empty.", + "items": { + "$ref": "#/components/schemas/job_execution" + }, + "type": "array" + }, + "next": { + "$ref": "#/components/schemas/result_page" + }, + "previous": { + "$ref": "#/components/schemas/result_page" + }, + "query": { + "$ref": "#/components/schemas/query" + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/components/schemas/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "job_step_execution": { + "description": "", + "properties": { + "chunk_size": { + "description": "The chunk size for a chunk oriented step execution, otherwise null.", + "format": "int32", + "type": "integer" + }, + "duration": { + "description": "Time in milliseconds, the execution was or is running.", + "format": "int64", + "type": "integer" + }, + "end_time": { + "description": "Timestamp, when execution was finished.", + "format": "date-time", + "type": "string" + }, + "execution_scope": { + "description": "The ID of the scope this step is or was executed for.", + "type": "string" + }, + "execution_status": { + "description": "Current execution status of the step.\n
    \n
  • 'pending': Execution of the step been initiated but the step is not executing yet. Possible next status:\n 'running'.
  • \n
  • 'running': The step is currently actively executed. Possible next status: 'finished', 'pausing' or\n 'aborted'.
  • \n
  • 'finished': The step execution is finished and is not actively executed currently. Possible next status:\n none.
  • \n
  • 'pausing': Pausing of a running step execution has been initiated but the step is not paused yet. Possible\n next status: 'paused' or 'aborted'.
  • \n
  • 'paused': The step execution is paused and is not actively executed currently. Possible next status:\n 'pending'.
  • \n
  • 'aborted': A running step execution has been aborted and is not actively executed currently. Possible next\n status: none.
  • \n
", + "enum": [ + "pending", + "running", + "pausing", + "paused", + "resuming", + "resumed", + "restarting", + "restarted", + "retrying", + "retried", + "aborting", + "aborted", + "finished", + "unknown" + ], + "type": "string" + }, + "exit_status": { + "$ref": "#/components/schemas/status" + }, + "id": { + "description": "ID of the execution object.", + "type": "string" + }, + "include_steps_from_job_id": { + "description": "ID of the job the step of this step execution was included from, if the step was included from another job.", + "type": "string" + }, + "is_chunk_oriented": { + "description": "True if this execution represents a chunk oriented step execution.", + "type": "boolean" + }, + "item_filter_count": { + "description": "The current number of items that have been filtered for a chunk oriented step execution, otherwise null.", + "format": "int32", + "type": "integer" + }, + "item_write_count": { + "description": "The current number of items that have been written for a chunk oriented step execution, otherwise null.", + "format": "int32", + "type": "integer" + }, + "modification_time": { + "description": "Timestamp of the last modification time for the execution.", + "format": "date-time", + "type": "string" + }, + "start_time": { + "description": "Timestamp, when execution was started.", + "format": "date-time", + "type": "string" + }, + "status": { + "description": "The current status. If the step execution is currently executed (execution status is one of 'pending', 'running',\n 'pausing') the execution status is returned. If the step execution is not executed currently anymore (execution\n status is one one 'finished', 'paused' or 'aborted') the exit status code of the step execution is returned.", + "type": "string" + }, + "status_metadata": { + "$ref": "#/components/schemas/status_metadata" + }, + "step_description": { + "description": "Description of the step, this execution belongs to.ID of the step", + "type": "string" + }, + "step_id": { + "description": "ID of the step, this execution belongs to.ID of the step", + "type": "string" + }, + "step_type_id": { + "description": "ID of the step's type at the time it is or was executed.", + "type": "string" + }, + "step_type_info": { + "description": "Additional information regarding the step's type at the time it is or was executed (e.g. name of a script module\n and function).", + "type": "string" + }, + "total_item_count": { + "description": "The total number of items that will be processed for a chunk oriented step execution (null if unknown), otherwise\n null.", + "format": "int64", + "type": "integer" + } + } + }, + "locale": { + "description": "

Document that describes a single locale.

", + "properties": { + "active": { + "description": "Flag that is true if the locale is currently active in the system.", + "type": "boolean" + }, + "country": { + "description": "The uppercase ISO 3166 2-letter country/region code for this Locale.\n If no country has been specified for this Locale, this value is an empty string.", + "type": "string" + }, + "default": { + "description": "Flag that is true if the locale is the default one to use if an explicit locale is not specified.", + "type": "boolean" + }, + "display_country": { + "description": "The display name of this Locale's country, in this Locale's language,\n not in the session locale's language.\n If no country has been specified for this Locale, this value is an empty string.", + "type": "string" + }, + "display_language": { + "description": "The display name of this Locale's language, in this Locale's language,\n not in the session locale's language.\n If no country has been specified for this Locale, this value is an empty string.", + "type": "string" + }, + "display_name": { + "description": "The display name of this Locale, in this Locale's language,\n not in the session locale's language.\n If no display name has been specified for this Locale, this value is an empty string.", + "type": "string" + }, + "id": { + "description": "Returns the String representation of the localeID.\n \n

Combines the language and the country key, concatenated with \"-\". \n For example: \"en-US\". This attribute is the primary key of the class.

", + "type": "string" + }, + "iso3_country": { + "description": "The uppercase ISO 3166 3-letter country/region code for this Locale.\n If no country has been specified for this Locale, this value is an empty string.", + "type": "string" + }, + "iso3_language": { + "description": "The 3-letter ISO 639 language code for this Locale.\n If no language has been specified for this Locale, this value is an empty string.", + "type": "string" + }, + "language": { + "description": "The lowercase ISO 639 language code for this Locale.\n If no language has been specified for this Locale, this value is an empty string.", + "type": "string" + }, + "name": { + "description": "The display name of the Locale. Uses the current\n request locale to localize the value.", + "type": "string" + } + } + }, + "locale_permission": { + "description": "

Document representing a locale permission.

", + "properties": { + "display_name": { + "additionalProperties": { + "type": "string" + }, + "description": "The display name of the locale.", + "format": "localized", + "type": "object" + }, + "locale_id": { + "description": "The id of the locale.", + "type": "string" + }, + "type": { + "description": "The permission type.", + "type": "string" + }, + "values": { + "description": "The list of possible values for the locale permission, e.g. ACCESS or READONLY.", + "items": { + "type": "string" + }, + "type": "array" + } + } + }, + "locale_permissions": { + "description": "

Document representing the available locale permissions.

", + "properties": { + "scopes": { + "description": "The available Locale permission scopes (e.g. unscoped).", + "items": { + "type": "string" + }, + "type": "array" + }, + "unscoped": { + "description": "The collection of available unscoped Locale permissions.", + "items": { + "$ref": "#/components/schemas/locale_permission" + }, + "type": "array" + } + } + }, + "locale_result": { + "description": "

Contains the result of getting the system locales.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "hits": { + "description": "The locales found by the request", + "items": { + "$ref": "#/components/schemas/locale" + }, + "type": "array" + }, + "id": { + "description": "The input locale (none specifies get all locales)", + "type": "string" + }, + "include_all": { + "description": "True to get the all the hits for all the locales, not just the active allowed ones", + "type": "boolean" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The string describing the set of fields to return in the result.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "log_category": { + "description": "

Document representing log category settings.

", + "properties": { + "enabled": { + "description": "Returns true if the log category is enabled.", + "type": "boolean" + }, + "level": { + "description": "Level of the log category.", + "type": "string" + }, + "name": { + "description": "Log category name.", + "type": "string" + } + } + }, + "markup_text": { + "properties": { + "markup": { + "description": "The rendered HTML (read only)", + "type": "string" + }, + "source": { + "description": "The raw markup text\n (only this needs to be provided in update request)", + "type": "string" + } + } + }, + "master": { + "description": "

Document representing a variation master.

", + "properties": { + "link": { + "description": "The URL addressing the master product.", + "type": "string" + }, + "master_id": { + "description": "The id (SKU) of the master product.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "orderable": { + "description": "A flag indicating whether at least one of the variants is orderable.", + "type": "boolean" + }, + "price": { + "description": "The minimum sales price of the related variants.", + "format": "double", + "type": "number" + }, + "price_max": { + "description": "The maximum sales of related variants.", + "format": "double", + "type": "number" + }, + "price_per_unit": { + "description": "The minimum sales price per unit of the related variants.", + "format": "double", + "type": "number" + }, + "price_per_unit_max": { + "description": "The maximum sales price per unit of the related variants.", + "format": "double", + "type": "number" + }, + "prices": { + "additionalProperties": { + "format": "double", + "type": "number" + }, + "type": "object" + } + }, + "required": [ + "master_id" + ] + }, + "match_all_query": { + "description": "

A match all query simply matches all documents (namespace and document type). This query comes in\n handy if you just want to filter a search result or really do not have any constraints.\n\n Example: \n

 \n    query: {\n        match_all_query: {}\n    }\n  

" + }, + "media_file": { + "properties": { + "abs_url": { + "description": "The absolute URL with request protocol (read only)", + "type": "string" + }, + "alt": { + "additionalProperties": { + "type": "string" + }, + "description": "The alternative image text", + "format": "localized", + "type": "object" + }, + "dis_base_url": { + "description": "The DIS base URL only for product images", + "type": "string" + }, + "path": { + "description": "The raw media file path\n (only this needs to be provided in update request)", + "type": "string" + }, + "title": { + "additionalProperties": { + "type": "string" + }, + "description": "The image title", + "format": "localized", + "type": "object" + } + } + }, + "menu_action": { + "description": "

Document representing a menu action.

", + "properties": { + "description": { + "additionalProperties": { + "type": "string" + }, + "description": "The description of the menu action.", + "format": "localized", + "type": "object" + }, + "display_name": { + "additionalProperties": { + "type": "string" + }, + "description": "The display name of the menu action.", + "format": "localized", + "type": "object" + }, + "module_type": { + "description": "The module type of the menu action (BM or CC).", + "type": "string" + }, + "name": { + "description": "The name of the menu action.", + "type": "string" + }, + "system": { + "description": "{\n action.", + "type": "boolean" + }, + "type": { + "description": "The permission type.", + "type": "string" + }, + "values": { + "description": "The list of possible values for the menu action, e.g. ACCESS or READONLY.", + "items": { + "type": "string" + }, + "type": "array" + } + } + }, + "menu_item": { + "description": "

Document representing a menu item.

", + "properties": { + "display_name": { + "additionalProperties": { + "type": "string" + }, + "description": "The display name of the menu item.", + "format": "localized", + "type": "object" + }, + "menu_actions": { + "description": "The collection of available menu actions.", + "items": { + "$ref": "#/components/schemas/menu_action" + }, + "type": "array" + }, + "module_type": { + "description": "The module type of the menu item (BM or CC).", + "type": "string" + }, + "name": { + "description": "The name of the menu item.", + "type": "string" + }, + "type": { + "description": "The permission type.", + "type": "string" + } + } + }, + "metric_response": { + "description": "

Metrics in Prometheus Exposition Format wrapped as Json array of strings.

", + "properties": { + "limit": { + "description": "Page size of result page", + "format": "int32", + "type": "integer" + }, + "metrics": { + "description": "Metrics in Prometheus Exposition Format.

A single metric is represented by a single line. They have a name, labels (dimensions), a value and a time-stamp.

Example:

OCAPI request: GET /v21.10/products/{Id}/prices

total time metric: products_Id_prices{method=\\\"GET\\\",version=\\\"v21.10\\\",path1=\\\"products\\\",path2=\\\"prices\\\",status=\\\"2xx\\\"} 112.718755 1620735785000

The individual elements of a metric line are the metric name, metric dimensions (denoted by label / value pairs in curly braces), the actual metric value (in milliseconds or in operations / second for metrics ending in _m1rate) and a time-stamp in milliseconds since 01/01/1970 UTC.

name

The metric name will have both path segments and parameters separated by '`_`'. Path segments in the metric name are in lower-case whereas path parameters are formatted in camel-case.

method

the HTTP method of the OCAPI request, one of GET, PUT, POST, DELETE

version

the version of the OCAPI request, e.g. v20.8

path1 .. pathN

The path segments (not including the path-parameters) of the OCAPI request, from the example above, the path segments will be mapped to labels as: path1=\\\"products\\\", path2=\\\"prices\\\"

breakdown

Sub-timings of the request, in particular:

  • total (implicit): total timings of the request (sum of the three breakdowns below). This dimension is denoted with no label.
  • platform: amount of time spent in platform code (including database-tier)
  • custom: amount of time spent in custom code (including database-tier)
  • thirdParty: amount of time spent invoking third party services through the service framework

status

  • 2xx: metrics for all requests with a status code between 200 and 299
  • 3xx: metrics for all requests with a status code between 300 and 399
  • 4xx: metrics for all requests with a status code between 400 and 499
  • 5xx: metrics for all requests with a status code between 500 and 599

quantile

  • p50: median timings
  • p95: timings for the 95th percentile of all requests

serviceId (only for metrics where breakdown = thirdParty)

the id of the third party service that was invoked during the request. If multiple services were invoked, timings for each individual service are available

", + "items": { + "type": "string" + }, + "type": "array" + }, + "offset": { + "description": "Offset of result page", + "format": "int32", + "type": "integer" + }, + "total": { + "description": "Total number of metrics", + "format": "int32", + "type": "integer" + } + } + }, + "module_permissions": { + "description": "

Document representing the available module permissions in shape of menu items and menu actions.

", + "properties": { + "organization": { + "description": "The collection of available organization menu items.", + "items": { + "$ref": "#/components/schemas/menu_item" + }, + "type": "array" + }, + "scopes": { + "description": "The available menu item scopes (e.g. organization, site).", + "items": { + "type": "string" + }, + "type": "array" + }, + "site": { + "description": "The list of available site menu items.", + "items": { + "$ref": "#/components/schemas/menu_item" + }, + "type": "array" + } + } + }, + "money": { + "properties": { + "currency_mnemonic": { + "description": "The mnemonic for the money.", + "type": "string" + }, + "value": { + "description": "The value for the money.", + "format": "double", + "type": "number" + } + } + }, + "nested_query": { + "description": "

A nested query queries nested documents that are part of a larger document. The classical example is a\n product master with variants (in one big document) where you want to constrain a search to masters that have\n variants that match multiple constraints (like color = blue AND size = M).\n This query is not compatible with some search types. \n Example: finds all the documents that has firstname = \"John\" and lastname = \"Doe\"\n

 \n  {\n   \"query\": {\n     \"bool_query\": {\n       \"must\": [\n         {\n           \"nested_query\": {\n             \"path\": \"order.shipping_addresses\",\n             \"query\": {\n               \"bool_query\": {\n                 \"must\": [\n                   {\n                     \"bool_query\": {\n                       \"must\": [\n                         {\n                           \"term_query\": {\n                             \"fields\": [ \"order.shipping_addresses.first_name\" ],\n                             \"operator\": \"is\",\n                             \"values\": [ \"John\" ]\n                           }\n                         }\n                       ]\n                     }\n                   },\n                   {\n                     \"bool_query\": {\n                       \"must\": [\n                         {\n                           \"term_query\": {\n                             \"fields\": [ \"order.shipping_addresses.last_name\" ],\n                             \"operator\": \"is\",\n                             \"values\": [ \"Doe\" ]\n                           }\n                         }\n                       ]\n                     }\n                   }\n                 ]\n               }\n             },\n             \"score_mode\": \"avg\"\n           }\n         }\n       ]\n     }\n   }\n }\n  

", + "properties": { + "path": { + "description": "", + "type": "string" + }, + "query": { + "$ref": "#/components/schemas/query" + }, + "score_mode": { + "description": "", + "enum": [ + "avg", + "total", + "max", + "none" + ], + "type": "string" + } + }, + "required": [ + "path", + "query" + ] + }, + "object_attribute_definition": { + "description": "

Document representing a attribute definition

", + "properties": { + "creation_date": { + "format": "date-time", + "type": "string" + }, + "default_value": { + "$ref": "#/components/schemas/object_attribute_value_definition" + }, + "description": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized description of the attribute.", + "format": "localized", + "type": "object" + }, + "display_name": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized name presented to the user in forms.", + "format": "localized", + "type": "object" + }, + "effective_id": { + "description": "The effective ID, which is c_id if the attribute is custom, and just the id otherwise. It is read only.", + "type": "string" + }, + "externally_defined": { + "description": "Flag indicating if this attribute is externally defined.", + "type": "boolean" + }, + "externally_managed": { + "description": "Flag indicating if this attribute is externally managed.", + "type": "boolean" + }, + "field_height": { + "description": "The height of the field for this attribute in the editor.", + "format": "int32", + "type": "integer" + }, + "field_length": { + "description": "The length of the field for this attribute in the editor.", + "format": "int32", + "type": "integer" + }, + "id": { + "description": "The user supplied ID of the attribute.", + "type": "string" + }, + "key": { + "description": "Flag indicating if this is a key attribute.", + "type": "boolean" + }, + "last_modified": { + "format": "date-time", + "type": "string" + }, + "link": { + "description": "The URL that is used to get this instance. Value is computed and read-only.", + "type": "string" + }, + "localizable": { + "description": "Flag indicating if this attribute can be localized.", + "type": "boolean" + }, + "mandatory": { + "description": "Flag indicating if a value is mandatory for the attribute.", + "type": "boolean" + }, + "max_value": { + "description": "The maximum possible value for this attribute.", + "format": "double", + "type": "number" + }, + "min_length": { + "description": "The minimum length of the field for this attribute.", + "format": "int32", + "type": "integer" + }, + "min_value": { + "description": "The minimum possible value for this attribute.", + "format": "double", + "type": "number" + }, + "multi_value_type": { + "description": "

True if the attribute can have multiple values.

\n

Attributes of the following types are multi-value capable:

\n
    \n
  • set_of_int
  • \n
  • set_of_number
  • \n
  • set_of_string
  • \n
\n

Additionally, attributes of the following types can be multi-value\n enabled:

\n
    \n
  • enum_of_int
  • \n
  • enum_of_string
  • \n
", + "type": "boolean" + }, + "order_required": { + "description": "Flag indicating if this attribute is required for order of the attribute model's product. The set of these can be used\n in order line items.", + "type": "boolean" + }, + "queryable": { + "description": "Returns true if the attribute definition is explicitly marked queryable. If no explicit queryable is found\n and the attribute value type belongs to a queryable type, true is returned too. In all other cases false is returned.\n Value is computed and read-only.", + "type": "boolean" + }, + "read_only": { + "description": "Flag indicating if this attribute is read-only. It is read only.", + "type": "boolean" + }, + "regular_expression": { + "description": "A regular expression that defines the legal values for this attribute.", + "type": "string" + }, + "requires_encoding": { + "description": "Flag indicating if this attribute can be encoded using the encoding=\"off\" flag in ISML templates. It is read only.", + "type": "boolean" + }, + "scale": { + "description": "The minimum number of fraction digits for a value of this attribute.", + "format": "int32", + "type": "integer" + }, + "searchable": { + "description": "Flag indicating if this attribute is searchable.", + "type": "boolean" + }, + "set_value_type": { + "description": "Flag indicating if this attribute is of type 'Set of'. It is read only.", + "type": "boolean" + }, + "site_specific": { + "description": "Flag indicating if this attribute is site-specific.", + "type": "boolean" + }, + "system": { + "description": "Flag indicating if this attribute is a system attribute.", + "type": "boolean" + }, + "unit": { + "additionalProperties": { + "type": "string" + }, + "description": "The unit of measure for this attribute.", + "format": "localized", + "type": "object" + }, + "value_definitions": { + "description": "A set of values that are possible for this attribute. It is read only.", + "items": { + "$ref": "#/components/schemas/object_attribute_value_definition" + }, + "type": "array" + }, + "value_type": { + "description": "The type of this attribute.", + "enum": [ + "string", + "int", + "double", + "text", + "html", + "date", + "image", + "boolean", + "money", + "quantity", + "datetime", + "email", + "password", + "set_of_string", + "set_of_int", + "set_of_double", + "enum_of_string", + "enum_of_int", + "unknown" + ], + "type": "string" + }, + "visible": { + "description": "Flag indicating if this attribute is visible.", + "type": "boolean" + } + } + }, + "object_attribute_definition_search_result": { + "description": "

Document representing an attributedefinition search result.

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. Can be empty.", + "items": { + "$ref": "#/components/schemas/object_attribute_definition" + }, + "type": "array" + }, + "next": { + "$ref": "#/components/schemas/result_page" + }, + "previous": { + "$ref": "#/components/schemas/result_page" + }, + "query": { + "$ref": "#/components/schemas/query" + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/components/schemas/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "object_attribute_definitions": { + "description": "

Document representing an unfiltered list of object attribute definitions.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "$ref": "#/components/schemas/object_attribute_definition" + }, + "type": "array" + }, + "expand": { + "description": "The list of expands set for the search request. Expands are optional.", + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "object_attribute_group": { + "description": "

Document representing a attribute group

", + "properties": { + "attribute_definitions": { + "description": "Attributes with the group displayed when expand=definition", + "items": { + "$ref": "#/components/schemas/object_attribute_definition" + }, + "type": "array" + }, + "attribute_definitions_count": { + "description": "The count of the attributes within the group. This is a computed attribute and is read-only", + "format": "int32", + "type": "integer" + }, + "creation_date": { + "format": "date-time", + "type": "string" + }, + "description": { + "additionalProperties": { + "type": "string" + }, + "description": "The free-form text description of the group by locale", + "format": "localized", + "type": "object" + }, + "display_name": { + "additionalProperties": { + "type": "string" + }, + "description": "The name used to display the group by locale.", + "format": "localized", + "type": "object" + }, + "id": { + "description": "The group's user specified identifier, used to retrieve the group", + "type": "string" + }, + "internal": { + "description": "True if the group is meant only for internal use, false otherwise. This property is read-only.", + "type": "boolean" + }, + "last_modified": { + "format": "date-time", + "type": "string" + }, + "link": { + "description": "URL that is used to get this instance. This is a computed attribute and is read-only", + "type": "string" + }, + "position": { + "description": "The position of the group relative to other groups.", + "format": "double", + "minimum": 0, + "type": "number" + } + } + }, + "object_attribute_group_search_result": { + "description": "

Document representing a attributegroup search result.

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. Can be empty.", + "items": { + "$ref": "#/components/schemas/object_attribute_group" + }, + "type": "array" + }, + "next": { + "$ref": "#/components/schemas/result_page" + }, + "previous": { + "$ref": "#/components/schemas/result_page" + }, + "query": { + "$ref": "#/components/schemas/query" + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/components/schemas/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "object_attribute_groups": { + "description": "

Document representing an unfiltered list of object group definitions.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "$ref": "#/components/schemas/object_attribute_group" + }, + "type": "array" + }, + "expand": { + "description": "The list of expands set for the search request. Expands are optional.", + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "object_attribute_value_definition": { + "description": "

Document representing a attribute definition

", + "properties": { + "description": { + "additionalProperties": { + "type": "string" + }, + "description": "A description of the attribute value.", + "format": "localized", + "type": "object" + }, + "display_value": { + "additionalProperties": { + "type": "string" + }, + "description": "A display name that can be used to present this value in\n the user interface. For example, the value might be '1' but the display\n name might be 'Order Exported'.", + "format": "localized", + "type": "object" + }, + "id": { + "description": "The ID of the attribute value.", + "type": "string" + }, + "position": { + "description": "The position of the attribute value within the set of attribute values.", + "format": "double", + "type": "number" + }, + "value": { + "description": "The value of the attribute.", + "type": "object" + } + } + }, + "object_type_definition": { + "description": "

Document representing a object type definition

", + "properties": { + "attribute_definition_count": { + "description": "Returns the number of attribute definitions contained by the type. This is a computed attribute and cannot be changed.", + "format": "int32", + "type": "integer" + }, + "attribute_group_count": { + "description": "Returns the number of attribute groups contained by the type. This is a computed attribute and cannot be changed.", + "format": "int32", + "type": "integer" + }, + "content_object": { + "description": "True if the object type definition is marked as a content object", + "type": "boolean" + }, + "creation_date": { + "format": "date-time", + "type": "string" + }, + "description": { + "additionalProperties": { + "type": "string" + }, + "description": "The user entered description for the type (localizable)", + "format": "localized", + "type": "object" + }, + "display_name": { + "additionalProperties": { + "type": "string" + }, + "description": "The user entered display name (localizable)", + "format": "localized", + "type": "object" + }, + "last_modified": { + "format": "date-time", + "type": "string" + }, + "link": { + "description": "URL that is used to get this instance. This is a computed attribute and cannot be changed.", + "type": "string" + }, + "object_type": { + "description": "The object type identifier", + "type": "string" + }, + "queryable": { + "description": "True if the system object type is queryable, false otherwise. Default is true.", + "type": "boolean" + }, + "read_only": { + "description": "True if the system object is read-only, false otherwise. This is a computed attribute and cannot be changed.", + "type": "boolean" + } + } + }, + "object_type_definition_search_result": { + "description": "

Document representing a systemobject search result.

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. Can be empty.", + "items": { + "$ref": "#/components/schemas/object_type_definition" + }, + "type": "array" + }, + "next": { + "$ref": "#/components/schemas/result_page" + }, + "previous": { + "$ref": "#/components/schemas/result_page" + }, + "query": { + "$ref": "#/components/schemas/query" + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/components/schemas/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "object_type_definitions": { + "description": "

Document representing an unfiltered list of system object types.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "$ref": "#/components/schemas/object_type_definition" + }, + "type": "array" + }, + "expand": { + "description": "The list of expands set for the search request. Expands are optional.", + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "ocapi_configs_api_request": { + "description": "

OCAPI configuration APIs request

", + "properties": { + "resource_info": { + "$ref": "#/components/schemas/resource_info" + }, + "sites": { + "description": "Sites to be updated", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "resource_info", + "sites" + ] + }, + "ocapi_configs_api_response": { + "description": "

OCAPI configuration APIs response. It contains all available resources for a client

", + "properties": { + "global": { + "description": "Global configuration", + "items": { + "$ref": "#/components/schemas/site_resource_info" + }, + "type": "array" + }, + "sites": { + "description": "Site configurations", + "items": { + "$ref": "#/components/schemas/site_resource_info" + }, + "type": "array" + } + } + }, + "order_confirmation_status_update_request": { + "description": "

Request body to update the order confirmation status.

", + "properties": { + "status": { + "description": "The new confirmation status for an order.", + "enum": [ + "confirmed", + "not_confirmed" + ], + "type": "string" + } + }, + "required": [ + "status" + ] + }, + "order_export_status_update_request": { + "description": "

Request body to update the order export status.

", + "properties": { + "status": { + "description": "The new export status for an order.", + "enum": [ + "exported", + "not_exported", + "ready", + "failed" + ], + "type": "string" + } + }, + "required": [ + "status" + ] + }, + "order_external_status_update_request": { + "description": "

Request body to update the order external status.

", + "properties": { + "status": { + "description": "The new external status for an order.", + "maxLength": 256, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "status" + ] + }, + "order_payment_status_update_request": { + "description": "

Request body to update the order payment status.

", + "properties": { + "status": { + "description": "The new payment status for an order.", + "enum": [ + "paid", + "part_paid", + "not_paid" + ], + "type": "string" + } + }, + "required": [ + "status" + ] + }, + "order_shipping_status_update_request": { + "description": "

Request body to update the order shipping status.

", + "properties": { + "status": { + "description": "The new shipping status for an order.", + "enum": [ + "shipped", + "part_shipped", + "not_shipped" + ], + "type": "string" + } + }, + "required": [ + "status" + ] + }, + "order_status_update_request": { + "description": "

Request body to update the order status.

", + "properties": { + "status": { + "description": "The new status for an order.", + "enum": [ + "created", + "new", + "open", + "completed", + "cancelled", + "failed", + "failed_with_reopen" + ], + "type": "string" + } + }, + "required": [ + "status" + ] + }, + "order_update_request": { + "description": "

Request body to update an order.

" + }, + "organization_preferences": { + "description": "

Represents a set of preferences attached at the organization level.

", + "properties": { + "link": { + "description": "A URL that returns the full details for a custom preference", + "type": "string" + }, + "site_preferences": { + "description": "The list of site preferences, returned with expand=sites", + "items": { + "$ref": "#/components/schemas/site_preferences" + }, + "type": "array" + } + } + }, + "password_change_request": { + "properties": { + "current_password": { + "description": "The current user password", + "minLength": 1, + "type": "string" + }, + "password": { + "description": "The new user password", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "current_password", + "password" + ] + }, + "path_record": { + "description": "

Document representing most basic info (id and name) of a category or catalog.

", + "properties": { + "id": { + "description": "The id of the category path.", + "x-label": { + "default": "ID" + }, + "type": "string" + }, + "name": { + "additionalProperties": { + "type": "string" + }, + "description": "The name of the category path.", + "format": "localized", + "x-label": { + "default": "Name" + }, + "type": "object" + } + } + }, + "payment_instrument_update_request": { + "description": "

Request body to update an order payment instrument.

" + }, + "payment_transaction_update_request": { + "description": "

Request body to update an order payment transaction.

" + }, + "preference_value": { + "description": "

Represents a single preference value

", + "properties": { + "attribute_definition": { + "$ref": "#/components/schemas/object_attribute_definition" + }, + "description": { + "additionalProperties": { + "type": "string" + }, + "description": "Description of the attribute", + "format": "localized", + "type": "object" + }, + "display_name": { + "additionalProperties": { + "type": "string" + }, + "description": "Display name for the attribute", + "format": "localized", + "type": "object" + }, + "id": { + "description": "The id of the attribute", + "type": "string" + }, + "site_values": { + "additionalProperties": { + "type": "object" + }, + "description": "The value of this attribute", + "type": "object" + }, + "value_type": { + "description": "The type of this attribute.", + "enum": [ + "string", + "int", + "double", + "text", + "html", + "date", + "image", + "boolean", + "money", + "quantity", + "datetime", + "email", + "password", + "set_of_string", + "set_of_int", + "set_of_double", + "enum_of_string", + "enum_of_int", + "unknown" + ], + "type": "string" + } + } + }, + "preference_value_search_result": { + "description": "

Document representing a preference value search result.

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. Can be empty.", + "items": { + "$ref": "#/components/schemas/preference_value" + }, + "type": "array" + }, + "next": { + "$ref": "#/components/schemas/result_page" + }, + "previous": { + "$ref": "#/components/schemas/result_page" + }, + "query": { + "$ref": "#/components/schemas/query" + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/components/schemas/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "product": { + "description": "

Document representing a product

", + "properties": { + "assigned_categories": { + "description": "The catalog categories that the product is assigned to", + "items": { + "$ref": "#/components/schemas/catalog_category_id" + }, + "type": "array" + }, + "ats": { + "description": "The ATS(Available To Sell) inventory value of the product. This is a calculated value.", + "format": "double", + "type": "number" + }, + "brand": { + "description": "The brand of the product.", + "x-label": { + "default": "Brand" + }, + "type": "string" + }, + "bundled_products": { + "description": "The array of bundled products which the product includes.", + "items": { + "$ref": "#/components/schemas/product" + }, + "type": "array" + }, + "c_availableForInStorePickup": { + "description": "Signals if there are inventory lists for brick-and-mortar stores associated with this product.", + "x-label": { + "default": "Available for In Store Pickup" + }, + "type": "boolean" + }, + "c_batteryLife": { + "x-label": { + "default": "Battery Life" + }, + "type": "string" + }, + "c_batteryType": { + "x-label": { + "default": "Battery Type" + }, + "type": "string" + }, + "c_bootType": { + "description": "Type of Boot for search refinement.", + "items": { + "enum": [ + "0010", + "0020", + "0030", + "0040", + "0050", + "0060", + "0070" + ], + "x-enum-labels": [ + { + "default": "Winter" + }, + { + "default": "Waterproof" + }, + { + "default": "Classic" + }, + { + "default": "Ankle & Mid" + }, + { + "default": "Tall" + }, + { + "default": "6\"" + }, + { + "default": "Casual" + } + ], + "type": "string" + }, + "x-label": { + "default": "Boot Type" + }, + "type": "array" + }, + "c_bottomType": { + "description": "Bottom type for search refinement", + "items": { + "enum": [ + "0010", + "0020", + "0030", + "0040", + "0050", + "0060", + "0070", + "0080" + ], + "x-enum-labels": [ + { + "default": "Khakis" + }, + { + "default": "Denim" + }, + { + "default": "Dress" + }, + { + "default": "Casual" + }, + { + "default": "Shorts" + }, + { + "default": "Work" + }, + { + "default": "Cargo" + }, + { + "default": "Fleece" + } + ], + "type": "string" + }, + "x-label": { + "default": "Bottom Type" + }, + "type": "array" + }, + "c_color": { + "description": "Product color used for variation attribute", + "x-label": { + "default": "Color" + }, + "type": "string" + }, + "c_consoleWarranty": { + "x-label": { + "default": "Extended Warranty" + }, + "type": "string" + }, + "c_customCSSFile": { + "$ref": "#/components/schemas/media_file" + }, + "c_digitalCameraFeatures": { + "items": { + "enum": [ + "0010", + "0020", + "0030", + "0040", + "0050", + "0060", + "0070", + "0080", + "0090", + "0100", + "0110", + "0120", + "0130", + "0140", + "0150", + "0160", + "0170", + "0180", + "0190", + "0200", + "0210", + "0220", + "0230", + "0240", + "0250", + "0260", + "0270", + "0280" + ], + "x-enum-labels": [ + { + "default": "Built In Flash" + }, + { + "default": "HD Video" + }, + { + "default": "GPS Geo Tagging" + }, + { + "default": "Variable Self Timer" + }, + { + "default": "Image Optimizer" + }, + { + "default": "Stop Motion Video" + }, + { + "default": "Self Cleaning" + }, + { + "default": "Pro Performance" + }, + { + "default": "51 Area Autofocus" + }, + { + "default": "Super Fast Startup" + }, + { + "default": "Easy to Learn" + }, + { + "default": "Wide Angle Optical Zoom" + }, + { + "default": "Manual Controls" + }, + { + "default": "Wired LAN" + }, + { + "default": "GPS Enabled" + }, + { + "default": "In Camera Red Eye Reduction" + }, + { + "default": "Large LCD" + }, + { + "default": "Optical Zoom" + }, + { + "default": "Anti-Shake" + }, + { + "default": "Touch Screen" + }, + { + "default": "Image Stabilization" + }, + { + "default": "Fast Shutter" + }, + { + "default": "Slim" + }, + { + "default": "35mm Full Frame Sensor" + }, + { + "default": "Wide Angle|Continuous Shooting" + }, + { + "default": "Continuous Shooting" + }, + { + "default": "ISO 1600" + }, + { + "default": "Red Eye Reduction" + } + ], + "type": "string" + }, + "x-label": { + "default": "Digital Camera Features" + }, + "type": "array" + }, + "c_digitalCameraPixels": { + "x-label": { + "default": "Digital Camera Pixels" + }, + "type": "string" + }, + "c_digitalCameraType": { + "x-label": { + "default": "Digital Camera Type" + }, + "type": "string" + }, + "c_digitalCameraWarranty": { + "x-label": { + "default": "Extended Warranty" + }, + "type": "string" + }, + "c_dimDepth": { + "x-label": { + "default": "Depth" + }, + "type": "string" + }, + "c_dimHeight": { + "x-label": { + "default": "Height" + }, + "type": "string" + }, + "c_dimWeight": { + "x-label": { + "default": "Weight" + }, + "type": "string" + }, + "c_dimWidth": { + "x-label": { + "default": "Width" + }, + "type": "string" + }, + "c_displaySize": { + "x-label": { + "default": "Display Size" + }, + "type": "string" + }, + "c_gameGenre": { + "items": { + "enum": [ + "Action", + "Educational", + "Kids", + "Racing", + "Role-Playing", + "Sports", + "Strategy" + ], + "x-enum-labels": [ + { + "default": "Action" + }, + { + "default": "Educational" + }, + { + "default": "Kids" + }, + { + "default": "Racing" + }, + { + "default": "Role-Playing" + }, + { + "default": "Sports" + }, + { + "default": "Strategy" + } + ], + "type": "string" + }, + "x-label": { + "default": "Genre" + }, + "type": "array" + }, + "c_gameRating": { + "x-label": { + "default": "Game Rating" + }, + "type": "string" + }, + "c_gameSystemType": { + "x-label": { + "default": "Gaming System" + }, + "type": "string" + }, + "c_gpsFeatures": { + "items": { + "enum": [ + "0010", + "0020", + "0030", + "0040", + "0050", + "0060", + "0070", + "0080", + "0090", + "0100", + "0110", + "0120", + "0130", + "0140", + "0150", + "0160", + "0170", + "0180", + "0190", + "0200", + "0210", + "0230" + ], + "x-enum-labels": [ + { + "default": "Preloaded" + }, + { + "default": "Voice Prompts" + }, + { + "default": "3D" + }, + { + "default": "Touch Screen" + }, + { + "default": "FM Traffic" + }, + { + "default": "MSN Direct" + }, + { + "default": "MP3 Player" + }, + { + "default": "Picture Viewer" + }, + { + "default": "Bluetooth®" + }, + { + "default": "Speech Recognition" + }, + { + "default": "XM Navtraffic" + }, + { + "default": "Waterproof" + }, + { + "default": "Motorcycle Ready" + }, + { + "default": "Lunar Tracking" + }, + { + "default": "Wrist Wear" + }, + { + "default": "Barometer" + }, + { + "default": "Compass" + }, + { + "default": "Geocaching" + }, + { + "default": "Jeppesen Enabled" + }, + { + "default": "Built-in HIS" + }, + { + "default": "Auto Logbook" + }, + { + "default": "Automotive Friendly" + } + ], + "type": "string" + }, + "x-label": { + "default": "GPS Features" + }, + "type": "array" + }, + "c_gpsType": { + "items": { + "enum": [ + "0010", + "0020", + "0030", + "0040" + ], + "x-enum-labels": [ + { + "default": "Automotive" + }, + { + "default": "Personal" + }, + { + "default": "Outdoor" + }, + { + "default": "Aviation" + } + ], + "type": "string" + }, + "x-label": { + "default": "GPS Type" + }, + "type": "array" + }, + "c_gpsWarranty": { + "x-label": { + "default": "Extended Warranty" + }, + "type": "string" + }, + "c_imageAspectRatio": { + "x-label": { + "default": "Image Aspect Ratio" + }, + "type": "string" + }, + "c_isNew": { + "x-label": { + "default": "New Arrival?" + }, + "type": "boolean" + }, + "c_isNewtest": { + "description": "This indiciates if the product is a new arrival.", + "x-label": { + "default": "New Arrival?" + }, + "type": "boolean" + }, + "c_isSale": { + "description": "This is the help text. It is used for sorting rules.", + "x-label": { + "default": "On sale?" + }, + "type": "boolean" + }, + "c_kidsAge": { + "description": "Kids Age used for search refinements", + "enum": [ + "0010", + "0020", + "0030", + "0040", + "0050", + "0060", + "0070" + ], + "x-enum-labels": [ + { + "default": "Infant (0-1 yr)" + }, + { + "default": "Toddler (1-5 yrs)" + }, + { + "default": "Youth (5-9 yrs)" + }, + { + "default": "Junior (9-12 yrs)" + }, + { + "default": "Newborn (1-6 mths)" + }, + { + "default": "Infant (9 mnths - 3 yrs)" + }, + { + "default": "Junior (4-12 yrs)" + } + ], + "x-label": { + "default": "Age" + }, + "type": "string" + }, + "c_length": { + "description": "This attribute is used for mens and womens pants lengths.", + "x-label": { + "default": "Length" + }, + "type": "string" + }, + "c_lensAperture": { + "x-label": { + "default": "Lens Aperture" + }, + "type": "string" + }, + "c_materialTest": { + "items": { + "enum": [ + "cotton", + "polyester", + "wool" + ], + "x-enum-labels": [ + { + "default": "Cotton" + }, + { + "default": "Polyester" + }, + { + "default": "Wool" + } + ], + "type": "string" + }, + "x-label": { + "default": "Material" + }, + "type": "array" + }, + "c_mediaFormat": { + "description": "Media Format", + "items": { + "enum": [ + "0010", + "0020", + "0030", + "0040", + "0050", + "0060", + "0070", + "0080", + "0090", + "0100" + ], + "x-enum-labels": [ + { + "default": "MP3" + }, + { + "default": "WMA" + }, + { + "default": "JPEG" + }, + { + "default": "WAV" + }, + { + "default": "FM Tuner" + }, + { + "default": "AAC" + }, + { + "default": "WMP" + }, + { + "default": "MPEG4" + }, + { + "default": "AVC" + }, + { + "default": "ASP" + } + ], + "type": "string" + }, + "x-label": { + "default": "Media Format" + }, + "type": "array" + }, + "c_memorySize": { + "description": "Memory Size", + "x-label": { + "default": "Memory Size" + }, + "type": "string" + }, + "c_memoryType": { + "items": { + "enum": [ + "0010", + "0020", + "0030", + "0040", + "0050", + "0060", + "0070", + "0080", + "0090" + ], + "x-enum-labels": [ + { + "default": "SD" + }, + { + "default": "Memory Stick Pro DUO" + }, + { + "default": "Compact Flash" + }, + { + "default": "MMC" + }, + { + "default": "SDHC" + }, + { + "default": "CF Card" + }, + { + "default": "External Media" + }, + { + "default": "Micro SD" + }, + { + "default": "Garmin Data Card" + } + ], + "type": "string" + }, + "x-label": { + "default": "Memory Type" + }, + "type": "array" + }, + "c_musicStorage": { + "x-label": { + "default": "Music Storage" + }, + "type": "string" + }, + "c_opticalZoom": { + "x-label": { + "default": "Optical Zoom" + }, + "type": "string" + }, + "c_outerwearType": { + "description": "Type of Outerwear for search refinement", + "enum": [ + "0010", + "0020", + "0030", + "0040", + "0050", + "0060", + "0070", + "0080" + ], + "x-enum-labels": [ + { + "default": "Waterproof" + }, + { + "default": "Jackets" + }, + { + "default": "Vest" + }, + { + "default": "Pants" + }, + { + "default": "Casual" + }, + { + "default": "Sweater" + }, + { + "default": "Outdoor" + }, + { + "default": "Fleece" + } + ], + "x-label": { + "default": "Outerwear Type" + }, + "type": "string" + }, + "c_portableAudioType": { + "items": { + "enum": [ + "0010", + "0020", + "0030" + ], + "x-enum-labels": [ + { + "default": "Audio" + }, + { + "default": "Video" + }, + { + "default": "Internet" + } + ], + "type": "string" + }, + "x-label": { + "default": "Portable Audio Type" + }, + "type": "array" + }, + "c_refinementColor": { + "enum": [ + "beige", + "black", + "blue", + "brown", + "green", + "grey", + "miscellaneous", + "navy", + "orange", + "pink", + "purple", + "red", + "white", + "yellow" + ], + "x-enum-labels": [ + { + "default": "Beige" + }, + { + "default": "Black" + }, + { + "default": "Blue" + }, + { + "default": "Brown" + }, + { + "default": "Green" + }, + { + "default": "Grey" + }, + { + "default": "Miscellaneous" + }, + { + "default": "Navy" + }, + { + "default": "Orange" + }, + { + "default": "Pink" + }, + { + "default": "Purple" + }, + { + "default": "Red" + }, + { + "default": "White" + }, + { + "default": "Yellow" + } + ], + "x-label": { + "default": "Refinement Color" + }, + "type": "string" + }, + "c_resolution": { + "x-label": { + "default": "Resolution" + }, + "type": "string" + }, + "c_sandalType": { + "description": "Type of Sandal for search refinement", + "enum": [ + "0010", + "0020", + "0030" + ], + "x-enum-labels": [ + { + "default": "Sport" + }, + { + "default": "Casual" + }, + { + "default": "Thong" + } + ], + "x-label": { + "default": "Sandal Type" + }, + "type": "string" + }, + "c_sheets": { + "description": "test attribute", + "items": { + "enum": [ + "value1", + "value2", + "value3" + ], + "x-enum-labels": [ + { + "default": "Value 1" + }, + { + "default": "Value 2" + }, + { + "default": "Value 3" + } + ], + "type": "string" + }, + "x-label": { + "default": "Sheets" + }, + "type": "array" + }, + "c_shoeType": { + "description": "Type of Shoe for search refinements", + "enum": [ + "0010", + "0020", + "0030", + "0040", + "0050", + "0060", + "0070", + "0080", + "0090", + "0100", + "0110" + ], + "x-enum-labels": [ + { + "default": "Chukka" + }, + { + "default": "Lace Up" + }, + { + "default": "Slip On" + }, + { + "default": "Clog" + }, + { + "default": "Boat" + }, + { + "default": "Oxford" + }, + { + "default": "Loafer" + }, + { + "default": "Waterproof" + }, + { + "default": "Flats" + }, + { + "default": "Ballerina" + }, + { + "default": "Heeled" + } + ], + "x-label": { + "default": "Shoe Type" + }, + "type": "string" + }, + "c_size": { + "description": "This attribute is used for all footwear, apparel and accessory sizing for men, women and kids products.", + "x-label": { + "default": "Size" + }, + "type": "string" + }, + "c_skinConcern": { + "items": { + "enum": [ + "comprehensive", + "dryTight", + "liftingLossFirm" + ], + "x-enum-labels": [ + { + "default": "Comprehensive Protection" + }, + { + "default": "Dry, Tight Skin" + }, + { + "default": "Lifting & Loss of Firmness" + } + ], + "type": "string" + }, + "x-label": { + "default": "Skin Concern" + }, + "type": "array" + }, + "c_styleNumber": { + "x-label": { + "default": "Style Number" + }, + "type": "string" + }, + "c_tabDescription": { + "$ref": "#/components/schemas/markup_text" + }, + "c_tabDetails": { + "$ref": "#/components/schemas/markup_text" + }, + "c_topType": { + "description": "Type of tops in clothing", + "x-label": { + "default": "Top Type" + }, + "type": "string" + }, + "c_tvSignalFormat": { + "x-label": { + "default": "TV Signal Format" + }, + "type": "string" + }, + "c_tvSize": { + "x-label": { + "default": "Size" + }, + "type": "string" + }, + "c_tvType": { + "enum": [ + "0010", + "0020", + "0030", + "0040" + ], + "x-enum-labels": [ + { + "default": "Plasma" + }, + { + "default": "LCD" + }, + { + "default": "DLP" + }, + { + "default": "Projection" + } + ], + "x-label": { + "default": "TV Type" + }, + "type": "string" + }, + "c_tvWarranty": { + "x-label": { + "default": "Extended Warranty" + }, + "type": "string" + }, + "c_videoStorage": { + "x-label": { + "default": "Video Storage" + }, + "type": "string" + }, + "c_waist": { + "description": "Attribute used for apparel waist sizing.", + "x-label": { + "default": "Waist" + }, + "type": "string" + }, + "c_width": { + "description": "This attribute is used for shoe widths for mens, womens and kids.", + "x-label": { + "default": "Width" + }, + "type": "string" + }, + "classification_category": { + "$ref": "#/components/schemas/catalog_category_id" + }, + "creation_date": { + "description": "Returns the value of attribute 'creationDate'.", + "format": "date-time", + "x-label": { + "default": "Creation Date" + }, + "readOnly": true, + "type": "string" + }, + "default_variant_id": { + "description": "The ID of the product's default variant.", + "type": "string" + }, + "ean": { + "description": "The European Article Number of the product.", + "x-label": { + "default": "EAN" + }, + "type": "string" + }, + "id": { + "description": "The ID (SKU) of the product.", + "x-label": { + "default": "ID", + "en": "SKUAGE" + }, + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "image": { + "$ref": "#/components/schemas/media_file" + }, + "image_groups": { + "description": "The array of product image groups.", + "items": { + "$ref": "#/components/schemas/image_group" + }, + "type": "array" + }, + "in_stock": { + "description": "The flag that indicates if the product is in stock, or not. This is a calculated value.", + "type": "boolean" + }, + "last_modified": { + "description": "Returns the value of attribute 'lastModified'.", + "format": "date-time", + "x-label": { + "default": "Last Modified" + }, + "readOnly": true, + "type": "string" + }, + "link": { + "description": "A link to the product.", + "type": "string" + }, + "localized_tax_class_id": { + "additionalProperties": { + "type": "string" + }, + "format": "localized", + "x-label": { + "default": "Localized Tax Class" + }, + "type": "object" + }, + "long_description": { + "additionalProperties": { + "$ref": "#/components/schemas/markup_text" + }, + "description": "The localized long description of the product.", + "format": "localized", + "x-label": { + "default": "Product Details" + }, + "type": "object" + }, + "manufacturer_name": { + "description": "The name of the product's manufacturer.", + "x-label": { + "default": "Manufacturer" + }, + "type": "string" + }, + "manufacturer_sku": { + "description": "The SKU of the product's manufacturer.", + "x-label": { + "default": "Manufacturer Product ID" + }, + "type": "string" + }, + "master": { + "$ref": "#/components/schemas/master" + }, + "name": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized name of the product.", + "format": "localized", + "x-label": { + "default": "Name" + }, + "type": "object" + }, + "online": { + "description": "The flag that indicates if the product is online, or not. This is a calculated value.", + "type": "boolean" + }, + "online_flag": { + "additionalProperties": { + "type": "boolean" + }, + "description": "The site specific online status of the product.", + "format": "site-specific", + "x-label": { + "default": "Online" + }, + "type": "object" + }, + "owning_catalog_id": { + "description": "The ID of the catalog that owns the product.", + "type": "string" + }, + "owning_catalog_name": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized name of the catalog that owns the product.", + "format": "localized", + "type": "object" + }, + "page_description": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized page description of the product.", + "format": "localized", + "x-label": { + "default": "Page Description" + }, + "type": "object" + }, + "page_keywords": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized page keywords of the product.", + "format": "localized", + "x-label": { + "default": "Page Keywords" + }, + "type": "object" + }, + "page_title": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized page title of the product.", + "format": "localized", + "x-label": { + "default": "Page Title" + }, + "type": "object" + }, + "price": { + "description": "The price of the product.", + "format": "double", + "type": "number" + }, + "price_currency": { + "description": "The currency code for product's price.", + "type": "string" + }, + "price_per_unit": { + "description": "The price per unit of the product", + "format": "double", + "type": "number" + }, + "primary_categories": { + "description": "The catalog categories that are primary for the product", + "items": { + "$ref": "#/components/schemas/catalog_category_id" + }, + "type": "array" + }, + "primary_category_id": { + "description": "The id of the products primary category.", + "type": "string" + }, + "product_bundles": { + "description": "The array of product bundles which the product belongs to.", + "items": { + "$ref": "#/components/schemas/product" + }, + "type": "array" + }, + "product_options": { + "description": "The array of product options. This is applicable for products of type \"option\".", + "items": { + "$ref": "#/components/schemas/product_option" + }, + "type": "array" + }, + "product_sets": { + "description": "The array of product sets which the product belongs to.", + "items": { + "$ref": "#/components/schemas/product" + }, + "type": "array" + }, + "searchable": { + "additionalProperties": { + "type": "boolean" + }, + "description": "The site specific searchable status of the product.", + "format": "site-specific", + "x-label": { + "default": "Searchable" + }, + "type": "object" + }, + "set_products": { + "description": "The array of set products which the product includes.", + "items": { + "$ref": "#/components/schemas/product" + }, + "type": "array" + }, + "short_description": { + "additionalProperties": { + "$ref": "#/components/schemas/markup_text" + }, + "description": "The localized short description of the product.", + "format": "localized", + "x-label": { + "default": "Description" + }, + "type": "object" + }, + "tax_class_id": { + "description": "The catalog categories that the product is assigned to", + "x-label": { + "default": "Tax Class" + }, + "type": "string" + }, + "type": { + "$ref": "#/components/schemas/product_type" + }, + "unit": { + "description": "The sales unit of the product.", + "x-label": { + "default": "Sales Unit" + }, + "type": "string" + }, + "unit_measure": { + "description": "The unitMeasure of the product.", + "x-label": { + "default": "Unit Measure" + }, + "type": "string" + }, + "unit_quantity": { + "description": "The unitQuantity of the product.", + "format": "double", + "x-label": { + "default": "Unit Quantity" + }, + "type": "number" + }, + "upc": { + "description": "The Universal Product Code of the product.", + "x-label": { + "default": "UPC" + }, + "type": "string" + }, + "valid_from": { + "additionalProperties": { + "format": "date-time", + "type": "string" + }, + "description": "The time when product is valid from.", + "format": "site-specific", + "x-label": { + "default": "Online From" + }, + "type": "object" + }, + "valid_to": { + "additionalProperties": { + "format": "date-time", + "type": "string" + }, + "description": "The time when product is valid to.", + "format": "site-specific", + "x-label": { + "default": "Online To" + }, + "type": "object" + }, + "variants": { + "description": "The array of variants of the product. This is applicable for product types \"master\" and \"variation_group\" only.", + "items": { + "$ref": "#/components/schemas/variant" + }, + "type": "array" + }, + "variation_attributes": { + "description": "The sorted array of variation attributes assigned to the product. This is applicable for product types \"master\",\n \"variation_group\" and \"variant\" only.", + "items": { + "$ref": "#/components/schemas/variation_attribute" + }, + "type": "array" + }, + "variation_groups": { + "description": "The array of variation groups in the product. This is applicable for product type \"master\" only.", + "items": { + "$ref": "#/components/schemas/variation_group" + }, + "type": "array" + }, + "variation_values": { + "additionalProperties": { + "type": "string" + }, + "description": "The variation values selected for the product in variation attribute id and value pairs. This is applicable for product types \"variant\" and\n \"variation_group\" only.\n\n Only for type variant and variation group.", + "type": "object" + } + } + }, + "product_inventory_record": { + "description": "

Document representing a product inventory record.

", + "properties": { + "allocation": { + "$ref": "#/components/schemas/product_inventory_record_allocation" + }, + "ats": { + "description": "The quantity of items available to sell (ATS). This is calculated as the allocation plus the\n preorderBackorderAllocation minus the turnover.", + "format": "double", + "type": "number" + }, + "creation_date": { + "description": "Returns the value of attribute 'creationDate'.", + "format": "date-time", + "x-label": { + "default": "Creation Date" + }, + "readOnly": true, + "type": "string" + }, + "in_stock_date": { + "description": "The date that the item is expected to be in stock.", + "format": "date-time", + "type": "string" + }, + "inventory_list_id": { + "description": "The user supplied ID of the inventory list.", + "type": "string" + }, + "inventory_turnover": { + "description": "The sum of all inventory transactions (decrements and increments) that have been recorded subsequent to the\n allocation was reset date. The quantity value can be negative due to higher quantity of inventory decrements than\n increments.", + "format": "double", + "type": "number" + }, + "last_modified": { + "description": "Returns the value of attribute 'lastModified'.", + "format": "date-time", + "x-label": { + "default": "Last Modified" + }, + "readOnly": true, + "type": "string" + }, + "link": { + "description": "The URL that is used to get this instance.", + "type": "string" + }, + "perpetual_flag": { + "description": "The flag that determines if the product is perpetually in stock.", + "type": "boolean" + }, + "pre_order_back_order_allocation": { + "description": "The quantity of items that are allocated for sale, beyond the initial stock allocation.", + "format": "double", + "type": "number" + }, + "pre_order_back_order_handling": { + "description": "The enum holding the records pre-backorder-handling configuration. Possible values are NONE, PREORDER and\n BACKORDER. Method returns NONE in case the record pre-backorder-handling-code is null or unknown.", + "enum": [ + "none", + "preorder", + "backorder" + ], + "type": "string" + }, + "product_id": { + "description": "The user supplied ID of the product.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "product_name": { + "description": "The name of the product.", + "type": "string" + }, + "quantity_on_order": { + "description": "The on order quantity, the quantity of all transactions for this record since the allocation reset date.", + "format": "double", + "type": "number" + }, + "stock_level": { + "description": "The current stock level. This is calculated as the allocation minus the turnover.", + "format": "double", + "type": "number" + } + } + }, + "product_inventory_record_allocation": { + "description": "

Document representing a product inventory record allocation.

", + "properties": { + "amount": { + "description": "The allocation quantity that is currently set. The quantity unit is the same unit as the product itself.", + "format": "double", + "minimum": 0, + "type": "number" + }, + "reset_date": { + "description": "The date the allocation quantity was initialized or reset.", + "format": "date-time", + "type": "string" + } + } + }, + "product_inventory_records": { + "description": "

Document representing an unfiltered list of inventory records.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "description": "The collection of product inventory records.", + "items": { + "$ref": "#/components/schemas/product_inventory_record" + }, + "type": "array" + }, + "expand": { + "description": "The list of expands set for the search request. Expands are optional.", + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "product_option": { + "description": "

Document representing a product option

", + "properties": { + "custom_name": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized custom name of the product option.", + "format": "localized", + "type": "object" + }, + "default_product_option_value": { + "description": "The default product option value.", + "type": "string" + }, + "description": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized description of the product option.", + "format": "localized", + "type": "object" + }, + "id": { + "description": "The object attribute definition id which is also the identifier for the product option.", + "minLength": 1, + "type": "string" + }, + "image": { + "$ref": "#/components/schemas/media_file" + }, + "link": { + "description": "The URL link to the product option.", + "type": "string" + }, + "name": { + "description": "The name of the object attribute definition.", + "type": "string" + }, + "selected_option_value": { + "description": "The selected option value of the product option.", + "type": "string" + }, + "shared": { + "description": "The flag that indicates if the product option is shared or local.", + "type": "boolean" + }, + "sorting_mode": { + "description": "The sorting mode for the product option values.", + "enum": [ + "byexplicitorder", + "byoptionprice" + ], + "type": "string" + }, + "values": { + "description": "The sorted array of values of the product option.", + "items": { + "$ref": "#/components/schemas/product_option_value" + }, + "type": "array" + } + } + }, + "product_option_value": { + "description": "

Document representing a product option Value

", + "properties": { + "default_product_option_value": { + "description": "Flag indicating if the product option value is the default value for the product option.", + "type": "boolean" + }, + "id": { + "description": "The id of the product option value.", + "minLength": 1, + "type": "string" + }, + "link": { + "description": "The URL link to the product option value.", + "type": "string" + }, + "option_prices": { + "description": "The list of prices in the product option value.", + "items": { + "$ref": "#/components/schemas/money" + }, + "type": "array" + }, + "sku_extension": { + "description": "The sku extension of the product option value.", + "type": "string" + }, + "value": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized value of the product option.", + "format": "localized", + "type": "object" + } + } + }, + "product_option_values": { + "description": "

Document representing an unfiltered list of product option values.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "$ref": "#/components/schemas/product_option_value" + }, + "type": "array" + }, + "expand": { + "description": "The list of expands set for the search request. Expands are optional.", + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "product_options": { + "description": "

Document representing an unfiltered list of product options.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "$ref": "#/components/schemas/product_option" + }, + "type": "array" + }, + "expand": { + "description": "The list of expands set for the search request. Expands are optional.", + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "product_search_result": { + "description": "

Document representing a product search result.

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. Can be empty.", + "items": { + "$ref": "#/components/schemas/product" + }, + "type": "array" + }, + "next": { + "$ref": "#/components/schemas/result_page" + }, + "previous": { + "$ref": "#/components/schemas/result_page" + }, + "query": { + "$ref": "#/components/schemas/query" + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/components/schemas/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "product_type": { + "description": "

Document representing a product type.

", + "properties": { + "bundle": { + "description": "A flag indicating whether the product is a bundle.", + "type": "boolean" + }, + "bundled": { + "description": "A flag indicating whether the product is bundled.", + "type": "boolean" + }, + "item": { + "description": "A flag indicating whether the product is a standard item.", + "type": "boolean" + }, + "master": { + "description": "A flag indicating whether the product is a master.", + "type": "boolean" + }, + "option": { + "description": "A flag indicating whether the product is an option.", + "type": "boolean" + }, + "part_of_product_set": { + "description": "A flag indicating whether the product is part of product set.", + "type": "boolean" + }, + "part_of_retail_set": { + "description": "A flag indicating whether the product is part of retail set.", + "type": "boolean" + }, + "retail_set": { + "description": "A flag indicating whether the product is a retail set.", + "type": "boolean" + }, + "set": { + "description": "A flag indicating whether the product is a set.", + "type": "boolean" + }, + "variant": { + "description": "A flag indicating whether the product is a variant.", + "type": "boolean" + }, + "variation_group": { + "description": "A flag indicating whether the product is a variation group.", + "type": "boolean" + } + } + }, + "promotion": { + "description": "

Document representing a promotion. Unless otherwise stated, attributes of this document are not supported when using\n the Open Commerce API to update multiple promotions at once.

", + "properties": { + "archived": { + "description": "Determines whether or not this promotion is archived. This attribute is allowed to be updated when using the Open\n Commerce API to update multiple promotions at once.", + "type": "boolean" + }, + "assignment_information": { + "$ref": "#/components/schemas/promotion_assignment_information" + }, + "callout_msg": { + "additionalProperties": { + "$ref": "#/components/schemas/markup_text" + }, + "description": "The localized callout message of the promotion.", + "format": "localized", + "x-label": { + "default": "Callout Message" + }, + "type": "object" + }, + "creation_date": { + "description": "Returns the value of attribute 'creationDate'.", + "format": "date-time", + "x-label": { + "default": "Creation Date" + }, + "readOnly": true, + "type": "string" + }, + "currency_code": { + "description": "The ISO 4217 mnemonic code of the currency this promotion is restricted to. If not populated, then there is no\n currency restriction on the promotion.", + "maxLength": 3, + "type": "string" + }, + "disable_globally_excluded": { + "description": "Determines whether or not this promotion ignores the global product exclusions for promotions. This attribute is\n allowed to be updated when using the Open Commerce API to update multiple promotions at once.", + "type": "boolean" + }, + "enabled": { + "description": "Determines whether or not this promotion is enabled. This attribute is allowed to be updated when using the Open\n Commerce API to update multiple promotions at once.", + "type": "boolean" + }, + "exclusivity": { + "description": "Determines if the promotion can be combined with other promotions of the same promotion class or if it cannot be\n combined with any other promotions. This attribute is allowed to be updated when using the Open Commerce API to\n update multiple promotions at once.", + "enum": [ + "no", + "class", + "global" + ], + "x-enum-labels": [ + { + "default": "Can't be combined with promotions of the same class." + }, + { + "default": "Can't be combined with any promotion." + }, + { + "default": "Can be combined with any promotion." + } + ], + "x-label": { + "default": "Exclusivity" + }, + "type": "string" + }, + "id": { + "description": "The id for the promotion.", + "x-label": { + "default": "ID" + }, + "type": "string" + }, + "last_modified": { + "description": "Returns the value of attribute 'lastModified'.", + "format": "date-time", + "x-label": { + "default": "Last Modified" + }, + "readOnly": true, + "type": "string" + }, + "link": { + "description": "A URL that is used to get the details of this promotion.", + "type": "string" + }, + "name": { + "additionalProperties": { + "type": "string" + }, + "description": "The user supplied name of this promotion, which can be localized", + "format": "localized", + "x-label": { + "default": "Name" + }, + "type": "object" + }, + "promotion_class": { + "description": "The class of the promotion. If the promotion class is modified, then the promotion rule and all of its values,\n such as whether or not to disable global product exclusions, will be reset.", + "enum": [ + "product", + "shipping", + "order" + ], + "type": "string" + }, + "tags": { + "description": "Returns the list of tags assigned to this promotion. If used to set the tags on a promotion, the promotion will\n only have the tags passed in the input. Any existing tags will be removed.", + "items": { + "$ref": "#/components/schemas/tag" + }, + "x-label": { + "default": "Tags" + }, + "type": "array" + } + } + }, + "promotion_abtest_group_assignment": { + "properties": { + "abtest_description": { + "type": "string" + }, + "abtest_id": { + "type": "string" + }, + "enabled": { + "type": "boolean" + }, + "schedule": { + "$ref": "#/components/schemas/schedule" + }, + "segment_description": { + "type": "string" + }, + "segment_id": { + "type": "string" + } + } + }, + "promotion_assignment_information": { + "description": "", + "properties": { + "abtest_id": { + "description": "If there is only one assignment, and that assignment is an A/B test segment, the id of the A/B test the segment\n belongs to. Otherwise, empty.", + "type": "string" + }, + "abtest_segment_id": { + "description": "If there is only one assignment, and that assignment is an A/B test segment, the id of the A/B test segment.\n Otherwise, empty.", + "type": "string" + }, + "active": { + "description": "true if the individual assignment or the multiple assignments are currently active (applicable only for non default schedule assignments i.e. either campaign or A/B test schedule).", + "type": "boolean" + }, + "active_abtest_assignments": { + "description": "A list of currently active A/B tests this is assigned to.", + "items": { + "$ref": "#/components/schemas/promotion_abtest_group_assignment" + }, + "type": "array" + }, + "active_campaign_assignments": { + "description": "A list of currently active campaigns this is assigned to.", + "items": { + "$ref": "#/components/schemas/promotion_campaign_assignment" + }, + "type": "array" + }, + "campaign_id": { + "description": "If there is only one assignment, and that assignment is a campaign, the id of the campaign. Otherwise, empty.", + "type": "string" + }, + "enabled": { + "type": "boolean" + }, + "end_date": { + "description": "The end date of the container of the assignment (a Campaign or ABTest). If schedule_type is\n schedule_type : \"multiple\" or schedule_type : \"none\", then then result will be null. Also, a null\n date will also return null.", + "format": "date-time", + "type": "string" + }, + "schedule": { + "$ref": "#/components/schemas/schedule" + }, + "schedule_type": { + "description": "If there is only one active assignment, or no active assignments and one upcoming assignment, this is that type\n of assignment (schedule_type : \"campaign\" or schedule_type : \"abtest\"). If there are no\n assignments, it will be schedule_type : \"none\", otherwise, schedule_type : \"multiple\".", + "enum": [ + "none", + "campaign", + "abtest", + "multiple" + ], + "type": "string" + }, + "start_date": { + "description": "The start date of the container of the assignment (a Campaign or ABTest). If schedule_type is\n schedule_type : \"multiple\" or schedule_type : \"none\", then then result will be null. Also, a null\n date will also return null.", + "format": "date-time", + "type": "string" + }, + "upcoming_abtest_assignments": { + "description": "A list of upcoming A/B tests this is assigned to.", + "items": { + "$ref": "#/components/schemas/promotion_abtest_group_assignment" + }, + "type": "array" + }, + "upcoming_campaign_assignments": { + "description": "A list of upcoming campaigns this is assigned to.", + "items": { + "$ref": "#/components/schemas/promotion_campaign_assignment" + }, + "type": "array" + } + } + }, + "promotion_campaign_assignment": { + "description": "

Document representing a promotion campaign assignment.

", + "properties": { + "campaign": { + "$ref": "#/components/schemas/campaign" + }, + "campaign_id": { + "description": "The id of the campaign.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "coupons": { + "description": "The sorted array of assigned coupon ids.", + "items": { + "type": "string" + }, + "type": "array" + }, + "coupons_based": { + "description": "True if the assigned promotion is coupon based. When set to false, Coupons in the campaign and on the\n PromotionCampaignAssignment are ignored. The default value is true.", + "type": "boolean" + }, + "creation_date": { + "format": "date-time", + "type": "string" + }, + "customer_groups": { + "description": "The sorted array of assigned customer groups.", + "items": { + "type": "string" + }, + "type": "array" + }, + "customer_groups_based": { + "description": "True if the assigned promotion is customer group based. When set to false, Customer Groups in the campaign and on\n the PromotionCampaignAssignment are ignored. The default value is true.", + "type": "boolean" + }, + "description": { + "description": "The description of the promotion campaign assignment.", + "maxLength": 4000, + "type": "string" + }, + "enabled": { + "description": "True if the assignment resource is enabled", + "type": "boolean" + }, + "last_modified": { + "format": "date-time", + "type": "string" + }, + "link": { + "description": "link for convenience", + "type": "string" + }, + "promotion": { + "$ref": "#/components/schemas/promotion" + }, + "promotion_id": { + "description": "The id of the Promotion.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "rank": { + "description": "The rank of promotion campaign assignment", + "format": "int32", + "type": "integer" + }, + "required_qualifier": { + "description": "A constant indicating that one or all qualifier conditions must be\n met in order for the promotion to apply for a given customer.\n Valid values are \"any\" and \"all\".", + "enum": [ + "any", + "all" + ], + "type": "string" + }, + "schedule": { + "$ref": "#/components/schemas/schedule" + }, + "source_code_based": { + "description": "True if the assigned promotion is source code group based. When set to false, Source Code Groups in the campaign and on\n the PromotionCampaignAssignment are ignored. The default value is true.", + "type": "boolean" + }, + "source_code_groups": { + "description": "The sorted array of assigned source code groups.", + "items": { + "type": "string" + }, + "type": "array" + } + } + }, + "promotion_campaign_assignment_search_result": { + "description": "

Document representing a promotion campaign assignment search result.

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. Can be empty.", + "items": { + "$ref": "#/components/schemas/promotion_campaign_assignment" + }, + "type": "array" + }, + "next": { + "$ref": "#/components/schemas/result_page" + }, + "previous": { + "$ref": "#/components/schemas/result_page" + }, + "query": { + "$ref": "#/components/schemas/query" + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/components/schemas/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "promotion_search_result": { + "description": "

Document representing a promotion search result.

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. Can be empty.", + "items": { + "$ref": "#/components/schemas/promotion" + }, + "type": "array" + }, + "next": { + "$ref": "#/components/schemas/result_page" + }, + "previous": { + "$ref": "#/components/schemas/result_page" + }, + "query": { + "$ref": "#/components/schemas/query" + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/components/schemas/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "promotions": { + "description": "

A set of promotions

", + "properties": { + "count": { + "format": "int32", + "type": "integer" + }, + "data": { + "description": "The set of promotions", + "items": { + "$ref": "#/components/schemas/promotion" + }, + "type": "array" + }, + "expand": { + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "type": "string" + }, + "previous": { + "type": "string" + }, + "select": { + "type": "string" + }, + "start": { + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "format": "int32", + "type": "integer" + } + } + }, + "query": { + "description": "

Document representing a query. A query contains a set of objects that define criteria\n used to select records. A query can contain one of the following:\n

    \n
  • match_all_query - returns all records.
  • \n
  • term_query - matches records where a field (or fields) exactly match some simple value (including null).
  • \n
  • text_query - matches records where a field (or fields) contain a search phrase.
  • \n
  • boolean_query - formulates a complex boolean expression using query objects as criteria.
  • \n
  • filtered_query - allows for filtering of records based on both a query and a filter.
  • \n

" + }, + "query_filter": { + "description": "

Document representing a query filter. A query filter wraps any query and allows it to be used as a filter.\n \n Example: (coupon_id contains \"disabled\" AND (enabled=false OR active=false))\n

 \n query : {\n    filtered_query: {\n        query: { text_query: { fields: [\"coupon_id\"], search_phrase: \"disabled\" } },\n        filter: {\n            query_filter: {\n                query: {\n                    term_query: { fields: [\"enabled\",\"active\"], operator: \"is\", values: [ false ] }\n                }\n            }\n        }\n    }\n }\n  

", + "properties": { + "query": { + "$ref": "#/components/schemas/query" + } + }, + "required": [ + "query" + ] + }, + "range2_filter": { + "description": "

Document representing a range comparison with a range filter, named Range2Filter.

\n\n

A Range2Filter allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range.

\n

The first range (R1) is defined by a pair of attributes (\"from_field\" and \"to_field\") that specify the extent of a range, such as the attributes \"valid_from\" and \"valid_to\".

\n

The second range (R2) is defined by \"from_value\" and \"to_value\".

\n

The filter mode specifies the method used to compare the two ranges:

\n
    \n
  • overlap: R1 overlaps fully or partially with R2
  • \n
  • containing: R1 contains R2
  • \n
  • contained: R1 is contained in R2
  • \n
\n

The range filter supports several value types, and relies on the natural sorting of the value type\n for range interpretation. Value ranges can be open-ended (at one end only). You can configure whether the\n lower and upper bounds are inclusive or exclusive.

\n

A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because \n the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for\n every query (for example, if the user controls the date range down to the hour via a UI control). Range filters\n are inclusive by default.

\n\n

Example: (valid dates overlap with the range January 1, 2007 through January 1, 2017)\n

 \n \"query\" : {\n        \"filtered_query\": {\n           \"filter\": {\n                \"range2_filter\": {\n                    \"from_field\": \"valid_from\",\n                    \"to_field\": \"valid_to\",\n                    \"filter_mode\":\"overlap\",\n                    \"from_value\": \"2007-01-01T00:00:00.000Z\",\n                    \"to_value\": \"2017-01-01T00:00:00.000Z\"\n                }\n           },\n           \"query\": { \"match_all_query\": {} }\n       }\n   }\n  

", + "properties": { + "filter_mode": { + "description": "Compare mode: overlap, containing, or contained. If not specified, the default is overlap.", + "enum": [ + "overlap", + "containing", + "contained" + ], + "type": "string" + }, + "from_field": { + "description": "The field name of the field that starts the first range.", + "type": "string" + }, + "from_inclusive": { + "description": "Indicates whether the lower bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive.", + "type": "boolean" + }, + "from_value": { + "description": "The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended.", + "type": "object" + }, + "to_field": { + "description": "The field name of the field that ends the first range.", + "type": "string" + }, + "to_inclusive": { + "description": "Indicates whether the upper bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive.", + "type": "boolean" + }, + "to_value": { + "description": "The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended.", + "type": "object" + } + }, + "required": [ + "from_field", + "to_field" + ] + }, + "range_filter": { + "description": "

Document representing a range filter.\n \n A range filter allows you to restrict a search result to hits that have values for a given attribute that fall into a\n given value range. The range filter supports several value types, and relies on the natural sorting of the value type\n for range interpretation. Value ranges can be open-ended (at one end only). You can configure whether the\n lower and upper bounds are inclusive or exclusive.\n \n A range filter is useful for general restrictions that can be shared between searches (like a static date range) because\n the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for\n every query (for example, if the user controls the date range down to the hour via a UI control). Range filters\n are inclusive by default.\n \n Example: ( redemption_count BETWEEN (0,10] )\n

 \n    query: {\n        filtered_query: {\n            query: { match_all_query: {} },\n            filter: {\n                range_filter: {\n                    field: \"redemption_count\",\n                    from: 0,\n                    to: 10,\n                    from_inclusive: false\n                }\n            }\n        }\n    }\n  

", + "properties": { + "field": { + "description": "The search field.", + "type": "string" + }, + "from": { + "description": "The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended.", + "type": "object" + }, + "from_inclusive": { + "description": "Indicates whether the lower bound of the range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive.", + "type": "boolean" + }, + "to": { + "description": "The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended.", + "type": "object" + }, + "to_inclusive": { + "description": "Indicates whether the upper bound of the range is inclusive. If not specified, the default is true. Set to false to made the upper bound exclusive.", + "type": "boolean" + } + }, + "required": [ + "field" + ] + }, + "recommender": { + "description": "

The recommender object

", + "properties": { + "description": { + "description": "The description of the recommender", + "type": "string" + }, + "name": { + "description": "The name of the recommender", + "type": "string" + } + } + }, + "recommenders_result": { + "description": "

A list of recommenders available for use in recommendation requests.

", + "properties": { + "recommenders": { + "description": "The recommender objects", + "items": { + "$ref": "#/components/schemas/recommender" + }, + "type": "array" + } + } + }, + "recurrence": { + "description": "

Document representing a schedule recurrence.

", + "properties": { + "day_of_week": { + "description": "The days of week for recurrence.", + "enum": [ + "monday", + "tuesday", + "wednesday", + "thursday", + "friday", + "saturday", + "sunday" + ], + "items": { + "enum": [ + "monday", + "tuesday", + "wednesday", + "thursday", + "friday", + "saturday", + "sunday" + ], + "type": "string" + }, + "type": "array" + }, + "time_of_day": { + "$ref": "#/components/schemas/time_of_day" + } + } + }, + "redemption_limit_per_period": { + "description": "

Document representing a coupon redemption limit.

", + "properties": { + "limit": { + "description": "The limit on the number of times a coupon can be redeemed for a specified redemption time period.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "redemption_time_frame": { + "description": "The redemption time period.", + "format": "int32", + "maximum": 999, + "minimum": 0, + "type": "integer" + } + } + }, + "redemption_limits": { + "description": "

Document representing a coupon.

", + "properties": { + "limit_per_code": { + "description": "The redemption limit per code", + "format": "int32", + "x-label": { + "default": "Redemptions per Code" + }, + "minimum": 0, + "type": "integer" + }, + "limit_per_customer": { + "description": "The redemption limit per customer", + "format": "int32", + "x-label": { + "default": "Redemptions per Customer" + }, + "minimum": 0, + "type": "integer" + }, + "limit_per_time_frame": { + "$ref": "#/components/schemas/redemption_limit_per_period" + } + } + }, + "resource_info": { + "description": "", + "properties": { + "allowed_origins": { + "description": "Allowed Origins", + "items": { + "type": "string" + }, + "type": "array" + }, + "api_type": { + "description": "API Type", + "enum": [ + "data", + "shop" + ], + "type": "string" + }, + "resources": { + "description": "An array of resources", + "items": { + "$ref": "#/components/schemas/resource_object" + }, + "minItems": 1, + "type": "array" + }, + "response_headers": { + "additionalProperties": { + "type": "string" + }, + "description": "Response Header", + "type": "object" + } + }, + "required": [ + "api_type", + "resources" + ] + }, + "resource_object": { + "description": "

Object to represent a resource in ocapi_config_api_request

", + "properties": { + "cache_time": { + "description": "Resource Cache time", + "format": "int32", + "type": "integer" + }, + "config": { + "additionalProperties": { + "type": "string" + }, + "description": "Configuration of the resource", + "type": "object" + }, + "methods": { + "description": "Allowed methods of the resource", + "items": { + "type": "string" + }, + "minItems": 1, + "type": "array" + }, + "personalized_caching_enabled": { + "description": "Indicate if the personalized caching is enabled for the resource", + "type": "boolean" + }, + "read_attributes": { + "description": "Read attributes of the resource", + "type": "string" + }, + "resource_id": { + "description": "Resource ID", + "minLength": 1, + "type": "string" + }, + "version_range": { + "$ref": "#/components/schemas/version_range_object" + }, + "write_attributes": { + "description": "Write attributes of the resource", + "type": "string" + } + }, + "required": [ + "methods", + "resource_id" + ] + }, + "result_page": { + "description": "

Data that can be used to get the next and previous page of a Data API results object.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "type": "integer" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "type": "integer" + } + } + }, + "role": { + "description": "

Document representing an access role.

", + "properties": { + "creation_date": { + "format": "date-time", + "type": "string" + }, + "description": { + "description": "The role description.", + "type": "string" + }, + "id": { + "description": "The role ID.", + "type": "string" + }, + "last_modified": { + "format": "date-time", + "type": "string" + }, + "link": { + "description": "URL that is used to get this instance. This property is computed and cannot be modified.", + "type": "string" + }, + "permissions": { + "$ref": "#/components/schemas/role_permissions" + }, + "user_count": { + "description": "Number of users assigned to the role.", + "format": "int32", + "type": "integer" + }, + "user_manager": { + "description": "Flag whether this role is allowed to manage users or other access roles.", + "type": "boolean" + }, + "users": { + "description": "The users assigned to the access role. Available through expands.", + "items": { + "$ref": "#/components/schemas/user" + }, + "type": "array" + } + } + }, + "role_functional_permission": { + "description": "

Document representing a functional permission.

", + "properties": { + "name": { + "description": "The name of the functional permission.", + "minLength": 1, + "type": "string" + }, + "type": { + "description": "The permission type (\"functional\").", + "minLength": 1, + "type": "string" + }, + "value": { + "description": "The non domain specific value for the functional permission, e.g. ACCESS or READONLY.", + "type": "string" + }, + "values": { + "additionalProperties": { + "type": "string" + }, + "description": "The map of value per domain for the functional permission, e.g. ACCESS or READONLY per domain name.", + "type": "object" + } + }, + "required": [ + "name", + "type" + ] + }, + "role_functional_permissions": { + "description": "

Document listing the functional permissions assigned to a certain role.

", + "properties": { + "organization": { + "description": "The list of organization functional permissions.", + "items": { + "$ref": "#/components/schemas/role_functional_permission" + }, + "type": "array" + }, + "site": { + "description": "The list of site functional permissions.", + "items": { + "$ref": "#/components/schemas/role_functional_permission" + }, + "type": "array" + } + } + }, + "role_locale_permission": { + "description": "

Document representing a locale permission.

", + "properties": { + "locale_id": { + "description": "The related locale id of the locale permission.", + "minLength": 1, + "type": "string" + }, + "type": { + "description": "The permission type (\"locale\").", + "minLength": 1, + "type": "string" + }, + "value": { + "description": "The non domain specific value for the locale permission, e.g. ACCESS or READONLY.", + "type": "string" + }, + "values": { + "additionalProperties": { + "type": "string" + }, + "description": "The map of value per domain for the locale permission, e.g. ACCESS or READONLY per domain name.", + "type": "object" + } + }, + "required": [ + "locale_id", + "type" + ] + }, + "role_locale_permissions": { + "description": "

Document listing the locale permissions assigned to a certain role.

", + "properties": { + "unscoped": { + "description": "The list of unscoped locale permissions.", + "items": { + "$ref": "#/components/schemas/role_locale_permission" + }, + "type": "array" + } + } + }, + "role_module_permission": { + "description": "

Document representing a module permission.

", + "properties": { + "application": { + "description": "The permission application (e.g. \"bm\", \"csc\").", + "minLength": 1, + "type": "string" + }, + "name": { + "description": "The related menu action name of the module permission.", + "minLength": 1, + "type": "string" + }, + "system": { + "description": "Flag to indicate a system menu action. This is false for custom menu actions.", + "type": "boolean" + }, + "type": { + "description": "The permission type (\"module\").", + "minLength": 1, + "type": "string" + }, + "value": { + "description": "The non domain specific value for the module permission, e.g. ACCESS or READONLY.", + "type": "string" + }, + "values": { + "additionalProperties": { + "type": "string" + }, + "description": "The map of value per domain for the module permission, e.g. ACCESS or READONLY per domain name.", + "type": "object" + } + }, + "required": [ + "application", + "name", + "type" + ] + }, + "role_module_permissions": { + "description": "

Document listing the module permissions assigned to a certain role.

", + "properties": { + "organization": { + "description": "The list of organization module permissions.", + "items": { + "$ref": "#/components/schemas/role_module_permission" + }, + "type": "array" + }, + "site": { + "description": "The list of site module permissions.", + "items": { + "$ref": "#/components/schemas/role_module_permission" + }, + "type": "array" + } + } + }, + "role_permissions": { + "description": "

Document listing the permissions assigned to a certain role (accessible by type).

", + "properties": { + "functional": { + "$ref": "#/components/schemas/role_functional_permissions" + }, + "locale": { + "$ref": "#/components/schemas/role_locale_permissions" + }, + "module": { + "$ref": "#/components/schemas/role_module_permissions" + }, + "webdav": { + "$ref": "#/components/schemas/role_webdav_permissions" + } + } + }, + "role_search_request": { + "description": "

Document representing an role search.\n\n Note that only either an user ID or a permission can be provided (or none), but not both. When one of them is provided,\n the further query elements will filter the respective role set (meaning the user ID / permission is AND-connected to the query definition).\n\n When a permission definition is using a site scope, it can contain only one site.\n\n When optional fields in the permission definitions are not provided, they will be treated as 'don't care' (so its e.g. possible so search for\n permission to site-specific BM modules without providing a site, and the search will return all roles having that permission for any site).

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "maximum": 200, + "minimum": 1, + "type": "integer" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "permissions": { + "$ref": "#/components/schemas/role_permissions" + }, + "query": { + "$ref": "#/components/schemas/query" + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/components/schemas/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "user_id": { + "description": "The id of the user whose roles are to be searched.", + "type": "string" + } + }, + "required": [ + "query" + ] + }, + "role_search_result": { + "description": "

Document representing an access role search result.

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. Can be empty.", + "items": { + "$ref": "#/components/schemas/role" + }, + "type": "array" + }, + "next": { + "$ref": "#/components/schemas/result_page" + }, + "previous": { + "$ref": "#/components/schemas/result_page" + }, + "query": { + "$ref": "#/components/schemas/query" + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/components/schemas/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "role_webdav_permission": { + "description": "

Document representing a WebDAV permission.

", + "properties": { + "folder": { + "description": "The related folder of the WebDAV permission.", + "minLength": 1, + "type": "string" + }, + "type": { + "description": "The permission type (\"webdav\").", + "minLength": 1, + "type": "string" + }, + "value": { + "description": "The non domain specific value for the WebDAV permission, e.g. ACCESS or READONLY.", + "type": "string" + }, + "values": { + "additionalProperties": { + "type": "string" + }, + "description": "The map of value per domain for the WebDAV permission, e.g. ACCESS or READONLY per domain name.", + "type": "object" + } + }, + "required": [ + "folder", + "type" + ] + }, + "role_webdav_permissions": { + "description": "

Document listing the WebDAV permissions assigned to a certain role.

", + "properties": { + "unscoped": { + "description": "The list of unscoped WebDAV permissions.", + "items": { + "$ref": "#/components/schemas/role_webdav_permission" + }, + "type": "array" + } + } + }, + "roles": { + "description": "

Document representing a list of access roles.

", + "properties": { + "count": { + "format": "int32", + "type": "integer" + }, + "data": { + "description": "The list of access roles.", + "items": { + "$ref": "#/components/schemas/role" + }, + "type": "array" + }, + "expand": { + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "type": "string" + }, + "previous": { + "type": "string" + }, + "select": { + "type": "string" + }, + "start": { + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "format": "int32", + "type": "integer" + } + } + }, + "rule": { + "description": "

Document representing a customer group rule

", + "properties": { + "description": { + "description": "The description of the rule, describing its conditions in natural language. Property is read-only.", + "type": "string" + } + } + }, + "schedule": { + "description": "

Document representing a time schedule for slots.

", + "properties": { + "end_date": { + "description": "The date to end of validity. ISO8601 date time format: yyyy-MM-dd'T'HH:mm:ssZ.", + "format": "date-time", + "type": "string" + }, + "recurrence": { + "$ref": "#/components/schemas/recurrence" + }, + "start_date": { + "description": "The date to start validity. ISO8601 date time format: yyyy-MM-dd'T'HH:mm:ssZ.", + "format": "date-time", + "type": "string" + } + } + }, + "search_request": { + "description": "

Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields that each query supports are defined within the search resource.

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "maximum": 200, + "minimum": 1, + "type": "integer" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "query": { + "$ref": "#/components/schemas/query" + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/components/schemas/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "query" + ] + }, + "shipping_address_update_request": { + "description": "

Request body to update the order shipping address.

", + "properties": { + "address1": { + "type": "string" + }, + "address2": { + "type": "string" + }, + "city": { + "type": "string" + }, + "company_name": { + "type": "string" + }, + "country_code": { + "type": "string" + }, + "first_name": { + "type": "string" + }, + "full_name": { + "x-label": { + "default": "Full Name" + }, + "type": "string" + }, + "id": { + "type": "string" + }, + "job_title": { + "type": "string" + }, + "last_name": { + "type": "string" + }, + "phone": { + "type": "string" + }, + "post_box": { + "type": "string" + }, + "postal_code": { + "type": "string" + }, + "salutation": { + "type": "string" + }, + "second_name": { + "type": "string" + }, + "state_code": { + "type": "string" + }, + "suffix": { + "type": "string" + }, + "suite": { + "type": "string" + }, + "title": { + "type": "string" + } + } + }, + "site": { + "description": "

Document representing a site.

", + "properties": { + "cartridges": { + "description": "The cartridge Path of the site", + "type": "string" + }, + "creation_date": { + "format": "date-time", + "type": "string" + }, + "customer_list_link": { + "$ref": "#/components/schemas/customer_list_link" + }, + "description": { + "additionalProperties": { + "type": "string" + }, + "description": "The description of this site.", + "format": "localized", + "type": "object" + }, + "display_name": { + "additionalProperties": { + "type": "string" + }, + "description": "The display name entered by the user.", + "format": "localized", + "type": "object" + }, + "id": { + "description": "The id of this site.", + "minLength": 1, + "type": "string" + }, + "in_deletion": { + "description": "The deletion status of this site, true if in deletion", + "type": "boolean" + }, + "last_modified": { + "format": "date-time", + "type": "string" + }, + "link": { + "description": "A link directly to the site", + "type": "string" + }, + "storefront_status": { + "enum": [ + "online", + "maintenance", + "to_be_deleted", + "protected" + ], + "type": "string" + } + }, + "required": [ + "id" + ] + }, + "site_preferences": { + "description": "

Represents a set of preferences attached at the organization level.

", + "properties": { + "link": { + "description": "A URL that returns the full details for a custom preference", + "type": "string" + }, + "site": { + "$ref": "#/components/schemas/site" + } + } + }, + "site_resource_info": { + "description": "

Object to represent a site configuration and available resources in the site configuration.

", + "properties": { + "site_configs": { + "description": "Site configuration", + "items": { + "$ref": "#/components/schemas/resource_info" + }, + "type": "array" + }, + "site_id": { + "description": "Site ID", + "type": "string" + } + }, + "required": [ + "site_configs" + ] + }, + "site_search_result": { + "description": "

Document representing a site search result.

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. Can be empty.", + "items": { + "$ref": "#/components/schemas/site" + }, + "type": "array" + }, + "next": { + "$ref": "#/components/schemas/result_page" + }, + "previous": { + "$ref": "#/components/schemas/result_page" + }, + "query": { + "$ref": "#/components/schemas/query" + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/components/schemas/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "sites": { + "description": "

Document representing an unfiltered list of sites.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "$ref": "#/components/schemas/site" + }, + "type": "array" + }, + "expand": { + "description": "The list of expands set for the search request. Expands are optional.", + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "slot": { + "description": "

Document representing a slot

", + "properties": { + "context_type": { + "description": "A slot context", + "enum": [ + "global", + "category", + "folder" + ], + "type": "string" + }, + "creation_date": { + "format": "date-time", + "type": "string" + }, + "description": { + "description": "The user supplied description of the slot", + "maxLength": 4000, + "type": "string" + }, + "last_modified": { + "format": "date-time", + "type": "string" + }, + "link": { + "description": "A link to the slot", + "type": "string" + }, + "preview_url": { + "description": "A preview URL the slot", + "type": "string" + }, + "slot_configurations": { + "description": "A list of slotconfigurations this slot has", + "items": { + "$ref": "#/components/schemas/slot_configuration" + }, + "type": "array" + }, + "slot_id": { + "description": "The id for the slot", + "maxLength": 256, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "slot_id" + ] + }, + "slot_configuration": { + "description": "

Document representing a slot configuration.

", + "properties": { + "assignment_information": { + "$ref": "#/components/schemas/slot_configuration_assignment_information" + }, + "callout_msg": { + "additionalProperties": { + "$ref": "#/components/schemas/markup_text" + }, + "description": "The call out message.", + "format": "localized", + "x-label": { + "default": "Callout" + }, + "type": "object" + }, + "configuration_id": { + "description": "The id of this configuration.", + "x-label": { + "default": "ID" + }, + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "context": { + "description": "The context of the slot. Ignored in input documents.", + "enum": [ + "global", + "category", + "folder" + ], + "type": "string" + }, + "context_id": { + "description": "When the context is category, this is a category_id; when\n the context is folder, this is a folder_id; and when the\n context is global, this is obsolete. This is ignored in input documents.", + "type": "string" + }, + "creation_date": { + "description": "Returns the value of attribute 'creationDate'.", + "format": "date-time", + "x-label": { + "default": "Creation Date" + }, + "readOnly": true, + "type": "string" + }, + "customer_groups": { + "description": "The customer groups ids.", + "items": { + "type": "string" + }, + "type": "array" + }, + "default": { + "description": "A flag indicating whether the configuration is the default one for the slot.", + "type": "boolean" + }, + "description": { + "description": "The configuration description.", + "maxLength": 4000, + "type": "string" + }, + "enabled": { + "description": "A flag indicating whether the slot is enabled.", + "type": "boolean" + }, + "last_modified": { + "description": "Returns the value of attribute 'lastModified'.", + "format": "date-time", + "x-label": { + "default": "Last Modified" + }, + "readOnly": true, + "type": "string" + }, + "link": { + "description": "The link.", + "type": "string" + }, + "rank": { + "description": "The rank of the slot configuration on its slot. This rank has nothing to do with the rank\n on any campaign-assignment, because these are completely different objects. These must be\n updated separately.", + "enum": [ + 10, + 20, + 30, + 40, + 50, + 60, + 70, + 80, + 90, + 100 + ], + "format": "int32", + "x-label": { + "default": "Rank" + }, + "minimum": 1, + "type": "integer" + }, + "schedule": { + "$ref": "#/components/schemas/schedule" + }, + "slot_content": { + "$ref": "#/components/schemas/slot_content" + }, + "slot_id": { + "description": "The ID of the slot. Ignored in input documents.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "template": { + "description": "The template.", + "maxLength": 256, + "type": "string" + }, + "uuid": { + "description": "The uuid of the slot configuration. This property cannot be written\n and is ignored in input documents.", + "x-label": { + "default": "UUID" + }, + "maxLength": 28, + "minLength": 1, + "readOnly": true, + "type": "string" + } + }, + "required": [ + "slot_content" + ] + }, + "slot_configuration_abtest_group_assignment": { + "properties": { + "abtest_description": { + "type": "string" + }, + "abtest_id": { + "type": "string" + }, + "enabled": { + "type": "boolean" + }, + "schedule": { + "$ref": "#/components/schemas/schedule" + }, + "segment_description": { + "type": "string" + }, + "segment_id": { + "type": "string" + } + } + }, + "slot_configuration_assignment_information": { + "description": "", + "properties": { + "abtest_id": { + "description": "If there is only one assignment, and that assignment is an A/B test segment, the id of the A/B test the segment\n belongs to. Otherwise, empty.", + "type": "string" + }, + "abtest_segment_id": { + "description": "If there is only one assignment, and that assignment is an A/B test segment, the id of the A/B test segment.\n Otherwise, empty.", + "type": "string" + }, + "active": { + "description": "true if the individual assignment or the multiple assignments are currently active (applicable only for non default schedule assignments i.e. either campaign or A/B test schedule).", + "type": "boolean" + }, + "active_abtest_assignments": { + "description": "A list of currently active A/B tests this is assigned to.", + "items": { + "$ref": "#/components/schemas/slot_configuration_abtest_group_assignment" + }, + "type": "array" + }, + "active_campaign_assignments": { + "description": "A list of currently active campaigns this is assigned to.", + "items": { + "$ref": "#/components/schemas/slot_configuration_campaign_assignment" + }, + "type": "array" + }, + "campaign_id": { + "description": "If there is only one assignment, and that assignment is a campaign, the id of the campaign. Otherwise, empty.", + "type": "string" + }, + "enabled": { + "type": "boolean" + }, + "end_date": { + "description": "The end date of the container of the assignment (a Campaign or ABTest). If schedule_type is\n schedule_type : \"multiple\" or schedule_type : \"none\", then then result will be null. Also, a null\n date will also return null.", + "format": "date-time", + "type": "string" + }, + "schedule": { + "$ref": "#/components/schemas/schedule" + }, + "schedule_type": { + "description": "If there is only one active assignment, or no active assignments and one upcoming assignment, this is that type\n of assignment (schedule_type : \"campaign\" or schedule_type : \"abtest\"). If there are no\n assignments, it will be schedule_type : \"none\", otherwise, schedule_type : \"multiple\".", + "enum": [ + "none", + "campaign", + "abtest", + "multiple" + ], + "type": "string" + }, + "start_date": { + "description": "The start date of the container of the assignment (a Campaign or ABTest). If schedule_type is\n schedule_type : \"multiple\" or schedule_type : \"none\", then then result will be null. Also, a null\n date will also return null.", + "format": "date-time", + "type": "string" + }, + "upcoming_abtest_assignments": { + "description": "A list of upcoming A/B tests this is assigned to.", + "items": { + "$ref": "#/components/schemas/slot_configuration_abtest_group_assignment" + }, + "type": "array" + }, + "upcoming_campaign_assignments": { + "description": "A list of upcoming campaigns this is assigned to.", + "items": { + "$ref": "#/components/schemas/slot_configuration_campaign_assignment" + }, + "type": "array" + } + } + }, + "slot_configuration_campaign_assignment": { + "description": "

Document representing a slot_configuration_campaign_assignment

", + "properties": { + "campaign": { + "$ref": "#/components/schemas/campaign" + }, + "campaign_id": { + "description": "The id of the campaign that has the slot configuration assigned to it.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "context": { + "description": "The slot context.", + "enum": [ + "global", + "category", + "folder" + ], + "type": "string" + }, + "creation_date": { + "format": "date-time", + "type": "string" + }, + "customer_groups": { + "description": "The list of customer groups.", + "items": { + "type": "string" + }, + "type": "array" + }, + "description": { + "description": "The description of the slot configuration.", + "maxLength": 4000, + "type": "string" + }, + "enabled": { + "description": "True if the assignment resource is enabled", + "type": "boolean" + }, + "last_modified": { + "format": "date-time", + "type": "string" + }, + "link": { + "description": "The URL to the slot configuration-campaign assignment.", + "type": "string" + }, + "rank": { + "description": "The rank of the slot confiuration-campaign assignment.\n This is different than the rank of the slot configuration.", + "format": "int32", + "minimum": 1, + "type": "integer" + }, + "schedule": { + "$ref": "#/components/schemas/schedule" + }, + "slot_configuration": { + "$ref": "#/components/schemas/slot_configuration" + }, + "slot_configuration_id": { + "description": "The ID of the slot configuration.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "slot_configuration_uuid": { + "description": "The UUID of the slot configuration.", + "maxLength": 28, + "type": "string" + }, + "slot_context_id": { + "description": "The ID of the slot's context, for example, the category ID for a slot with category context.", + "maxLength": 256, + "type": "string" + }, + "slot_id": { + "description": "The ID of the slot.", + "maxLength": 256, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "context", + "slot_configuration_id", + "slot_id" + ] + }, + "slot_configuration_campaign_assignment_search_result": { + "description": "", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. Can be empty.", + "items": { + "$ref": "#/components/schemas/slot_configuration_campaign_assignment" + }, + "type": "array" + }, + "next": { + "$ref": "#/components/schemas/result_page" + }, + "previous": { + "$ref": "#/components/schemas/result_page" + }, + "query": { + "$ref": "#/components/schemas/query" + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/components/schemas/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "slot_configuration_search_result": { + "description": "

Document representing a slot configuration search result.

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. This array can be empty.", + "items": { + "$ref": "#/components/schemas/slot_configuration" + }, + "type": "array" + }, + "next": { + "$ref": "#/components/schemas/result_page" + }, + "previous": { + "$ref": "#/components/schemas/result_page" + }, + "query": { + "$ref": "#/components/schemas/query" + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/components/schemas/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "slot_configurations": { + "description": "

Document representing an unfiltered list of slot configurations.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "$ref": "#/components/schemas/slot_configuration" + }, + "type": "array" + }, + "expand": { + "description": "The list of expands set for the search request. Expands are optional.", + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "slot_content": { + "description": "

Document representing the content type for a slot.

", + "properties": { + "body": { + "additionalProperties": { + "$ref": "#/components/schemas/markup_text" + }, + "description": "The HTML body (valid only for type 'html').", + "format": "localized", + "type": "object" + }, + "category_ids": { + "description": "The category ids (valid only for type 'categories').", + "items": { + "type": "string" + }, + "type": "array" + }, + "content_asset_ids": { + "description": "The content asset ids (valid only for type 'content_assets').", + "items": { + "type": "string" + }, + "type": "array" + }, + "product_ids": { + "description": "The product ids (valid only for type 'products').", + "items": { + "type": "string" + }, + "type": "array" + }, + "type": { + "description": "The type of content in the slot.", + "enum": [ + "products", + "categories", + "content_assets", + "html", + "recommended_products" + ], + "type": "string" + } + }, + "required": [ + "type" + ] + }, + "slot_search_result": { + "description": "

Document representing a slot search result.

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. Can be empty.", + "items": { + "$ref": "#/components/schemas/slot" + }, + "type": "array" + }, + "next": { + "$ref": "#/components/schemas/result_page" + }, + "previous": { + "$ref": "#/components/schemas/result_page" + }, + "query": { + "$ref": "#/components/schemas/query" + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/components/schemas/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "slots": { + "description": "

Document representing an unfiltered list of slots.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "$ref": "#/components/schemas/slot" + }, + "type": "array" + }, + "expand": { + "description": "The list of expands set for the search request. Expands are optional.", + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "sort": { + "description": "

Document representing a sort request.

", + "properties": { + "field": { + "description": "The name of the field to sort on.", + "type": "string" + }, + "sort_order": { + "description": "The sort order to be applied when sorting. When omitted, the default sort order (ASC) is used.", + "enum": [ + "asc", + "desc" + ], + "type": "string" + } + }, + "required": [ + "field" + ] + }, + "sorting_rule": { + "description": "

Document representing a product sorting rule

", + "properties": { + "creation_date": { + "format": "date-time", + "type": "string" + }, + "description": { + "description": "The description of the product sorting rule.", + "maxLength": 4000, + "type": "string" + }, + "id": { + "description": "the id of product sorting rule.", + "type": "string" + }, + "last_modified": { + "format": "date-time", + "type": "string" + }, + "product_sorting_rule_steps": { + "description": "the steps involved in sorting by this rule.", + "items": { + "$ref": "#/components/schemas/sorting_rule_step" + }, + "type": "array" + }, + "rule_context": { + "description": "The context of the rule, either site or global", + "type": "string" + }, + "site": { + "type": "string" + } + } + }, + "sorting_rule_search_result": { + "description": "

Document representing a source code group search result.

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. Can be empty.", + "items": { + "$ref": "#/components/schemas/sorting_rule" + }, + "type": "array" + }, + "next": { + "$ref": "#/components/schemas/result_page" + }, + "previous": { + "$ref": "#/components/schemas/result_page" + }, + "query": { + "$ref": "#/components/schemas/query" + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/components/schemas/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "sorting_rule_step": { + "description": "

Document representing a product sorting rule step

", + "properties": { + "attribute_id": { + "description": "the id for sorting attribute.", + "type": "string" + }, + "direction": { + "description": "the direction of the sorting attribute", + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + "is_system": { + "description": "whether or not the attribute is a system attribute.", + "type": "boolean" + }, + "position": { + "description": "the position of product sorting rule step.", + "format": "int32", + "type": "integer" + }, + "text_relevance_included": { + "description": "The text relevance included.", + "type": "boolean" + }, + "type_id": { + "description": "the sorting type for sorting attribute.", + "type": "string" + } + } + }, + "source_code_group": { + "description": "

Document representing a source code group

", + "properties": { + "active": { + "description": "The active flag, a computed value based on start and end time", + "type": "boolean" + }, + "active_redirect": { + "$ref": "#/components/schemas/source_code_redirect_info" + }, + "cookie_duration": { + "description": "The cookie duration in days", + "format": "int32", + "maximum": 999, + "minimum": 0, + "type": "integer" + }, + "creation_date": { + "description": "Returns the value of attribute 'creationDate'.", + "format": "date-time", + "x-label": { + "default": "Creation Date" + }, + "readOnly": true, + "type": "string" + }, + "description": { + "description": "The description", + "type": "string" + }, + "enabled": { + "description": "The enabled flag for storefront to consider the source code group, default to false.", + "type": "boolean" + }, + "end_time": { + "description": "The end time", + "format": "date-time", + "type": "string" + }, + "id": { + "description": "The id of source code group", + "x-label": { + "default": "ID" + }, + "maxLength": 28, + "minLength": 1, + "type": "string" + }, + "inactive_redirect": { + "$ref": "#/components/schemas/source_code_redirect_info" + }, + "last_modified": { + "description": "Returns the value of attribute 'lastModified'.", + "format": "date-time", + "x-label": { + "default": "Last Modified" + }, + "readOnly": true, + "type": "string" + }, + "link": { + "description": "URL that is used to get this instance, read only", + "type": "string" + }, + "specifications": { + "description": "Source Code specifications", + "items": { + "$ref": "#/components/schemas/source_code_specification" + }, + "type": "array" + }, + "start_time": { + "description": "The start time", + "format": "date-time", + "type": "string" + } + } + }, + "source_code_group_search_result": { + "description": "

Document representing a source code group search result.

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. Can be empty.", + "items": { + "$ref": "#/components/schemas/source_code_group" + }, + "type": "array" + }, + "next": { + "$ref": "#/components/schemas/result_page" + }, + "previous": { + "$ref": "#/components/schemas/result_page" + }, + "query": { + "$ref": "#/components/schemas/query" + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/components/schemas/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "source_code_groups": { + "description": "

Document representing an unfiltered list of source code groups.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "$ref": "#/components/schemas/source_code_group" + }, + "type": "array" + }, + "expand": { + "description": "The list of expands set for the search request. Expands are optional.", + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "source_code_redirect_info": { + "description": "

Document representing a source code redirect info

", + "properties": { + "location": { + "description": "The location of redirect, based on the type, this can be a product location, category location, home page, content page, or just a URL", + "type": "string" + }, + "location_type": { + "description": "The type of redirect location, e.g. product (for a product page), category (a category page), home (for home page), page (for content), url (for a URL location)", + "enum": [ + "default", + "home", + "product", + "category", + "page", + "url" + ], + "type": "string" + } + } + }, + "source_code_specification": { + "description": "

Document representing a source code specification

", + "properties": { + "expression": { + "description": "

Expression is a value for the \"Source Code Specification\" may be a literal source code, or it may contain wildcards.

\n

A literal code is simply the literal code. Valid characters are letters and numbers (no spaces).

\n

A wildcard allows a single source code specification to match multiple source codes. The following wildcards are supported:

\n
  • ? - Matches any single alpha-numeric character. For example: the source code specification 'ABC?' would match 'ABCD' or 'ABC3', but not 'ABCDE'.
  • \n
  • * - Matches any sequence of alpha-numeric characters. For example: the source code specification 'ABC*' would match 'ABCD', 'ABCDE', or 'ABC123'.
  • \n
  • [n1..n2] - Matches any number from n1 through and including n2.\n For example: the source code specification 'ABC[3..22]' would match 'ABC3', 'ABC4' or 'ABC22', but not 'ABC33' or 'ABCD'.
", + "type": "string" + } + } + }, + "status": { + "properties": { + "code": { + "description": "Status code.", + "type": "string" + }, + "message": { + "description": "Status message.", + "type": "string" + }, + "status": { + "description": "Status shows successful operation end.", + "enum": [ + "ok", + "error" + ], + "type": "string" + } + } + }, + "status_metadata": { + "properties": { + "client_id": { + "description": "The client ID that is responsible for the status.", + "type": "string" + }, + "reason": { + "description": "The reason of the status.", + "type": "string" + }, + "user_login": { + "description": "The user login that is responsible for the status.", + "type": "string" + } + } + }, + "store": { + "description": "

Document representing a store

", + "properties": { + "address1": { + "description": "Returns the first address.", + "x-label": { + "default": "Address 1" + }, + "maxLength": 256, + "type": "string" + }, + "address2": { + "description": "Returns the second address value.", + "x-label": { + "default": "Address 2" + }, + "maxLength": 256, + "type": "string" + }, + "c_countryCodeValue": { + "description": "Country Code Value - for the form values", + "x-label": { + "default": "Country Code Value" + }, + "type": "string" + }, + "c_inventoryListId": { + "description": "Store Inventory List ID", + "x-label": { + "default": "Store Inventory List ID" + }, + "type": "string" + }, + "city": { + "description": "Returns the city.", + "x-label": { + "default": "City" + }, + "maxLength": 256, + "type": "string" + }, + "country_code": { + "description": "The two-character country code per ISO 3166-1 alpha-2.", + "enum": [ + "CA", + "DE", + "US" + ], + "x-enum-labels": [ + { + "default": "Canada" + }, + { + "default": "Germany" + }, + { + "default": "United States" + } + ], + "x-label": { + "default": "Country" + }, + "maxLength": 2, + "type": "string" + }, + "creation_date": { + "description": "Returns the value of attribute 'creationDate'.", + "format": "date-time", + "x-label": { + "default": "Creation Date" + }, + "readOnly": true, + "type": "string" + }, + "email": { + "description": "Email address to contact the store", + "x-label": { + "default": "Email" + }, + "maxLength": 256, + "type": "string" + }, + "fax": { + "description": "Returns the fax number .", + "x-label": { + "default": "Fax" + }, + "maxLength": 256, + "type": "string" + }, + "id": { + "description": "The id for the store", + "x-label": { + "default": "ID" + }, + "maxLength": 256, + "type": "string" + }, + "image": { + "$ref": "#/components/schemas/media_file" + }, + "inventory_id": { + "description": "The inventory list associated with the store", + "x-label": { + "default": "Inventory List" + }, + "maxLength": 256, + "type": "string" + }, + "last_modified": { + "description": "Returns the value of attribute 'lastModified'.", + "format": "date-time", + "x-label": { + "default": "Last Modified" + }, + "readOnly": true, + "type": "string" + }, + "latitude": { + "description": "The latitude of the store", + "format": "double", + "x-label": { + "default": "Latitude" + }, + "maximum": 90, + "minimum": -90, + "type": "number" + }, + "link": { + "description": "a URL that is used to get this instance. The property is computed and cannot be changed.", + "x-label": { + "default": "Store document link" + }, + "type": "string" + }, + "longitude": { + "description": "The longitude of the store", + "format": "double", + "x-label": { + "default": "Longitude" + }, + "maximum": 180, + "minimum": -180, + "type": "number" + }, + "name": { + "description": "The name of the store", + "x-label": { + "default": "Name" + }, + "type": "string" + }, + "phone": { + "description": "Returns the phone number.", + "x-label": { + "default": "Phone" + }, + "maxLength": 256, + "type": "string" + }, + "pos_enabled": { + "description": "Whether this store uses our Store product for Point-of-Sale", + "x-label": { + "default": "Uses Commerce Cloud Store for Point-of-Sale" + }, + "type": "boolean" + }, + "postal_code": { + "description": "The postal code for the store", + "x-label": { + "default": "Postal Code" + }, + "maxLength": 10, + "type": "string" + }, + "state_code": { + "description": "Returns the customer's state.", + "x-label": { + "default": "State" + }, + "maxLength": 256, + "type": "string" + }, + "store_events": { + "additionalProperties": { + "$ref": "#/components/schemas/markup_text" + }, + "description": "The store events (localized)", + "format": "localized", + "x-label": { + "default": "Store Events" + }, + "type": "object" + }, + "store_hours": { + "additionalProperties": { + "$ref": "#/components/schemas/markup_text" + }, + "description": "The store opening hours (localized)", + "format": "localized", + "x-label": { + "default": "Store Hours" + }, + "type": "object" + }, + "store_locator_enabled": { + "description": "Whether this store should appear in store locator searches", + "x-label": { + "default": "Store Locator Enabled" + }, + "type": "boolean" + } + } + }, + "store_search_result": { + "description": "

Document representing a store search result.

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. Can be empty.", + "items": { + "$ref": "#/components/schemas/store" + }, + "type": "array" + }, + "next": { + "$ref": "#/components/schemas/result_page" + }, + "previous": { + "$ref": "#/components/schemas/result_page" + }, + "query": { + "$ref": "#/components/schemas/query" + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/components/schemas/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "stores": { + "description": "

Document representing an unfiltered list of stores.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "$ref": "#/components/schemas/store" + }, + "type": "array" + }, + "expand": { + "description": "The list of expands set for the search request. Expands are optional.", + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "tag": { + "description": "

Document representing a tag

", + "properties": { + "tag_id": { + "description": "The id of the tag.", + "type": "string" + } + } + }, + "term_filter": { + "description": "

Document representing a term filter.\n \n A term filter allows you to restrict a search result to hits that match (exactly) one of the values configured for the\n filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters\n whenever the criterion you filter on is a shared property of multiple searches (for example, like filtering by an\n order status). Use term filters for fields that have a discrete and small set of values only.\n \n Example: (id=\"my_id\")\n

 \n    query: {\n        filtered_query: {\n            query: { match_all_query: {} },\n            filter: {\n                term_filter: {\n                    field: \"id\",\n                    operator: \"is\",\n                    values: [\"my_id\"]\n                }\n            }\n        }\n    }\n  
\n\n Example: (id IN (\"my_id\",\"other_id\"))\n
 \n    query: {\n        filtered_query: {\n            query: { match_all_query: {} },\n            filter: {\n                term_filter: {\n                    field: \"id\",\n                    operator: \"one_of\",\n                    values: [\"my_id\",\"other_id\"]\n                }\n            }\n        }\n    }\n  
\n\n Example: (description=NULL)\n
 \n    query: {\n        filtered_query: {\n            query: { match_all_query: {} },\n            filter: {\n                term_filter: {\n                    field: \"description\",\n                    operator: \"is_null\"\n                }\n            }\n        }\n    }\n  

", + "properties": { + "field": { + "description": "The filter field.", + "type": "string" + }, + "operator": { + "description": "The operator to compare the field's values with the given ones.", + "enum": [ + "is", + "one_of", + "is_null", + "is_not_null", + "less", + "greater", + "not_in", + "neq" + ], + "type": "string" + }, + "values": { + "description": "The filter values.", + "items": { + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "field", + "operator" + ] + }, + "term_query": { + "description": "

A term query matches one (or more) value(s) against one (or more) document field(s). A document is considered a hit\n if one of the values matches (exactly) with at least one of the given fields. The operator \"is\" can only take\n one value, while \"one_of\" can take multiple values. If multiple fields are specified, they are combined using the OR operator.\n The less and greater operators are not compatible with some search types.\n To query based on numeric bounds in those cases, you can use a range filter on a\n filtered query . \n \n Elastic only : If used with multiple fields, the query is internally handled as a boolean OR of DisjointMaxQueries (with the dismax\n matching a value against all fields). The dismax makes sure that a document carrying a single term in\n multiple fields does not get higher scores than a document matching multiple terms in multiple fields.\n\n Example: (id=\"my_id\")\n

 \n query: {\n     term_query: {\n         fields: [\"id\"],\n         operator: \"is\",\n         values: [\"my_id\"]\n     }\n }\n  
\n\n Example: (id IN (\"my_id\",\"other_id\"))\n
 \n query: {\n     term_query: {\n         fields: [\"id\"],\n         operator: \"one_of\",\n         values: [\"my_id\",\"other_id\"]\n     }\n }\n  
\n\n Example: (id=null)\n
 \n query: {\n     term_query: {\n        fields: [\"description\"],\n        operator: \"is_null\"\n    }\n }\n  
\n\n Example: ((id IN ('generic', 'keyword')) OR (description IN ('generic', 'keyword'))\n
 \n query: {\n    term_query: {\n        fields: [\"id\", \"description\"],\n        operator: \"one_of\",\n        values: [\"generic\",\"keyword\"]\n    }\n }\n  

", + "properties": { + "fields": { + "description": "The document field(s) the value(s) are matched against, combined with the operator.", + "items": { + "type": "string" + }, + "minItems": 1, + "type": "array" + }, + "operator": { + "description": "Returns the operator to use for the term query.", + "enum": [ + "is", + "one_of", + "is_null", + "is_not_null", + "less", + "greater", + "not_in", + "neq" + ], + "type": "string" + }, + "values": { + "description": "The values the field(s) are compared against, combined with the operator.", + "items": { + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "fields", + "operator" + ] + }, + "text_query": { + "description": "

A text query is used to match some text (i.e. a search phrase possibly consisting of multiple terms) against one or\n multiple fields. In case multiple fields are provided, the phrase conceptually forms a logical OR over the fields. In\n this case, the terms of the phrase basically have to match the text that would result from concatenating all\n given fields.\n \n Example: (coupon_id contains \"xmas\" )\n

 \n    query: {\n        text_query: {\n            fields: [\"coupon_id\"],\n            search_phrase: \"xmas\"\n        }\n    }\n  
\n\n Example: (coupon_id contains \"xmas\" OR description contains \"xmas\")\n
 \n    query: {\n        text_query: {\n            fields: [\"description\", \"coupon_id\"],\n            search_phrase: \"xmas\"\n        }\n    }\n  
\n\n Example: (description contains \"holiday\" AND description contains \"bojo\")\n
 \n    query: {\n        text_query: {\n            fields: [\"description\"],\n            search_phrase: \"holiday bogo\"\n        }\n    }\n  

", + "properties": { + "fields": { + "description": "The document fields the search phrase has to match.", + "items": { + "type": "string" + }, + "minItems": 1, + "type": "array" + }, + "search_phrase": { + "description": "A search phrase which may consist of multiple terms.", + "type": "string" + } + }, + "required": [ + "fields", + "search_phrase" + ] + }, + "time_of_day": { + "description": "

Document representing a time schedule within a single day.

", + "properties": { + "time_from": { + "description": "The time to start from. Time format: HH:mm:ss. Seconds\n are ignored and set to 0.", + "format": "time", + "type": "string" + }, + "time_to": { + "description": "The time to end on. Time format: HH:mm:ss. Seconds\n are ignored and set to 0.", + "format": "time", + "type": "string" + } + } + }, + "user": { + "description": "

Document representing a user.

", + "properties": { + "creation_date": { + "format": "date-time", + "type": "string" + }, + "disabled": { + "description": "Flag whether the user is disabled.", + "type": "boolean" + }, + "email": { + "description": "The email address.", + "maxLength": 256, + "type": "string" + }, + "external_id": { + "description": "The external id. This attribute is only valid when the user uses centralized authentication.", + "maxLength": 256, + "type": "string" + }, + "first_name": { + "description": "The first name.", + "maxLength": 256, + "type": "string" + }, + "last_login_date": { + "description": "Last login of the user.", + "format": "date", + "type": "string" + }, + "last_modified": { + "format": "date-time", + "type": "string" + }, + "last_name": { + "description": "The last name.", + "maxLength": 256, + "type": "string" + }, + "link": { + "description": "URL that is used to get this instance. This property is computed and cannot be modified.", + "type": "string" + }, + "locked": { + "description": "Flag whether the user is locked.", + "type": "boolean" + }, + "login": { + "description": "The user login.", + "maxLength": 256, + "type": "string" + }, + "password": { + "description": "The password. This attribute is only used to set the password upon user creation.\n This attribute is only valid when the user does not use centralized authentication.", + "type": "string" + }, + "password_expiration_date": { + "description": "The user password expiration time", + "format": "date-time", + "type": "string" + }, + "password_modification_date": { + "description": "The time, where the password was last modified", + "format": "date-time", + "type": "string" + }, + "preferred_data_locale": { + "description": "The effective preferred data locale of the user. A locale is only considered if the user has at least read\n permission on the locale.", + "type": "string" + }, + "preferred_ui_locale": { + "description": "The preferred UI locale of the user.", + "type": "string" + }, + "roles": { + "description": "List of role ids the user is assigned to.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "email", + "last_name" + ] + }, + "user_search_result": { + "description": "

Document representing an user search result.

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The sorted array of search hits. Can be empty.", + "items": { + "$ref": "#/components/schemas/user" + }, + "type": "array" + }, + "next": { + "$ref": "#/components/schemas/result_page" + }, + "previous": { + "$ref": "#/components/schemas/result_page" + }, + "query": { + "$ref": "#/components/schemas/query" + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/components/schemas/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "users": { + "description": "

Document representing a list of users.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "description": "The list of users.", + "items": { + "$ref": "#/components/schemas/user" + }, + "type": "array" + }, + "expand": { + "description": "The list of expands set for the search request. Expands are optional.", + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "variant": { + "description": "

Document representing a product variation.

", + "properties": { + "ats": { + "description": "Inventory \"Available to Sell\" of the product.", + "format": "double", + "type": "number" + }, + "default_product_variation": { + "description": "", + "type": "boolean" + }, + "image": { + "$ref": "#/components/schemas/media_file" + }, + "in_stock": { + "description": "true if the product is in stock, or false if not.", + "type": "boolean" + }, + "link": { + "description": "The URL addressing the product.", + "type": "string" + }, + "online": { + "description": "If the product is currently online.\n true if online\n false if not", + "type": "boolean" + }, + "orderable": { + "description": "A flag indicating whether the variant is orderable.", + "type": "boolean" + }, + "price": { + "description": "The sales price of the variant.", + "format": "double", + "type": "number" + }, + "price_currency": { + "description": "Currency code for the price of the product.", + "type": "string" + }, + "price_per_unit": { + "description": "The sales price of the variant.", + "format": "double", + "type": "number" + }, + "product_id": { + "description": "The id (SKU) of the variant.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "searchable": { + "additionalProperties": { + "type": "boolean" + }, + "description": "", + "format": "site-specific", + "type": "object" + }, + "variation_attributes": { + "description": "variation attributes", + "items": { + "$ref": "#/components/schemas/variation_attribute" + }, + "type": "array" + }, + "variation_values": { + "additionalProperties": { + "type": "string" + }, + "description": "The actual variation attribute id - value pairs.", + "type": "object" + } + }, + "required": [ + "product_id" + ] + }, + "variant_search_result": { + "description": "

Document that represents a search on certificates and keys.

", + "properties": { + "count": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "type": "object" + }, + "type": "array" + }, + "db_start_record_": { + "description": "The zero-based index of the record that we want to start with, used to optimize special handling", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "expand": { + "description": "List of expansions to be applied to each search results. Expands are optional", + "items": { + "type": "string" + }, + "type": "array" + }, + "hits": { + "description": "The hits from the search", + "items": { + "$ref": "#/components/schemas/variant" + }, + "type": "array" + }, + "next": { + "$ref": "#/components/schemas/result_page" + }, + "previous": { + "$ref": "#/components/schemas/result_page" + }, + "query": { + "$ref": "#/components/schemas/query" + }, + "select": { + "description": "The field to be selected.", + "type": "string" + }, + "sorts": { + "description": "The list of sort clauses configured for the search request. Sort clauses are optional.", + "items": { + "$ref": "#/components/schemas/sort" + }, + "type": "array" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The number of returned documents", + "format": "int32", + "type": "integer" + } + } + }, + "variants": { + "description": "

Document representing an unfiltered list of variants.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "$ref": "#/components/schemas/variant" + }, + "type": "array" + }, + "expand": { + "description": "The list of expands set for the search request. Expands are optional.", + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "variation_attribute": { + "description": "

Document representing a variation attribute.

", + "properties": { + "attribute_definition_id": { + "description": "The id of the requested attribute definition.", + "type": "string" + }, + "attribute_definition_name": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized display name of the variation attribute definition.", + "format": "localized", + "type": "object" + }, + "default_value": { + "description": "default variation attribute value", + "type": "string" + }, + "id": { + "description": "The id of the variation attribute.", + "minLength": 1, + "type": "string" + }, + "link": { + "description": "URL that is used to get this instance", + "type": "string" + }, + "name": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized display name of the variation attribute.", + "format": "localized", + "type": "object" + }, + "shared": { + "description": "Returns the value of attribute 'shared' if attribute is local or shared", + "type": "boolean" + }, + "slicing": { + "description": "Returns the value of attribute 'slicing'.", + "type": "boolean" + }, + "values": { + "description": "The sorted array of variation values. This array can be empty.", + "items": { + "$ref": "#/components/schemas/variation_attribute_value" + }, + "type": "array" + }, + "variation_attribute_type": { + "description": "variation attribute type", + "enum": [ + "string", + "int", + "unknown" + ], + "type": "string" + } + }, + "required": [ + "attribute_definition_id" + ] + }, + "variation_attribute_value": { + "description": "

Document representing a variation attribute value.

", + "properties": { + "description": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized description of the variation value.", + "format": "localized", + "type": "object" + }, + "image": { + "$ref": "#/components/schemas/media_file" + }, + "image_swatch": { + "$ref": "#/components/schemas/media_file" + }, + "link": { + "type": "string" + }, + "name": { + "additionalProperties": { + "type": "string" + }, + "description": "The localized display name of the variation value.", + "format": "localized", + "type": "object" + }, + "orderable": { + "description": "A flag indicating whether at least one variant with this variation attribute value is available to sell.", + "type": "boolean" + }, + "position": { + "description": "The position of the value among all values of a variation attribute.", + "format": "double", + "type": "number" + }, + "value": { + "description": "The actual variation value.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "variation_attribute_values": { + "description": "

Document representing an unfiltered list of variation attribute values.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "$ref": "#/components/schemas/variation_attribute_value" + }, + "type": "array" + }, + "expand": { + "description": "The list of expands set for the search request. Expands are optional.", + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "variation_attributes": { + "description": "

Document representing an unfiltered list of variation attributes.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "$ref": "#/components/schemas/variation_attribute" + }, + "type": "array" + }, + "expand": { + "description": "The list of expands set for the search request. Expands are optional.", + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "variation_group": { + "description": "

Document representing a variation group.

", + "properties": { + "link": { + "description": "The URL addressing the product.", + "type": "string" + }, + "orderable": { + "description": "A flag indicating whether the variation group is orderable.", + "type": "boolean" + }, + "price": { + "description": "The sales price of the variation group.", + "format": "double", + "type": "number" + }, + "price_per_unit": { + "description": "The sales price per unit of the variation group.", + "format": "double", + "type": "number" + }, + "product_id": { + "description": "The id (SKU) of the variation group.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "variation_values": { + "additionalProperties": { + "type": "string" + }, + "description": "The actual variation attribute id - value pairs.", + "type": "object" + } + } + }, + "variation_groups": { + "description": "

Document representing an unfiltered list of variation groups.

", + "properties": { + "count": { + "description": "The number of returned documents.", + "format": "int32", + "type": "integer" + }, + "data": { + "items": { + "$ref": "#/components/schemas/variation_group" + }, + "type": "array" + }, + "expand": { + "description": "The list of expands set for the search request. Expands are optional.", + "items": { + "type": "string" + }, + "type": "array" + }, + "next": { + "description": "The URL of the next result page.", + "type": "string" + }, + "previous": { + "description": "The URL of the previous result page.", + "type": "string" + }, + "select": { + "description": "The fields that you want to select.", + "type": "string" + }, + "start": { + "description": "The zero-based index of the first search hit to include in the result.", + "format": "int32", + "minimum": 0, + "type": "integer" + }, + "total": { + "description": "The total number of documents.", + "format": "int32", + "type": "integer" + } + } + }, + "version_range_object": { + "description": "

Object to represent the Version Range. Used in resources_object.

", + "properties": { + "from": { + "description": "Starting version", + "type": "string" + }, + "until": { + "description": "Ending version", + "type": "string" + } + } + }, + "webdav_permission": { + "description": "

Document representing a WebDAV permission.

", + "properties": { + "description": { + "additionalProperties": { + "type": "string" + }, + "description": "The description of the WebDAV permission.", + "format": "localized", + "type": "object" + }, + "folder": { + "description": "The folder of the WebDAV permission.", + "type": "string" + }, + "type": { + "description": "The permission type.", + "type": "string" + }, + "values": { + "description": "The list of possible values for the WebDAV permission, e.g. ACCESS or READONLY.", + "items": { + "type": "string" + }, + "type": "array" + } + } + }, + "webdav_permissions": { + "description": "

Document representing the available WebDAV permissions.

", + "properties": { + "scopes": { + "description": "The available WebDAV permission scopes (e.g. unscoped).", + "items": { + "type": "string" + }, + "type": "array" + }, + "unscoped": { + "description": "The collection of available unscoped WebDAV permissions.", + "items": { + "$ref": "#/components/schemas/webdav_permission" + }, + "type": "array" + } + } + } + } + } +} diff --git a/packages/b2c-tooling/src/auth/api-key.ts b/packages/b2c-tooling/src/auth/api-key.ts index 6cf81f75..f39a24f9 100644 --- a/packages/b2c-tooling/src/auth/api-key.ts +++ b/packages/b2c-tooling/src/auth/api-key.ts @@ -1,10 +1,16 @@ import type {AuthStrategy} from './types.js'; +import {getLogger} from '../logging/logger.js'; export class ApiKeyStrategy implements AuthStrategy { constructor( private key: string, private headerName = 'x-api-key', - ) {} + ) { + const logger = getLogger(); + // Show partial key for identification (first 8 chars) + const keyPreview = key.length > 8 ? `${key.slice(0, 8)}...` : key; + logger.debug({headerName}, `[Auth] Using API Key authentication (${headerName}): ${keyPreview}`); + } async fetch(url: string, init: RequestInit = {}): Promise { const headers = new Headers(init.headers); diff --git a/packages/b2c-tooling/src/auth/basic.ts b/packages/b2c-tooling/src/auth/basic.ts index e9fdd527..e6c974e4 100644 --- a/packages/b2c-tooling/src/auth/basic.ts +++ b/packages/b2c-tooling/src/auth/basic.ts @@ -1,10 +1,14 @@ import type {AuthStrategy} from './types.js'; +import {getLogger} from '../logging/logger.js'; export class BasicAuthStrategy implements AuthStrategy { private encoded: string; constructor(user: string, pass: string) { this.encoded = Buffer.from(`${user}:${pass}`).toString('base64'); + + const logger = getLogger(); + logger.debug({username: user}, `[Auth] Using Basic authentication for user: ${user}`); } async fetch(url: string, init: RequestInit = {}): Promise { diff --git a/packages/b2c-tooling/src/auth/index.ts b/packages/b2c-tooling/src/auth/index.ts index 50a0998a..c617b463 100644 --- a/packages/b2c-tooling/src/auth/index.ts +++ b/packages/b2c-tooling/src/auth/index.ts @@ -30,7 +30,15 @@ * * @module auth */ -export type {AuthStrategy, AccessTokenResponse, DecodedJWT} from './types.js'; +export type { + AuthStrategy, + AccessTokenResponse, + DecodedJWT, + AuthConfig, + BasicAuthConfig, + OAuthAuthConfig, + ApiKeyAuthConfig, +} from './types.js'; export {BasicAuthStrategy} from './basic.js'; export {OAuthStrategy, decodeJWT} from './oauth.js'; export type {OAuthConfig} from './oauth.js'; diff --git a/packages/b2c-tooling/src/auth/oauth.ts b/packages/b2c-tooling/src/auth/oauth.ts index 09bbe38e..7bcfd88c 100644 --- a/packages/b2c-tooling/src/auth/oauth.ts +++ b/packages/b2c-tooling/src/auth/oauth.ts @@ -1,5 +1,5 @@ import type {AuthStrategy, AccessTokenResponse, DecodedJWT} from './types.js'; -import {getLogger} from '../logger.js'; +import {getLogger} from '../logging/logger.js'; const DEFAULT_ACCOUNT_MANAGER_HOST = 'account.demandware.com'; @@ -109,7 +109,8 @@ export class OAuthStrategy implements AuthStrategy { */ private async clientCredentialsGrant(): Promise { const logger = getLogger(); - logger.debug('Getting access token from client credentials'); + const url = `https://${this.accountManagerHost}/dwsso/oauth2/access_token`; + const method = 'POST'; const params = new URLSearchParams({ grant_type: 'client_credentials', @@ -120,18 +121,44 @@ export class OAuthStrategy implements AuthStrategy { } const credentials = Buffer.from(`${this.config.clientId}:${this.config.clientSecret}`).toString('base64'); + const requestHeaders = { + Authorization: `Basic ${credentials}`, + 'Content-Type': 'application/x-www-form-urlencoded', + }; + + logger.debug( + {clientId: this.config.clientId}, + `[Auth] Using OAuth client_credentials grant for client: ${this.config.clientId}`, + ); + // Debug: Log request start + logger.debug({method, url}, `[Auth REQ] ${method} ${url}`); + + // Trace: Log request details + logger.trace({headers: requestHeaders, body: params.toString()}, `[Auth REQ BODY] ${method} ${url}`); - const response = await fetch(`https://${this.accountManagerHost}/dwsso/oauth2/access_token`, { - method: 'POST', - headers: { - Authorization: `Basic ${credentials}`, - 'Content-Type': 'application/x-www-form-urlencoded', - }, + const startTime = Date.now(); + const response = await fetch(url, { + method, + headers: requestHeaders, body: params.toString(), }); + const duration = Date.now() - startTime; + + // Debug: Log response summary + logger.debug( + {method, url, status: response.status, duration}, + `[Auth RESP] ${method} ${url} ${response.status} ${duration}ms`, + ); + + // Get response headers + const responseHeaders: Record = {}; + response.headers.forEach((value, key) => { + responseHeaders[key] = value; + }); if (!response.ok) { const errorText = await response.text(); + logger.trace({headers: responseHeaders, body: errorText}, `[Auth RESP BODY] ${method} ${url}`); throw new Error(`Failed to get access token: ${response.status} ${response.statusText} - ${errorText}`); } @@ -141,8 +168,11 @@ export class OAuthStrategy implements AuthStrategy { scope?: string; }; + // Trace: Log response details + logger.trace({headers: responseHeaders, body: data}, `[Auth RESP BODY] ${method} ${url}`); + const jwt = decodeJWT(data.access_token); - logger.debug(`JWT payload: ${JSON.stringify(jwt.payload, null, 2)}`); + logger.trace({jwt: jwt.payload}, '[Auth] JWT payload'); const now = new Date(); const expiration = new Date(now.getTime() + data.expires_in * 1000); diff --git a/packages/b2c-tooling/src/auth/types.ts b/packages/b2c-tooling/src/auth/types.ts index bc611bb2..480d32a4 100644 --- a/packages/b2c-tooling/src/auth/types.ts +++ b/packages/b2c-tooling/src/auth/types.ts @@ -15,6 +15,50 @@ export interface AuthStrategy { getAuthorizationHeader?(): Promise; } +/** + * Configuration for Basic authentication (username/access-key). + * Used primarily for WebDAV operations. + */ +export interface BasicAuthConfig { + username: string; + password: string; +} + +/** + * Configuration for OAuth authentication. + * Used for OCAPI and platform API operations. + */ +export interface OAuthAuthConfig { + clientId: string; + clientSecret?: string; + scopes?: string[]; + accountManagerHost?: string; +} + +/** + * Configuration for API key authentication. + * Used for MRT and external services. + */ +export interface ApiKeyAuthConfig { + key: string; + headerName?: string; +} + +/** + * Combined authentication configuration. + * B2CInstance uses this to determine which auth strategy to use for each operation type. + */ +export interface AuthConfig { + /** Basic auth for WebDAV (username/access-key) */ + basic?: BasicAuthConfig; + + /** OAuth credentials for OCAPI/platform APIs */ + oauth?: OAuthAuthConfig; + + /** API key for MRT/external services */ + apiKey?: ApiKeyAuthConfig; +} + /** * Access token response structure from Account Manager */ diff --git a/packages/b2c-tooling/src/cli/instance-command.ts b/packages/b2c-tooling/src/cli/instance-command.ts index 2e3bedb9..55b8e950 100644 --- a/packages/b2c-tooling/src/cli/instance-command.ts +++ b/packages/b2c-tooling/src/cli/instance-command.ts @@ -2,10 +2,8 @@ import {Command, Flags} from '@oclif/core'; import {OAuthCommand} from './oauth-command.js'; import {loadConfig} from './config.js'; import type {ResolvedConfig, LoadConfigOptions} from './config.js'; -import type {AuthStrategy} from '../auth/types.js'; -import {BasicAuthStrategy} from '../auth/basic.js'; -import {OAuthStrategy} from '../auth/oauth.js'; import {B2CInstance} from '../instance/index.js'; +import type {AuthConfig} from '../auth/types.js'; import {t} from '../i18n/index.js'; /** @@ -24,7 +22,16 @@ import {t} from '../i18n/index.js'; * Provides: * - Server/hostname connection flags * - Both Basic auth and OAuth support - * - Helper methods for creating B2CInstance + * - Unified B2CInstance with typed API clients + * + * @example + * export default class MySiteCommand extends InstanceCommand { + * async run(): Promise { + * // Single instance for all operations + * const sites = await this.instance.ocapi.get('sites'); + * await this.instance.webdav.mkcol('Cartridges/v1'); + * } + * } */ export abstract class InstanceCommand extends OAuthCommand { static baseFlags = { @@ -60,6 +67,8 @@ export abstract class InstanceCommand extends OAuthCom }), }; + private _instance?: B2CInstance; + protected override loadConfiguration(): ResolvedConfig { const options: LoadConfigOptions = { instance: this.flags.instance, @@ -80,76 +89,55 @@ export abstract class InstanceCommand extends OAuthCom } /** - * Gets an auth strategy for WebDAV operations. - * Prefers Basic auth for performance, falls back to OAuth. + * Gets the B2CInstance for this command. + * + * The instance is lazily created from the resolved configuration. + * It provides typed API clients for WebDAV and OCAPI operations. + * + * @example + * // WebDAV operations (uses Basic auth if available) + * await this.instance.webdav.mkcol('Cartridges/v1'); + * + * // OCAPI operations (uses OAuth) + * const sites = await this.instance.ocapi.get('sites'); */ - protected getWebDavAuth(): AuthStrategy { - const config = this.resolvedConfig; - - // Prefer Basic auth for WebDAV - if (config.username && config.password) { - return new BasicAuthStrategy(config.username, config.password); - } - - // Fall back to OAuth - if (config.clientId && config.clientSecret) { - return new OAuthStrategy({ - clientId: config.clientId, - clientSecret: config.clientSecret, - scopes: config.scopes, - }); + protected get instance(): B2CInstance { + if (!this._instance) { + this.requireServer(); + + const config = this.resolvedConfig; + + const authConfig: AuthConfig = {}; + + if (config.username && config.password) { + authConfig.basic = { + username: config.username, + password: config.password, + }; + } + + if (config.clientId && config.clientSecret) { + authConfig.oauth = { + clientId: config.clientId, + clientSecret: config.clientSecret, + scopes: config.scopes, + }; + } + + this._instance = new B2CInstance( + { + hostname: config.hostname!, + codeVersion: config.codeVersion, + webdavHostname: config.webdavHostname, + }, + authConfig, + ); } - - throw new Error( - t( - 'error.webdavCredentialsRequired', - 'WebDAV credentials required. Provide --username/--password or --client-id/--client-secret, or set SFCC_USERNAME/SFCC_PASSWORD or SFCC_CLIENT_ID/SFCC_CLIENT_SECRET.', - ), - ); - } - - /** - * Gets an auth strategy for OCAPI operations. - * Always uses OAuth. - */ - protected getApiAuth(): AuthStrategy { - return this.getOAuthStrategy(); - } - - /** - * Creates a B2CInstance configured for WebDAV operations. - */ - protected createWebDavInstance(): B2CInstance { - this.requireServer(); - - return new B2CInstance( - { - hostname: this.resolvedConfig.hostname!, - codeVersion: this.resolvedConfig.codeVersion, - webdavHostname: this.resolvedConfig.webdavHostname, - }, - this.getWebDavAuth(), - ); - } - - /** - * Creates a B2CInstance configured for OCAPI operations. - */ - protected createApiInstance(): B2CInstance { - this.requireServer(); - this.requireOAuthCredentials(); - - return new B2CInstance( - { - hostname: this.resolvedConfig.hostname!, - codeVersion: this.resolvedConfig.codeVersion, - }, - this.getApiAuth(), - ); + return this._instance; } /** - * Check if WebDAV credentials are available. + * Check if WebDAV credentials are available (Basic or OAuth). */ protected hasWebDavCredentials(): boolean { const config = this.resolvedConfig; diff --git a/packages/b2c-tooling/src/clients/index.ts b/packages/b2c-tooling/src/clients/index.ts new file mode 100644 index 00000000..ead7a297 --- /dev/null +++ b/packages/b2c-tooling/src/clients/index.ts @@ -0,0 +1,39 @@ +/** + * API clients for B2C Commerce operations. + * + * This module provides typed client classes for interacting with B2C Commerce + * APIs including WebDAV and OCAPI. + * + * ## Available Clients + * + * - {@link WebDavClient} - File operations via WebDAV + * - {@link OcapiClient} - Data API operations via OCAPI + * + * ## Usage + * + * Clients are typically accessed via {@link B2CInstance} rather than + * instantiated directly: + * + * ```typescript + * const instance = B2CInstance.fromDwJson(); + * + * // WebDAV operations + * await instance.webdav.put('Cartridges/v1/app.zip', content); + * + * // OCAPI operations + * const sites = await instance.ocapi.get('sites'); + * ``` + * + * @module clients + */ +export {WebDavClient} from './webdav.js'; +export type {PropfindEntry} from './webdav.js'; + +export {createOcapiClient, createAuthMiddleware} from './ocapi.js'; +export type { + OcapiClient, + OcapiError, + OcapiResponse, + paths as OcapiPaths, + components as OcapiComponents, +} from './ocapi.js'; diff --git a/packages/b2c-tooling/src/clients/ocapi.generated.ts b/packages/b2c-tooling/src/clients/ocapi.generated.ts new file mode 100644 index 00000000..f04a8f40 --- /dev/null +++ b/packages/b2c-tooling/src/clients/ocapi.generated.ts @@ -0,0 +1,23230 @@ +/** + * This file was auto-generated by openapi-typescript. + * Do not make direct changes to the file. + */ + +export interface paths { + '/alerts/descriptors': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Gets a collection of all alert descriptors */ + get: operations['getAlertsDescriptors']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/alerts/descriptors/{application_id}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Gets a collection of all alert descriptors for the given application context. */ + get: operations['getAlertsDescriptorsByID']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/alerts/descriptors/{application_id}/{application_context_path}/{message_id}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Gets a single alert descriptor */ + get: operations['getAlertsDescriptorsByIDByIDByID']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/alerts/descriptors/{application_id}/{application_context_path}/{message_id}/revalidate': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** @description

Triggers rule validation for all described descriptors.

When a validation rule for a descriptor is triggered active alerts might be deleted if the conditions are not met anymore. Additionally, new alerts might be created if conditions of a descriptor are now met.

If the alert descriptor is context-specific, a context object ID needs to be provided in the request body. The request body can be ued to further restrict the set of descriptors that are validated.

*/ + patch: operations['patchAlertsDescriptorsByIDByIDByIDRevalidate']; + trace?: never; + }; + '/alerts/usersettings': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Gets the alert settings for the user. */ + get: operations['getAlertsUsersettings']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** @description Changes the alert settings for the user. */ + patch: operations['patchAlertsUsersettings']; + trace?: never; + }; + '/catalog_search': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * @description

Searches for catalogs.

+ * + *

The query attribute specifies a complex query that can be used to narrow down the search. These are the list + * of searchable attributes:

+ *
    + *
  • id - String
  • + *
  • name - String
  • + *
  • description - String
  • + *
  • creation_date - DateTime
  • + *
  • last_modified - DateTime
  • + *
+ * + *

There are two additional fields that can be used as search filters. They are not attributes in CatalogWO object, + * but can be used as filters to query catalogs based on site assignments.

+ *
    + *
  • is_master_catalog - Boolean
  • + *
  • is_storefront_catalog - Boolean
  • + *
+ * + *

On using is_master_catalog in the search query, catalogs without any site assignments are returned. + * On using is_storefront_catalog in the search query, catalogs with one or more site assignments are returned.

+ * + *

The output of the query can also be sorted. These are the list of sortable attributes:

+ *
    + *
  • id - String
  • + *
  • name - String
  • + *
  • description - String
  • + *
  • creation_date - DateTime
  • + *
+ */ + post: operations['postCatalogSearch']; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/catalogs': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to get all the catalogs with no filtering. */ + get: operations['getCatalogs']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/catalogs/{catalog_id}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * @description Gets catalog information by catalog Id. + * + * Expansion "stats" can be used to retrieved some expensive statistic data, such as assigned_product_count and owned_product_count. + * Example: /s/-/dw/data/v99_9/catalogs/my-catalog?expand=stats + */ + get: operations['getCatalogsByID']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** @description Updates the catalog with the specified information. */ + patch: operations['patchCatalogsByID']; + trace?: never; + }; + '/catalogs/{catalog_id}/categories': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to get all the categories with no filtering. */ + get: operations['getCatalogsByIDCategories']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/catalogs/{catalog_id}/categories/{category_id}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * @description Action to read an existing category within a catalog. By default, the server + * also returns the first level of sub-categories, but you can specify another level by setting the levels + * parameter. Please note, using a large value for levels may cause performance + * issues in case of a large and deep category tree. + */ + get: operations['getCatalogsByIDCategoriesByID']; + /** @description Creates a catalog category using the information provided. */ + put: operations['putCatalogsByIDCategoriesByID']; + post?: never; + /** @description Deletes the category by catalog ID and category ID */ + delete: operations['deleteCatalogsByIDCategoriesByID']; + options?: never; + head?: never; + /** @description Updates a catalog category using the information provided. */ + patch: operations['patchCatalogsByIDCategoriesByID']; + trace?: never; + }; + '/catalogs/{catalog_id}/categories/{category_id}/category_links': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to get a set of outgoing category links in a given catalog category, sorted by position. */ + get: operations['getCatalogsByIDCategoriesByIDCategoryLinks']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/catalogs/{catalog_id}/categories/{category_id}/category_links/{target_catalog_id}/{target_category_id}/{type}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to get category link information. */ + get: operations['getCatalogsByIDCategoriesByIDCategoryLinksByIDByIDByID']; + /** + * @description Creates a category link using the information provided. If a category link with the same unique identifier, + * it will be updated with the new position. + */ + put: operations['putCatalogsByIDCategoriesByIDCategoryLinksByIDByIDByID']; + post?: never; + /** @description Deletes the category link by ID */ + delete: operations['deleteCatalogsByIDCategoriesByIDCategoryLinksByIDByIDByID']; + options?: never; + head?: never; + /** @description Updates the category link with the specified information. */ + patch: operations['patchCatalogsByIDCategoriesByIDCategoryLinksByIDByIDByID']; + trace?: never; + }; + '/catalogs/{catalog_id}/categories/{category_id}/category_product_assignment_search': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * @description

Searches for category product assignments.

+ * + *

The query attribute specifies a complex query that can be used to narrow down the search. This is the list + * of searchable attributes:

+ *
    + *
  • product_id - String
  • + *
  • product_name - String
  • + *
  • online_flag - Boolean
  • + *
  • searchable - Boolean
  • + *
  • valid_from - DateTime
  • + *
  • valid_to - DateTime
  • + *
  • creation_date - DateTime
  • + *
+ * + *

Sortable Fields:

+ *
    + *
  • product_id - String
  • + *
  • product_name - String
  • + *
  • position - Double
  • + *
  • creation_date - DateTime
  • + *
+ * + *

Expansions that can be applied for the search request:

+ *
    + *
  • product_base - String - This expand will enable retrieval of the following basic Product information:
  • + *
  • product_images - String - to fetch preview image and image groups specified for the given product
  • + *
  • product_all_images - String - to fetch preview image and image groups specified for the product plus images for its variants and variation groups
  • + *
  • product_variations - String to fetch variations related information, version 17.8+
  • + *
  • product_availability - String to fetch availability related information, version 17.8+
  • + *
  • product_categories - String to fetch category related information, version 17.8+
  • + *
  • product_prices - String to fetch prices related information, version 17.8+
  • + *
  • product_options - String to fetch options related information, version 17.8+
  • + *
  • product_all - String to fetch all expanded information, version 17.8+

    + * + *
      + *
    • brand
    • + *
    • ean
    • + *
    • link
    • + *
    • long_description
    • + *
    • manufacturer_name
    • + *
    • manufacturer_sku
    • + *
    • name
    • + *
    • page_description
    • + *
    • page_keywords
    • + *
    • page_title
    • + *
    • searchable
    • + *
    • short_description
    • + *
    • type
    • + *
    • unit
    • + *
    • upc
    • + *
  • + *
+ */ + post: operations['postCatalogsByIDCategoriesByIDCategoryProductAssignmentSearch']; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/catalogs/{catalog_id}/categories/{category_id}/products/{product_id}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * @description Retrieves category product assignment information. + * + * Expands that can be applied for the get request + *
    + *
  • product_base - String
  • + *
  • product_images - String - to fetch image groups specified for the given product
  • + *
  • product_all_images - String - to fetch image groups specified for the given product plus images for its variants and variation groups
  • + *
+ */ + get: operations['getCatalogsByIDCategoriesByIDProductsByID']; + /** + * @description

Creates a category product assignment using the information provided;

+ * + *

As the assigned position n is a normalized target position , we'll make sure that the product is assigned + * to a position so that the order of positions are maintained. + * + * For example, product A, B, C at position 1, 2, 3. product D is assigned to + * position 2, the end result is A, D, B, C with order of positions 1, 2, 3, 4;

+ * + *

If there are n existing positioned assignment, assigning a new product to position >= n+1 will end + * with new assignment with position n+1.

+ */ + put: operations['putCatalogsByIDCategoriesByIDProductsByID']; + post?: never; + /** + * @description Removes a category product assignment; + * + * + *

For example, if we have products A, B, C at positions 1, 2, 7.5 and delete assignment for product B, + * this will end up the products A, B, C at positions 1, null, 7.5.

+ */ + delete: operations['deleteCatalogsByIDCategoriesByIDProductsByID']; + options?: never; + head?: never; + /** + * @description

Updates the category product assignment with the specified information, such as position.

+ *

As the assigned position n is a normalized target position , we'll make sure that the product is assigned + * to a position so that the order of positions are maintained.

+ * + *

For example, if we have products A, B, C, D at positions 1, 2, 3, 4 and update product A with new position 3, + * the end result is B, C, A, D with order of positions 1, 2, 3, 4.

If we then update product C to no position, + * the end result is B, A, D, C with order of positions 1, 2, 3, null.

+ * + *

If there are n existing positioned assignment, updating product to position >= n will end with new assignment with position such that the order of positions is maintained.

+ */ + patch: operations['patchCatalogsByIDCategoriesByIDProductsByID']; + trace?: never; + }; + '/catalogs/{catalog_id}/category_search': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * @description

Searches for catalog categories in the scope of catalog

+ *

By default, the server also returns the first level of subcategories, + * but you can specify another level by setting the levels parameter. + * Please note, using a large value for levels may cause performance + * issues in case of a large and deep category tree.

+ * + *

The query attribute specifies a complex query that can be used to narrow down the search. These are the list + * of searchable attributes:

+ *
    + *
  • id - String
  • + *
  • name - String
  • + *
  • description - String
  • + *
  • creation_date - DateTime
  • + *
  • online - Boolean
  • + *
  • parent_category_id - String
  • + *
+ * + *

The output of the query can also be sorted. These are the list of sortable attributes:

+ *
    + *
  • id - String
  • + *
  • name - String
  • + *
  • description - String
  • + *
  • creation_date - DateTime
  • + *
  • online - Boolean
  • + *
  • position - Double
  • + *
+ */ + post: operations['postCatalogsByIDCategorySearch']; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/catalogs/{catalog_id}/shared_product_options': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Read shared product options in a catalog. */ + get: operations['getCatalogsByIDSharedProductOptions']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/catalogs/{catalog_id}/shared_product_options/{id}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Read a shared product option in a catalog. */ + get: operations['getCatalogsByIDSharedProductOptionsByID']; + /** @description Creates a shared product option using the information provided. */ + put: operations['putCatalogsByIDSharedProductOptionsByID']; + post?: never; + /** @description Deletes a shared product option by ID. */ + delete: operations['deleteCatalogsByIDSharedProductOptionsByID']; + options?: never; + head?: never; + /** @description Updates a shared product option with the information provided. */ + patch: operations['patchCatalogsByIDSharedProductOptionsByID']; + trace?: never; + }; + '/catalogs/{catalog_id}/shared_product_options/{option_id}/values': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Read shared product option values of a shared product option in a catalog. */ + get: operations['getCatalogsByIDSharedProductOptionsByIDValues']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/catalogs/{catalog_id}/shared_product_options/{option_id}/values/{id}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Read a shared product option value of a shared product option in a catalog. */ + get: operations['getCatalogsByIDSharedProductOptionsByIDValuesByID']; + /** @description Creates a shared product option value using the information provided. */ + put: operations['putCatalogsByIDSharedProductOptionsByIDValuesByID']; + post?: never; + /** @description Deletes a shared product option value by ID. */ + delete: operations['deleteCatalogsByIDSharedProductOptionsByIDValuesByID']; + options?: never; + head?: never; + /** @description Updates a shared product option value with the information provided. */ + patch: operations['patchCatalogsByIDSharedProductOptionsByIDValuesByID']; + trace?: never; + }; + '/catalogs/{catalog_id}/shared_variation_attributes': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Reads variation attributes of a Domain. */ + get: operations['getCatalogsByIDSharedVariationAttributes']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/catalogs/{catalog_id}/shared_variation_attributes/{attribute_id}/values': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Reads variation attribute values of a variation attribute of a catalog. */ + get: operations['getCatalogsByIDSharedVariationAttributesByIDValues']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/catalogs/{catalog_id}/shared_variation_attributes/{attribute_id}/values/{id}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to get Shared Variation Attribute value information. */ + get: operations['getCatalogsByIDSharedVariationAttributesByIDValuesByID']; + /** @description Action to create a Shared Variation Attribute value. */ + put: operations['putCatalogsByIDSharedVariationAttributesByIDValuesByID']; + post?: never; + /** @description Deletes the variation attribute value of a variation attribute bound to a catalog */ + delete: operations['deleteCatalogsByIDSharedVariationAttributesByIDValuesByID']; + options?: never; + head?: never; + /** @description Updates the variation attribute value of a variation attribute of a catalog. */ + patch: operations['patchCatalogsByIDSharedVariationAttributesByIDValuesByID']; + trace?: never; + }; + '/catalogs/{catalog_id}/shared_variation_attributes/{id}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to get shared variation attribute information only for master Catalog. */ + get: operations['getCatalogsByIDSharedVariationAttributesByID']; + /** + * @description Creates a shared variation attribute using the information provided. + * To create a variation attribute specific to a product, use the products resource. + */ + put: operations['putCatalogsByIDSharedVariationAttributesByID']; + post?: never; + /** @description Deletes the shared variation attribute by ID. */ + delete: operations['deleteCatalogsByIDSharedVariationAttributesByID']; + options?: never; + head?: never; + /** + * @description Updates the shared variation attribute with the specified information. + * + *
    + *
  • name
  • + *
  • slicing
  • + *
+ */ + patch: operations['patchCatalogsByIDSharedVariationAttributesByID']; + trace?: never; + }; + '/category_search': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * @description

Searches for catalog categories anywhere they appear.

+ *

By default, the server also returns the first level of subcategories, + * but you can specify another level by setting the levels parameter. + * Please note, using a large value for levels may cause performance + * issues in case of a large and deep category tree.

+ * + *

The query attribute specifies a complex query that can be used to narrow down the search. These are the list + * of searchable attributes:

+ *
    + *
  • id - String
  • + *
  • name - String
  • + *
  • description - String
  • + *
  • creation_date - DateTime
  • + *
  • online - Boolean
  • + *
  • catalog_id - String
  • + *
+ * + *

The output of the query can also be sorted. These are the list of sortable attributes:

+ *
    + *
  • id - String
  • + *
  • name - String
  • + *
  • description - String
  • + *
  • creation_date - DateTime
  • + *
  • online - Boolean
  • + *
  • position - Double
  • + *
+ */ + post: operations['postCategorySearch']; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/code_versions': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Read all existing code versions. */ + get: operations['getCodeVersions']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/code_versions/{code_version_id}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Read a code version. */ + get: operations['getCodeVersionsByID']; + /** @description Create a new code version. */ + put: operations['putCodeVersionsByID']; + post?: never; + /** @description Delete a code version. */ + delete: operations['deleteCodeVersionsByID']; + options?: never; + head?: never; + /** + * @description Update an existing code version. + *
    + *
  • Only an inactive code version can be updated.
  • + *
  • Only the active flag and the id can be changed. The active flag can therefore only set to "true".
  • + *
  • To set the active flag to "false" will not work.
  • + *
+ */ + patch: operations['patchCodeVersionsByID']; + trace?: never; + }; + '/custom_object_definitions/{object_type}/attribute_definition_search': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * @description

Searches the attribute definitions of the specified custom object type.

+ *

The query attribute specifies a complex query that can be used to narrow down the search. Attributes are grouped + * into different buckets. These are the list of searchable attributes with their corresponding buckets:

+ * + *

Main:

+ *
    + *
  • id - String
  • + *
  • display_name* - Localized String
  • + *
  • description* - Localized String
  • + *
  • key - boolean
  • + *
  • mandatory - boolean
  • + *
  • searchable - boolean
  • + *
  • system - boolean
  • + *
  • visible - boolean
  • + *
+ *

Definition version:

+ *
    + *
  • localizable - boolean
  • + *
  • site_specific - boolean
  • + *
  • value_type - one of {string, int, double, text, html, date, image, boolean, money, quantity, datetime, email, password, set_of_string, set_of_int, set_of_double, enum_of_string, enum_of_int, unknown}
  • + *
+ * + *

Only attributes in the same bucket can be joined using a disjunction (OR). + * For instance, when joining localizable and description above, only a conjunction is allowed (AND), whereas display_name + * and description can be joined using a disjunction because they are in the same bucket. If an attribute + * is used in a disjunction (OR) that violates this rule, an exception will be thrown.

+ * + *

Additionally, attribute definitions can also be searched by attribute group. + *

  • group - String
+ *

+ * + *

These attributes are not searchable or sortable for built in system attributes. They work normally for non + * system attributes.

+ * + *

Note that only searchable attributes can be used in sorting.

+ */ + post: operations['postCustomObjectDefinitionsByIDAttributeDefinitionSearch']; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/custom_object_definitions/{object_type}/attribute_definitions': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to get all the attribute definitions with no filtering. */ + get: operations['getCustomObjectDefinitionsByIDAttributeDefinitions']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/custom_object_definitions/{object_type}/attribute_definitions/{id}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to get attribute definition information. */ + get: operations['getCustomObjectDefinitionsByIDAttributeDefinitionsByID']; + /** @description Creates a attribute definition using the information provided. */ + put: operations['putCustomObjectDefinitionsByIDAttributeDefinitionsByID']; + post?: never; + /** @description Deletes the attribute definition by ID */ + delete: operations['deleteCustomObjectDefinitionsByIDAttributeDefinitionsByID']; + options?: never; + head?: never; + /** @description Updates the attribute definition with the specified information. */ + patch: operations['patchCustomObjectDefinitionsByIDAttributeDefinitionsByID']; + trace?: never; + }; + '/custom_object_definitions/{object_type}/attribute_group_search': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * @description

Searches for attribute groups.

+ * + *

The query attribute specifies a complex query that can be used to narrow down the search. These are the list + * of searchable attributes:

+ *
    + *
  • id - String
  • + *
  • display_name - Localized < String >
  • + *
  • description - Localized < String >
  • + *
  • position - Double
  • + *
  • internal - Boolean
  • + *
+ * + *

The output of the query can also be sorted. These are the list of sortable attributes:

+ *
    + *
  • id - String
  • + *
  • display_name - Localized < String >
  • + *
  • description - Localized < String >
  • + *
  • position - Double
  • + *
  • internal - Boolean
  • + *
+ */ + post: operations['postCustomObjectDefinitionsByIDAttributeGroupSearch']; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/custom_object_definitions/{object_type}/attribute_groups': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to get all the attribute groups with no filtering. */ + get: operations['getCustomObjectDefinitionsByIDAttributeGroups']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/custom_object_definitions/{object_type}/attribute_groups/{group_id}/attribute_definitions/{def_id}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** @description Assign an attribute definition to an attribute group. */ + put: operations['putCustomObjectDefinitionsByIDAttributeGroupsByIDAttributeDefinitionsByID']; + post?: never; + /** @description Un-assign an attribute definition from an attribute group. */ + delete: operations['deleteCustomObjectDefinitionsByIDAttributeGroupsByIDAttributeDefinitionsByID']; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/custom_object_definitions/{object_type}/attribute_groups/{id}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to get attribute group information. */ + get: operations['getCustomObjectDefinitionsByIDAttributeGroupsByID']; + /** @description Creates a attribute group using the information provided. */ + put: operations['putCustomObjectDefinitionsByIDAttributeGroupsByID']; + post?: never; + /** @description Deletes the attribute group by ID */ + delete: operations['deleteCustomObjectDefinitionsByIDAttributeGroupsByID']; + options?: never; + head?: never; + /** @description Updates the attribute group with the specified information. */ + patch: operations['patchCustomObjectDefinitionsByIDAttributeGroupsByID']; + trace?: never; + }; + '/custom_objects/{object_type}/{key}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Reads a global Custom Object with a given object type ID and a value for the key attribute of the object which represents its unique identifier. */ + get: operations['getCustomObjectsByIDByID']; + /** @description

Creates a global Custom Object from the request body. Note that an existing global Custom Object with the same key is overwritten by this action.

Use Custom Properties prefixed with c_ to define the Custom Object fields.
For localizable strings, structure the field to support multiple language values by using a map where each locale, for example: en_US, fr_FR, has its corresponding string value.

*/ + put: operations['putCustomObjectsByIDByID']; + post?: never; + /** @description Deletes a global Custom Object. If the Custom Object does not exist, this will do nothing. Note that the customization scripts are only called, if the Custom Object does exist. */ + delete: operations['deleteCustomObjectsByIDByID']; + options?: never; + head?: never; + /** @description

Updates a global Custom Object with information from the request body. Note that only provided attributes are updated and that the key attribute is ignored. All other attributes are unchanged.

Use Custom Properties prefixed with c_ to define the Custom Object fields.
For localizable strings, structure the field to support multiple language values by using a map where each locale, for example: en_US, fr_FR, has its corresponding string value.

*/ + patch: operations['patchCustomObjectsByIDByID']; + trace?: never; + }; + '/custom_objects_search/{object_type}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * @description

Search resource for custom objects in scope of a specific custom object type.

+ * + *

The custom object search document contains a search object that allows filtering on various attributes.

+ * + * + *

The query attribute specifies a complex query that can be used to narrow down the search. These are the list + * of searchable attributes:

+ *
    + *
  • key_value_string - String
  • + *
  • key_value_integer - Integer
  • + *
  • creation_date - Date
  • + *
  • last_modified - Date
  • + *
  • site_id - String
  • + *
  • any custom attribute
  • + *
+ * + *

Note that only searchable attributes can be used in sorting.

+ */ + post: operations['postCustomObjectsSearchByID']; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/customer_lists/{customer_list_id}/customer_search': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * @description Action to search for customers in a customer list. + * + * The query attribute specifies a complex query that can be used to narrow down the search. + * Note that a text_query search only returns exact word matches. For example, the search + * term "Jon" returns "Jon Smith", but doesn't return "Jonathan Smith". + * + * The sum of the values of the start and count parameters should not be more than 10000. + * + * These attributes are searchable: + * + *
    + *
  • customer_no - String
  • + *
  • first_name - String
  • + *
  • second_name - String
  • + *
  • last_name - String
  • + *
  • suffix - String
  • + *
  • salutation - String
  • + *
  • title - String
  • + *
  • fax - String
  • + *
  • phone_home - String
  • + *
  • phone_business - String
  • + *
  • phone_mobile - String
  • + *
  • email - String
  • + *
  • gender - Integer
  • + *
  • company_name - String
  • + *
  • credentials.login - String
  • + *
  • credentials.enabled - boolean
  • + *
+ */ + post: operations['postCustomerListsByIDCustomerSearch']; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/customer_lists/{list_id}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to read an existing customerlist. */ + get: operations['getCustomerListsByID']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/customer_lists/{list_id}/customers': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * @description Action to create a new customer. The customer is created using the specified credentials and customer + * information.This action verifies the following: + *
    + *
  • Login acceptance criteria and uniqueness
  • + *
  • Mandatory customer properties
  • + *
+ * If the action fails to create the customer, it returns a 400 fault with an appropriate message. + */ + post: operations['postCustomerListsByIDCustomers']; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/customer_lists/{list_id}/customers/{customer_no}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to get customer information. */ + get: operations['getCustomerListsByIDCustomersByID']; + /** + * @description Action to create a new customer. The customer is created using the specified customer number, credentials and + * customer information.This action verifies the following: + *
    + *
  • Login acceptance criteria and uniqueness
  • + *
  • Mandatory customer properties
  • + *
+ * If the action fails to create the customer, it returns a 400 fault with an appropriate message. + */ + put: operations['putCustomerListsByIDCustomersByID']; + post?: never; + /** + * @description Deletes the customer including all related information like the customer addresses.
+ * + * Returns a status code of 204 on successful completion when deleting the customer. If the customer to be deleted + * did not exist, a 204 will still be returned to indicate the resource is no longer present in the system. + */ + delete: operations['deleteCustomerListsByIDCustomersByID']; + options?: never; + head?: never; + /** + * @description Updates the customer with the specified information. The customer number is allowed to be updated but will result in a + * CustomerNumberAlreadyInUseException if there is already another customer with the same customer number existing. + */ + patch: operations['patchCustomerListsByIDCustomersByID']; + trace?: never; + }; + '/customer_lists/{list_id}/customers/{customer_no}/addresses': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * @description Action that returns a pageable list of all customer addresses. The + * default page size is 10 customer addresses. + */ + get: operations['getCustomerListsByIDCustomersByIDAddresses']; + put?: never; + /** + * @description The action creates a new customer address with the given address + * information. + */ + post: operations['postCustomerListsByIDCustomersByIDAddresses']; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/customer_lists/{list_id}/customers/{customer_no}/addresses/{address_id}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action which returns an address of a customer. */ + get: operations['getCustomerListsByIDCustomersByIDAddressesByID']; + put?: never; + post?: never; + /** @description Action which deletes a customer address. */ + delete: operations['deleteCustomerListsByIDCustomersByIDAddressesByID']; + options?: never; + head?: never; + /** @description Action which updates an address of a customer with the given address information. */ + patch: operations['patchCustomerListsByIDCustomersByIDAddressesByID']; + trace?: never; + }; + '/global_preferences/preference_groups/{group_id}/{instance_type}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * @description For the specified instance, read the custom preferences in the preference group at the global(organization) level. + * Specify 'current' to retrieve the preferences for the instance on which this call is being made. The system will recognize its type. + * + *

Note: If instance type sandbox is used, the preference values of development instance type will be returned as fallback.

+ */ + get: operations['getGlobalPreferencesPreferenceGroupsByIDByID']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * @description For the specified instance, update one or more custom preferences in the preference group at the global(organization) level. + * + *

Note: If instance type sandbox is used, the preference values of development instance type will be returned as fallback.

+ */ + patch: operations['patchGlobalPreferencesPreferenceGroupsByIDByID']; + trace?: never; + }; + '/inventory_list_search': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * @description

+ * Searches for inventory lists. + *

+ *

+ * The query attribute specifies a complex query that can be used to narrow down the search. This is the list of + * searchable attributes: + *

+ *
    + *
  • id - String
  • + *
  • default_in_stock - boolean
  • + *
  • description - String
  • + *
  • on_order_inventory_enabled - boolean
  • + *
  • status - one of {"normal","delete"}
  • + *
  • use_bundle_inventory_only - boolean
  • + *
+ */ + post: operations['postInventoryListSearch']; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/inventory_lists': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to get all the inventory lists with no filtering. */ + get: operations['getInventoryLists']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/inventory_lists/{id}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to get inventory list information. */ + get: operations['getInventoryListsByID']; + /** @description Creates an inventory list using the information provided. */ + put: operations['putInventoryListsByID']; + post?: never; + /** @description Deletes the inventory list by ID */ + delete: operations['deleteInventoryListsByID']; + options?: never; + head?: never; + /** @description Updates the inventory list with the specified information. */ + patch: operations['patchInventoryListsByID']; + trace?: never; + }; + '/inventory_lists/{inventory_list_id}/product_inventory_records': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Gets all product inventory records for an inventory list. */ + get: operations['getInventoryListsByIDProductInventoryRecords']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/inventory_lists/{inventory_list_id}/product_inventory_records/{product_id}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Gets a product inventory record. */ + get: operations['getInventoryListsByIDProductInventoryRecordsByID']; + /** @description Creates a product inventory record using the information provided. */ + put: operations['putInventoryListsByIDProductInventoryRecordsByID']; + post?: never; + /** @description Deletes a product inventory record by ID. */ + delete: operations['deleteInventoryListsByIDProductInventoryRecordsByID']; + options?: never; + head?: never; + /** @description Updates the product inventory record with the specified information. */ + patch: operations['patchInventoryListsByIDProductInventoryRecordsByID']; + trace?: never; + }; + '/job_execution_search': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * @description Searches for job executions. + *

+ * The query attribute specifies a complex query that can be used to narrow down the search. This is the list of + * searchable attributes: + *

    + *
  • id - String
  • + *
  • job_id - String
  • + *
  • start_time - Date
  • + *
  • end_time - Date
  • + *
  • status - String
  • + *
+ * This is the list of sortable attributes: + *
    + *
  • job_id - String
  • + *
  • start_time - Date
  • + *
  • end_time - Date
  • + *
  • status - String
  • + *
+ */ + post: operations['postJobExecutionSearch']; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/jobs/{job_id}/executions': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * @description Executes the job with the given job ID by creating and returning a job execution for it. The job might still be + * executed when the job execution is returned. Note that this resource is also intended for running system jobs. + *

+ * See Global Jobs for information on available system jobs. + *

+ */ + post: operations['postJobsByIDExecutions']; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/jobs/{job_id}/executions/{id}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Returns job execution information using the specified ID for the job having the specified job ID. */ + get: operations['getJobsByIDExecutionsByID']; + put?: never; + post?: never; + /** @description Deletes job execution information using the specified ID for the job having the specified job ID. */ + delete: operations['deleteJobsByIDExecutionsByID']; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/libraries/{library_id}/content/{content_id}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Returns a content asset using the specified ID. If the content asset cannot be found, the server returns a 404 (ContentNotFoundException) fault. If the connection is not secure, the server returns a 403 (SecureCommunicationRequiredException). */ + get: operations['getLibrariesByIDContentByID']; + /** @description Creates a new content asset in the specified library, or overwrites an existing content asset. If a content asset with the specified ID already exists, the server completely overwrites the content asset. Please note: Existing folder assignments are not touched. If the existing content asset is locked, the server returns a 409 (ResourceLockedException) fault. If the connection is not secure, the server returns a 403 (SecureCommunicationRequiredException) fault. */ + put: operations['putLibrariesByIDContentByID']; + post?: never; + /** @description Deletes the content asset with the specified ID from the specified library. If the content asset is not found, the server returns a 404 (NotFoundException) fault. If the content asset is locked by another user, the server returns a 409 (ResourceLockedException) fault. If the connection is not secure, the server returns a 403 (SecureCommunicationRequiredException) fault. */ + delete: operations['deleteLibrariesByIDContentByID']; + options?: never; + head?: never; + /** @description Updates a content asset. In the request, the If-Match header is required. The value of the header is an 'ETag' representing the last known base-point information for the content asset. If the header is missing, the server returns a 409 (IfMatchRequiredException) fault. If the header value does not match the server's 'ETag', the server returns a 412 (InvalidIfMatchException) fault. The delta information for the library folder containing the content asset is updated atomically: the information is written completely or not at all. If the content asset is locked, the server returns a 409 (ResourceLockedException) fault. */ + patch: operations['patchLibrariesByIDContentByID']; + trace?: never; + }; + '/libraries/{library_id}/content/{content_id}/folders': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to get all assigned folders of a content asset. */ + get: operations['getLibrariesByIDContentByIDFolders']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/libraries/{library_id}/folder_assignments/{content_id}/{folder_id}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to get a single content to folder assignment */ + get: operations['getLibrariesByIDFolderAssignmentsByIDByID']; + /** @description Action to assign a content asset to a specified folder. */ + put: operations['putLibrariesByIDFolderAssignmentsByIDByID']; + post?: never; + /** @description Action to unassign a content asset from the specified library folder. */ + delete: operations['deleteLibrariesByIDFolderAssignmentsByIDByID']; + options?: never; + head?: never; + /** @description Action to update a single content to folder assignment. Currently only the position and default attribute can be changed. */ + patch: operations['patchLibrariesByIDFolderAssignmentsByIDByID']; + trace?: never; + }; + '/libraries/{library_id}/folders/{folder_id}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to get folder information. */ + get: operations['getLibrariesByIDFoldersByID']; + /** @description Action to create a new library folder, or to replace an existing folder. This action completely overwrites existing folders. Please note: Sub folders and assignments to content assets are not touched. This action ignores the folder ID in the input document. */ + put: operations['putLibrariesByIDFoldersByID']; + post?: never; + /** @description Delete folder */ + delete: operations['deleteLibrariesByIDFoldersByID']; + options?: never; + head?: never; + /** @description Updates an existing folder. In the request, the If-Match header is required. The value of the header is an 'ETag' representing the last known base-point information for the library folder. If the header is missing, the server returns a 409 (IfMatchRequiredException) fault. If the header value does not match the server's 'ETag', the server returns a 412 (InvalidIfMatchException) fault. The delta information for the library folder is updated atomically: the information is written completely or not at all. */ + patch: operations['patchLibrariesByIDFoldersByID']; + trace?: never; + }; + '/libraries/{library_id}/folders/{folder_id}/content': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to get all assigned content assets of a folder. */ + get: operations['getLibrariesByIDFoldersByIDContent']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/libraries/{library_id}/folders/{folder_id}/sub_folders': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to get sub folders information. */ + get: operations['getLibrariesByIDFoldersByIDSubFolders']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/locale_info/locales': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to get the set of active locales for which the user has read or write permission. */ + get: operations['getLocaleInfoLocales']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/log_requests/ecdn': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** @description Requests a LogFile-Fetching for the passed zone and time frame. */ + post: operations['postLogRequestsEcdn']; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/log_requests/ecdn/{id}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Retrieves the current execution status of the log file fetching. */ + get: operations['getLogRequestsEcdnByID']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/metrics/{apitype}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description The metrics resource provides insights into runtimes of individual OCAPI requests against the shop or the data-API. Responses of the metrics resource are JSON wrapped metrics in Prometheus Exposition format. For each OCAPI resource, following metrics are available for the given dimension and the current time-frame (1-minute averages).
  • average time of a request (p50 and p95 timings are available under the quantile dimension) in milliseconds
  • minimum time of all requests in milliseconds
  • maximum time of all requests in milliseconds
  • m1-rate, or the one-minute-rate of requests in operations / second
Refer to the documentation of the response document for a detailed description of the metrics and dimensions exposed by this API. */ + get: operations['getMetricsByID']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/ocapi_configs/{clientId}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Get all allowed resources for the client. */ + get: operations['getOcapiConfigsByID']; + /** @description Add a client to existing OCAPI configurations. Overwrite config if the client already exists. */ + put: operations['putOcapiConfigsByID']; + /** @description Add a client to existing OCAPI configurations. Return errors when client already exists. */ + post: operations['postOcapiConfigsByID']; + /** @description Delete a client. */ + delete: operations['deleteOcapiConfigsByID']; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/permissions': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Get application specific permissions per type. */ + get: operations['getPermissions']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/permissions/bm': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Get Business Manager permissions per type. */ + get: operations['getPermissionsBm']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/permissions/bm/functional': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Get functional permissions per scope. */ + get: operations['getPermissionsBmFunctional']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/permissions/bm/locale': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Get locale permissions per scope. */ + get: operations['getPermissionsBmLocale']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/permissions/bm/module': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Get Business Manager module permissions per scope. */ + get: operations['getPermissionsBmModule']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/permissions/bm/webdav': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Get WebDAV permissions per scope. */ + get: operations['getPermissionsBmWebdav']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/permissions/csc': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Get permissions per type. */ + get: operations['getPermissionsCsc']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/permissions/csc/module': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Get CSC module permissions per scope. */ + get: operations['getPermissionsCscModule']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/product_search': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * @description

Searches for products.

+ * + *

Note: This resource does not return information about product master and product variation relationships. Use the ProductSearch SHOP API resource to retrieve more details about product relationships.

+ * + *

The query attribute specifies a complex query that can be used to narrow down the search. Attributes are grouped + * into different buckets. These are the list of searchable attributes with their corresponding buckets:

+ * + *

Main:

+ *
    + *
  • id - String
  • + *
  • name - String
  • + *
  • online - SiteSpecific Boolean
  • + *
  • searchable - SiteSpecific Boolean
  • + *
  • valid_from - SiteSpefic DateTime
  • + *
  • valid_to - SiteSpecfic DateTime
  • + *
  • type - ProductType
  • + *
  • creation_date - DateTime
  • + *
  • last_modified - DateTime
  • + *
+ *

Catalog:

+ *
    + *
  • catalog_id - String
  • + *
+ *

Category:

+ *
    + *
  • category_id - String
  • + *
+ *

Special:

+ *
    + *
  • type - {"item", "set, "bundle", "master", "part_of_product_set", "bundled", "variant", "variation_group", "option", "retail_set", "part_of_retail_set"}
  • + *
+ * + *

The sortable properties are:

+ *
    + *
  • id - String
  • + *
  • name - String
  • + *
  • creation_date - DateTime
  • + *
+ * + *

When you specify a catalog_id or category_id, only products explicitly assigned to that catalog or + * category are returned. For example, if a product with variants is assigned to a catalog, but its + * variants are not, searching on that catalog_id only returns the main product, not the variants. This + * behavior is different from that of the product search in Business Manager, which returns products + * that inherit the selected catalog or category assignment.

+ * + *

Only attributes in the same bucket can be joined using a disjunction (OR). + * For instance, when joining id and catalog_id above, only a conjunction is allowed (AND), whereas id + * and searchable can be joined using a disjunction because they are in the same bucket. If an attribute + * is used in a disjunction (OR) that violates this rule, an exception will be thrown.

+ * + *

The product search retrieves additional properties of the product when expansions are used. + * The available expand attribute values are:

+ *
    + *
  • 'all' will retrieve all the product properties.
  • + *
  • 'availability' will retrieve the following properties: + *
    • ats
    • + *
    • in_stock
    • + *
    • online
    + *
  • + *
  • 'categories' will retrieve the following properties: + *
    • assigned_categories
    + *
  • + *
  • 'images' will retrieve the following properties: + *
    • image
    + *
  • + *
  • 'all_images' used with images will retrieve the following properties: + *
    • image
    + *
    • image_groups
    + *
  • + *
  • 'prices' will retrieve the following properties: + *
    • price
    • + *
    • price_currency
    + *
  • + *
  • 'sets' will retrieve the following properties: + *
    • set_products
    • + *
    • product_sets
    + *
  • + *
  • 'bundles' will retrieve the following properties: + *
    • product_bundles
    • + *
    • bundled_products
    • + *
    + *
  • + * + *
+ */ + post: operations['postProductSearch']; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/products/{id}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to get product information. */ + get: operations['getProductsByID']; + /** + * @description Creates a product using the information provided. If a product exists with the same identifier, it is + * cleared and overwritten unless the request includes the header x-dw-validate-existing=true. + * Note that the following read-only attributes aren't replaced: assigned_categories , bundled_products , classification_category , creation_date , default_variant_id , image , image_groups , last_modified , owning_catalog_name , price_per_unit , primary_categories , primary_category_id , product_bundles , product_options , product_sets , set_products , type , variants , variation_attributes , variation_groups , and variation_values . + */ + put: operations['putProductsByID']; + post?: never; + /** @description Deletes the product by ID */ + delete: operations['deleteProductsByID']; + options?: never; + head?: never; + /** + * @description Update a product using the information provided. + * + * Fields that can be updated: + * name, page_description, long_description, page_title, + * page_keywords, brand, ean,upc, manufacture_sku, + * manufacture_name, searchable, unit, searchable, + * online_flag, default_variant_id, valid_to, + * valid_from, tax_class_id, localized_tax_class_id. + */ + patch: operations['patchProductsByID']; + trace?: never; + }; + '/products/{id}/variant_search': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * @description

Searches product variations for master product or variation group product.

+ * + *

The query attribute specifies a complex query that can be used to narrow down the search. This is the list + * of searchable attributes:

+ *
    + *
  • id - String
  • + *
  • product_id - String
  • + *
  • name - String
  • + *
  • online - SiteSpecific Boolean
  • + *
  • in_stock - Boolean
  • + *
  • searchable - SiteSpecific Boolean
  • + *
  • ats - Actual available quantity to sell - Double
  • + *
  • variation_attribute.ATTRIBUTE_ID (Ex:variation_attribute.color) - String
  • + *
+ *

Sortable Fields:

+ *
    + *
  • id - String
  • + *
  • product_id - String
  • + *
  • name - String
  • + *
  • online - SiteSpecific Boolean
  • + *
  • in_stock - Boolean
  • + *
  • searchable - SiteSpecific Boolean
  • + *
  • ats - Actual available quantity to sell - Double
  • + *
+ * + *

Note: + * The calculated value of "online" and "searchable" is used in the search/sort.

+ *

A search/sort by the the site specific attributes require the Site ID query parameter to be set. + * They are "online", "in_stock", "searchable" and "ats".

+ *

We assume that every field that starts with variation_attribute. is searchable and dot is followed by ATTRIBUTE_ID".

+ * + * + *

The list of expansions to retrieve product information. The expand values available are:

+ *
    + *
  • _base - Basic product information is retrieved. This expand is included by default.
  • + *
  • all - All product information including the following properties are retrieved: + *
      + *
    • image
    • + *
    • price - site_id has to be provided to see this property
    • + *
    • price_currency - site_id has to be provided to see this property
    • + *
  • + *
  • availability - Information related to the availability of the product variation. This expand is not included by default. + *
      + *
    • ats - site_id has to be provided to see this property
    • + *
    • in_stock - site_id has to be provided to see this property
    • + *
    • online - site_id has to be provided to see this property
    • + *
    • searchable
    • + *
  • + *
  • variations - Information related to product variation is retrieved. This expand is included by default.
  • + *
  • attributes - Information related to product variation attributes is retrieved. This expand is not included by default.
  • + *
+ */ + post: operations['postProductsByIDVariantSearch']; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/products/{master_product_id}/variation_groups': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Reads variation groups for a product master. */ + get: operations['getProductsByIDVariationGroups']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/products/{master_product_id}/variation_groups/{id}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Read a variation group for a product master. */ + get: operations['getProductsByIDVariationGroupsByID']; + /** + * @description Assign a variation group for a product master. If the variation group product does not initially exist, + * one is created using the body passed in. + */ + put: operations['putProductsByIDVariationGroupsByID']; + post?: never; + /** + * @description Unassign a variation group product from a product master. The variation group product is not + * deleted: it remains as a normal product after unsassign. + */ + delete: operations['deleteProductsByIDVariationGroupsByID']; + options?: never; + head?: never; + /** @description Update a variation group for a product master. */ + patch: operations['patchProductsByIDVariationGroupsByID']; + trace?: never; + }; + '/products/{master_product_id}/variations': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Reads variation for a product master. */ + get: operations['getProductsByIDVariations']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/products/{master_product_id}/variations/{id}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Read a variation for a product master. */ + get: operations['getProductsByIDVariationsByID']; + /** + * @description Assign a variation for a product master. If the variation product does not initially exist, + * one is created using the body passed in. + */ + put: operations['putProductsByIDVariationsByID']; + post?: never; + /** + * @description Unassign a variation product from a product master. The variation product is not deleted: it remains as a + * normal product after unsassign. + */ + delete: operations['deleteProductsByIDVariationsByID']; + options?: never; + head?: never; + /** @description Update a variation for a product master. */ + patch: operations['patchProductsByIDVariationsByID']; + trace?: never; + }; + '/products/{product_id}/product_options': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Read local and shared product options of a product. */ + get: operations['getProductsByIDProductOptions']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/products/{product_id}/product_options/{id}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Read a local or shared product option of a product. */ + get: operations['getProductsByIDProductOptionsByID']; + /** @description Creates a local product option using the information provided or binds a shared product option to the product. */ + put: operations['putProductsByIDProductOptionsByID']; + post?: never; + /** @description Deletes a local product option or unbinds a shared product option from the product. */ + delete: operations['deleteProductsByIDProductOptionsByID']; + options?: never; + head?: never; + /** @description Updates a local product option with the information provided. */ + patch: operations['patchProductsByIDProductOptionsByID']; + trace?: never; + }; + '/products/{product_id}/product_options/{option_id}/values': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Read local product option values of a local product option in a product. */ + get: operations['getProductsByIDProductOptionsByIDValues']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/products/{product_id}/product_options/{option_id}/values/{id}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Read a local product option value of a local product option in a product. */ + get: operations['getProductsByIDProductOptionsByIDValuesByID']; + /** @description Creates a local product option value using the information provided. */ + put: operations['putProductsByIDProductOptionsByIDValuesByID']; + post?: never; + /** @description Deletes a local product option value by ID. */ + delete: operations['deleteProductsByIDProductOptionsByIDValuesByID']; + options?: never; + head?: never; + /** @description Updates a local product option value with the information provided. */ + patch: operations['patchProductsByIDProductOptionsByIDValuesByID']; + trace?: never; + }; + '/products/{product_id}/variation_attributes': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Reads variation attributes of a product of type variant or variation master or variation group. */ + get: operations['getProductsByIDVariationAttributes']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/products/{product_id}/variation_attributes/{attribute_id}/values': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Reads variation attribute values of a variation attribute bound to a product. */ + get: operations['getProductsByIDVariationAttributesByIDValues']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/products/{product_id}/variation_attributes/{attribute_id}/values/{id}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to get product variation attribute value information. */ + get: operations['getProductsByIDVariationAttributesByIDValuesByID']; + /** @description Action to create a product variation attribute value. */ + put: operations['putProductsByIDVariationAttributesByIDValuesByID']; + post?: never; + /** @description Deletes the variation attribute value of a variation attribute bound to a master product */ + delete: operations['deleteProductsByIDVariationAttributesByIDValuesByID']; + options?: never; + head?: never; + /** @description Updates the variation attribute value of a variation attribute of a master product. */ + patch: operations['patchProductsByIDVariationAttributesByIDValuesByID']; + trace?: never; + }; + '/products/{product_id}/variation_attributes/{id}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to get variation attribute information only for master product. */ + get: operations['getProductsByIDVariationAttributesByID']; + /** + * @description Creates a local variation attribute using the information provided. This endpoint can't create shared variation attributes. + * To create a shared variation attribute, use the catalogs resource. + */ + put: operations['putProductsByIDVariationAttributesByID']; + post?: never; + /** @description Deletes a variation attribute by ID. */ + delete: operations['deleteProductsByIDVariationAttributesByID']; + options?: never; + head?: never; + /** + * @description Updates the variation attribute with the specified information. + * + *
    + *
  • name
  • + *
  • slicing
  • + *
+ */ + patch: operations['patchProductsByIDVariationAttributesByID']; + trace?: never; + }; + '/role_search': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * @description Searches for access roles. + *

The query attribute specifies a complex query that can be used to narrow down the search. These are the list + * of searchable attributes:

+ *
    + *
  • id - String
  • + *
  • description - String
  • + *
+ *

Optionally, a user ID (the user login) can be specified. When it is supplied, the search for roles is limited to the + * roles assigned to this user. When expanding the permissions for the roles, all effective permissions for this user can be retrieved.

+ * + *

Optionally, a (single) permission can be specified. When it is supplied, the search for roles is limited to the + * roles having this permission. When expanding the users for the roles, all users having this permission can be retrieved.

+ * + *

The output of the query can also be sorted. These are the list of sortable attributes:

+ *
    + *
  • id - String
  • + *
  • description - String
  • + *
+ */ + post: operations['postRoleSearch']; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/roles': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to get all the access roles with no filtering. */ + get: operations['getRoles']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/roles/{id}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to get a single access role. */ + get: operations['getRolesByID']; + /** @description Action to create an access role. */ + put: operations['putRolesByID']; + post?: never; + /** @description Action to delete an access role. */ + delete: operations['deleteRolesByID']; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/roles/{id}/permissions': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Retrieves a list of permissions assigned to the given role. */ + get: operations['getRolesByIDPermissions']; + /** + * @description Assigns permissions to the given role. This will replace the current permission assignments. For the 'Administrator' + * role only adjustments for custom module permissions will be processed but other given permissions will be ignored. + */ + put: operations['putRolesByIDPermissions']; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/roles/{id}/user_search': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * @description Searches for users of the specified access role. + *

The query attribute specifies a complex query that can be used to narrow down the search. These are the list + * of searchable attributes:

+ *
    + *
  • login - String
  • + *
  • email - String
  • + *
  • first_name - String
  • + *
  • last_name - String
  • + *
  • external_id - String
  • + *
  • last_login_date - Date
  • + *
  • is_locked - Boolean
  • + *
  • is_disabled - Boolean
  • + *
+ * + *

The output of the query can also be sorted. These are the list of sortable attributes:

+ *
    + *
  • login - String
  • + *
  • email - String
  • + *
  • first_name - String
  • + *
  • last_name - String
  • + *
  • external_id - String
  • + *
  • last_login_date - Date
  • + *
+ */ + post: operations['postRolesByIDUserSearch']; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/roles/{id}/users': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to get all the users assigned to the specified access role. */ + get: operations['getRolesByIDUsers']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/roles/{id}/users/{login}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** @description Action to assign a user to an access role */ + put: operations['putRolesByIDUsersByID']; + post?: never; + /** @description Action to unassign a user to an access role */ + delete: operations['deleteRolesByIDUsersByID']; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/settings/logging/custom': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to get custom log settings. */ + get: operations['getSettingsLoggingCustom']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** @description Updates the custom log settings. */ + patch: operations['patchSettingsLoggingCustom']; + trace?: never; + }; + '/site_preferences/preference_groups/{group_id}/{instance_type}/preference_search': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * @description

Search preferences across sites in the specified preference group and instance.

+ *

+ *

The query attribute specifies a complex query that can be used to narrow down the search.

+ * + *

The following is a list of searchable fields:

+ * + *
    + *
  • id - String
  • + *
  • display_name - Localized String
  • + *
  • description - Localized String
  • + *
  • value_type* - one of {string, int, double, text, html, date, image, boolean, money, quantity, datetime, email, password, set_of_string, set_of_int, set_of_double, enum_of_string, enum_of_int}
  • + *
+ * + *

* value_type can only be joined with other attributes using a conjunction (AND).

+ *

Note that only searchable attributes can be used in sorting.

+ * + *

Note: If instance type sandbox is used, the preference values of development instance type will be returned as fallback.

+ */ + post: operations['postSitePreferencesPreferenceGroupsByIDByIDPreferenceSearch']; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/site_preferences/preference_groups/{group_id}/{instance_type}/preferences/{preference_id}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * @description Get a preference across sites in the specified preference group and instance. + * + *

Note: If instance type sandbox is used, the preference values of development instance type will be returned as fallback.

+ */ + get: operations['getSitePreferencesPreferenceGroupsByIDByIDPreferencesByID']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/site_search': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * @description

Searches for sites.

+ * + *

The query attribute specifies a complex query that can be used to narrow down the search. These are the list + * of searchable attributes:

+ *
    + *
  • id - String
  • + *
  • display_name - Localized < String >
  • + *
  • description - Localized < String >
  • + *
  • in_deletion - Boolean
  • + *
+ * + *

The output of the query can also be sorted. These are the list of sortable attributes:

+ *
    + *
  • id - String
  • + *
  • display_name - Localized < String >
  • + *
  • description - Localized < String >
  • + *
  • in_deletion - Boolean
  • + *
+ */ + post: operations['postSiteSearch']; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/sites': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to get all existing sites. */ + get: operations['getSites']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/sites/{site_id}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to read an existing site. */ + get: operations['getSitesByID']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/sites/{site_id}/ab_test_search': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** @description

Searches for A/B Tests.

The query attribute specifies a complex query that can be used to narrow down the search. This is the list of searchable attributes:

  • id - String
  • description - String
  • enabled - Boolean
  • paused - Boolean
  • key_metric_id - String
  • email_addresses - String
  • tags- String
  • expiration_type - String enum[session, never]
  • start_date - DateTime
  • end_date - DateTime

These fields can only be used in Queries as conjunctions (using AND). If the field is used in a disjunction (OR) an exception will be thrown.

The output of the query can also be sorted. These are the list of sortable attributes:

  • id - String
  • description - String
  • enabled - Boolean
  • paused - Boolean
  • key_metric_id - String
*/ + post: operations['postSitesByIDAbTestSearch']; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/sites/{site_id}/ab_tests': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to get all the A/B tests with searching. */ + get: operations['getSitesByIDAbTests']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/sites/{site_id}/ab_tests/{ab_test_id}/segments/{segment_id}/promotions/{promotion_id}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** @description Action to bind a single promotion to a given abTest. */ + put: operations['putSitesByIDAbTestsByIDSegmentsByIDPromotionsByID']; + post?: never; + /** @description Action to unbind one promotions from a given abTest. */ + delete: operations['deleteSitesByIDAbTestsByIDSegmentsByIDPromotionsByID']; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/sites/{site_id}/ab_tests/{ab_test_id}/segments/{segment_id}/slot_configurations/{slot_id}/{slot_config_id}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** @description Action to bind a slot configuration to a given abTest. */ + put: operations['putSitesByIDAbTestsByIDSegmentsByIDSlotConfigurationsByIDByID']; + post?: never; + /** @description Action to unbind a slot configuration from a given abTest. */ + delete: operations['deleteSitesByIDAbTestsByIDSegmentsByIDSlotConfigurationsByIDByID']; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/sites/{site_id}/ab_tests/{ab_test_id}/segments/{segment_id}/sorting_rules/{sorting_rule_id}/{category_id}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** @description Action to bind a single sorting rule to a given abTest. */ + put: operations['putSitesByIDAbTestsByIDSegmentsByIDSortingRulesByIDByID']; + post?: never; + /** @description Action to unbind a single sorting rule from a given abTest. */ + delete: operations['deleteSitesByIDAbTestsByIDSegmentsByIDSortingRulesByIDByID']; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/sites/{site_id}/ab_tests/{id}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to get an A/B Test information. */ + get: operations['getSitesByIDAbTestsByID']; + /** @description Creates an A/B Test using the information provided. If an A/B Test with the same unique identifier exists, it will be deleted and a new one will be created unless the header x-dw-validate-existing=true is passed in with the request. */ + put: operations['putSitesByIDAbTestsByID']; + post?: never; + /** @description Deletes the A/B Test by ID */ + delete: operations['deleteSitesByIDAbTestsByID']; + options?: never; + head?: never; + /** @description Updates the A/B Test with the specified information. */ + patch: operations['patchSitesByIDAbTestsByID']; + trace?: never; + }; + '/sites/{site_id}/ab_tests/{id}/segments/{segment_id}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Gets an A/B Test segment using the information provided. */ + get: operations['getSitesByIDAbTestsByIDSegmentsByID']; + /** @description Creates an A/B Test segment using the information provided. */ + put: operations['putSitesByIDAbTestsByIDSegmentsByID']; + post?: never; + /** @description Deletes the A/B Test Segment by ID */ + delete: operations['deleteSitesByIDAbTestsByIDSegmentsByID']; + options?: never; + head?: never; + /** @description Updates the A/B Test segment with the specified information. */ + patch: operations['patchSitesByIDAbTestsByIDSegmentsByID']; + trace?: never; + }; + '/sites/{site_id}/ai/recommender_names': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Get a list of available AI recommenders. Recommenders are configured in the Einstein configurator and are required with AI recommendation API requests. */ + get: operations['getSitesByIDAiRecommenderNames']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/sites/{site_id}/campaign_search': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * @description

Searches for campaigns.

+ * + *

The Campaign Search document contains a search object that allows filtering on various attributes.

+ * + * + *

The query attribute specifies a complex query that can be used to narrow down the search. These are the list + * of searchable attributes:

+ *
    + *
  • campaign_id - String
  • + *
  • description - String
  • + *
  • enabled - Boolean
  • + *
  • coupon_id* - String
  • + *
  • customer_group* - String
  • + *
  • source_code* - String
  • + *
  • start_date - Date
  • + *
  • end_date - Date
  • + *
  • last_modified - Date
  • + * + *
+ * + *

These fields can only be used in Queries as conjunctions (using AND). If the field is used in a disjunction + * (OR) an exception will be thrown.

+ * + *

Note that only searchable attributes (excluding the ones marked with above with an asterisk) can be used in sorting + * Additionally start_date, end_date and last_modified cannot be used in sorting.

+ */ + post: operations['postSitesByIDCampaignSearch']; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/sites/{site_id}/campaigns/{campaign_id}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to get campaign information. */ + get: operations['getSitesByIDCampaignsByID']; + /** @description Creates a campaign using the information provided. */ + put: operations['putSitesByIDCampaignsByID']; + post?: never; + /** @description Deletes the campaign by ID */ + delete: operations['deleteSitesByIDCampaignsByID']; + options?: never; + head?: never; + /** @description Updates the campaign with the specified information. */ + patch: operations['patchSitesByIDCampaignsByID']; + trace?: never; + }; + '/sites/{site_id}/campaigns/{campaign_id}/coupons/{coupon_id}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** @description Action to bind a single coupon to a given campaign. */ + put: operations['putSitesByIDCampaignsByIDCouponsByID']; + post?: never; + /** @description Action to unbind a coupon from a given campaign. */ + delete: operations['deleteSitesByIDCampaignsByIDCouponsByID']; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/sites/{site_id}/campaigns/{campaign_id}/customer_groups/{customer_group_id}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** @description Action to bind a single customer group to a given campaign. */ + put: operations['putSitesByIDCampaignsByIDCustomerGroupsByID']; + post?: never; + /** @description Action to unbind a customer group from a given campaign. */ + delete: operations['deleteSitesByIDCampaignsByIDCustomerGroupsByID']; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/sites/{site_id}/campaigns/{campaign_id}/promotions/{promotion_id}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** @description Action to bind a single promotion to a given campaign. */ + put: operations['putSitesByIDCampaignsByIDPromotionsByID']; + post?: never; + /** @description Action to unbind a single promotion from a given campaign. */ + delete: operations['deleteSitesByIDCampaignsByIDPromotionsByID']; + options?: never; + head?: never; + /** @description Action to update the assignment of promotion to a campaign. */ + patch: operations['patchSitesByIDCampaignsByIDPromotionsByID']; + trace?: never; + }; + '/sites/{site_id}/campaigns/{campaign_id}/slot_configurations/{slot_id}/{slot_config_id}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** @description Action to bind a slot configuration to a given campaign. */ + put: operations['putSitesByIDCampaignsByIDSlotConfigurationsByIDByID']; + post?: never; + /** @description Action to unbind a slot configuration from a given campaign. */ + delete: operations['deleteSitesByIDCampaignsByIDSlotConfigurationsByIDByID']; + options?: never; + head?: never; + /** @description Action to update the assignment of slot configuration to a campaign. */ + patch: operations['patchSitesByIDCampaignsByIDSlotConfigurationsByIDByID']; + trace?: never; + }; + '/sites/{site_id}/campaigns/{campaign_id}/sorting_rules/{sorting_rule_id}/{category_id}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** @description Action to bind a single sorting rule to a given campaign. */ + put: operations['putSitesByIDCampaignsByIDSortingRulesByIDByID']; + post?: never; + /** @description Action to unbind a single sorting rule from a given campaign. */ + delete: operations['deleteSitesByIDCampaignsByIDSortingRulesByIDByID']; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/sites/{site_id}/campaigns/{campaign_id}/source_code_groups/{source_code_group_id}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** @description Action to bind a single source code group to a given campaign. */ + put: operations['putSitesByIDCampaignsByIDSourceCodeGroupsByID']; + post?: never; + /** @description Action to unbind a source code group from a given campaign. */ + delete: operations['deleteSitesByIDCampaignsByIDSourceCodeGroupsByID']; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/sites/{site_id}/cartridges': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** @description Overwrite cartridge path. */ + put: operations['putSitesByIDCartridges']; + /** @description Add a cartridge to current cartridge path. */ + post: operations['postSitesByIDCartridges']; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/sites/{site_id}/cartridges/{cartridge_name}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** @description Remove a cartridge from cartridge path. */ + delete: operations['deleteSitesByIDCartridgesByID']; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/sites/{site_id}/coupon_redemption_search': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * @description

+ * Searches for coupon redemptions. + *

+ *

+ * The Coupon Redemption Search document contains a search object that allows filtering on various attributes. + *

+ *

+ * The query attribute specifies a complex query that can be used to narrow down the search. These are the list of + * searchable attributes: + *

+ *
    + *
  • code - String
  • + *
  • coupon_id - String
  • + *
  • customer_email - String
  • + *
  • order_no - String
  • + *
+ *

+ * Note that only searchable attributes can be used in sorting. + *

+ * If the role to which the user belongs does not have View_Coupon_Codes permission, then the coupon codes returned + * will be masked. + */ + post: operations['postSitesByIDCouponRedemptionSearch']; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/sites/{site_id}/coupon_search': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * @description

+ * Searches for coupons. + *

+ *

+ * The Coupon Search document contains a search object that allows filtering on various attributes. + *

+ *

+ * The query attribute specifies a complex query that can be used to narrow down the search. These are the list of + * searchable attributes: + *

+ *
    + *
  • coupon_id - String
  • + *
  • description - String
  • + *
  • type - one of {"single_code", "multiple_codes", "system_codes"}
  • + *
  • enabled - boolean
  • + *
+ *

+ * Note that only searchable attributes can be used in sorting. In case no sorting attribute is specified the result + * is sorted by coupon_id. + *

+ *

+ * The stats expand value is required to return the following fields in the Coupon document: + *

+ *
    + *
  • exported_code_count
  • + *
  • redemption_count
  • + *
  • total_codes_count
  • + *
+ */ + post: operations['postSitesByIDCouponSearch']; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/sites/{site_id}/coupons': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * @description Action to get all the coupons with no filtering. + *

+ * The result is sorted by by coupon_id ascending. + *

+ */ + get: operations['getSitesByIDCoupons']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/sites/{site_id}/coupons/{coupon_id}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * @description Action to get coupon information. + * + *

The following fields are returned in the Coupon document when specifying the stats expand: + *

    + *
  • exported_code_count
  • + *
  • redemption_count
  • + *
  • total_codes_count
  • + *
+ *

+ * + * If the role to which the user belongs does not have View_Coupon_Codes permission, then the coupon codes returned will be masked. + */ + get: operations['getSitesByIDCouponsByID']; + /** + * @description Creates a coupon using the information provided. If a coupon exists with the same unique identifier, + * the coupon is replaced completely. + */ + put: operations['putSitesByIDCouponsByID']; + post?: never; + /** @description Delete a coupon by id. */ + delete: operations['deleteSitesByIDCouponsByID']; + options?: never; + head?: never; + /** @description Updates the coupon with the specified information. */ + patch: operations['patchSitesByIDCouponsByID']; + trace?: never; + }; + '/sites/{site_id}/coupons/{coupon_id}/campaigns': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Get the campaigns that have a coupon assigned to them either directly or through promotions */ + get: operations['getSitesByIDCouponsByIDCampaigns']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/sites/{site_id}/coupons/{coupon_id}/campaigns/{campaign_id}/promotions': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Get the promotions for a campaign that have a coupon assigned to them either directly or through campaigns. */ + get: operations['getSitesByIDCouponsByIDCampaignsByIDPromotions']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/sites/{site_id}/coupons/{coupon_id}/codes': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * @description Get the coupon codes for the given coupon. + * + * If the role to which the user belongs does not have View_Coupon_Codes permission, then the coupon codes returned will be masked. + */ + get: operations['getSitesByIDCouponsByIDCodes']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/sites/{site_id}/coupons/{coupon_id}/multiple_codes': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** @description Add or delete (modify) multiple codes to/from the supplied coupon. */ + post: operations['postSitesByIDCouponsByIDMultipleCodes']; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/sites/{site_id}/coupons/{coupon_id}/promotions': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Get the promotions that have a coupon assigned to them either directly or through campaigns. */ + get: operations['getSitesByIDCouponsByIDPromotions']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/sites/{site_id}/custom_objects/{object_type}/{key}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Reads a site specific Custom Object with a given object type ID and a value for the key attribute of the object which represents its unique identifier. */ + get: operations['getSitesByIDCustomObjectsByIDByID']; + /** @description

Creates a site specific Custom Object from the request body. Note that an existing site specific Custom Object with the same key is overwritten by this action.

Use Custom Properties prefixed with c_ to define the Custom Object fields.
For localizable strings, structure the field to support multiple language values by using a map where each locale, for example: en_US, fr_FR, has its corresponding string value.

*/ + put: operations['putSitesByIDCustomObjectsByIDByID']; + post?: never; + /** @description Deletes a site specific Custom Object. If the Custom Object does not exist, this will do nothing. Note that the customization scripts are only called, if the Custom Object does exist. */ + delete: operations['deleteSitesByIDCustomObjectsByIDByID']; + options?: never; + head?: never; + /** @description

Updates a site specific Custom Object with information from the request body. Note that only provided attributes are updated and that the key attribute is ignored. All other attributes are unchanged.

Use Custom Properties prefixed with c_ to define the Custom Object fields.
For localizable strings, structure the field to support multiple language values by using a map where each locale, for example: en_US, fr_FR, has its corresponding string value.

*/ + patch: operations['patchSitesByIDCustomObjectsByIDByID']; + trace?: never; + }; + '/sites/{site_id}/customer_group_search': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * @description

Searches for customer groups.

+ * + *

The query attribute specifies a complex query that can be used to narrow down the search. These are the list + * of searchable attributes:

+ *
    + *
  • id - String
  • + *
  • description - String
  • + *
  • type - String Enum value[system, dynamic, static]
  • + *
+ * + *

The output of the query can also be sorted. These are the list of sortable attributes:

+ *
    + *
  • id - String
  • + *
  • description - String
  • + *
+ */ + post: operations['postSitesByIDCustomerGroupSearch']; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/sites/{site_id}/customer_groups': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to get all the customer groups with no filtering. */ + get: operations['getSitesByIDCustomerGroups']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/sites/{site_id}/customer_groups/{id}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to get customer group information. */ + get: operations['getSitesByIDCustomerGroupsByID']; + /** @description Creates a customer group using the information provided. */ + put: operations['putSitesByIDCustomerGroupsByID']; + post?: never; + /** + * @description Triggers customer group deletion by ID. Be aware that the deletion happens via asynchronous batch process + * which is the reason the deletion itself is not necessarily finished after the call to this resource returned. The + * customer group that is in deletion will be provided in the response. + */ + delete: operations['deleteSitesByIDCustomerGroupsByID']; + options?: never; + head?: never; + /** @description Updates the customer group with the specified information. */ + patch: operations['patchSitesByIDCustomerGroupsByID']; + trace?: never; + }; + '/sites/{site_id}/customer_groups/{id}/member_search': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * @description

Searches for customer group members. For dynamic customer groups and the system groups "Everyone" and "Unregistered" no result is returned (Status Code: 204 - No Content).

+ * + *

The query attribute specifies a complex query that can be used to narrow down the search. Attributes are grouped + * into different buckets. These are the list of searchable attributes with their corresponding buckets:

+ * + *

Main:

+ *
    + *
  • login - String
  • + *
  • active - Boolean
  • + *
+ *

Customer Profile:

+ *
    + *
  • customer_no - String
  • + *
  • first_name - String
  • + *
  • last_name - String
  • + *
  • email - String
  • + *
  • zip - String
  • + *
+ * + *

Only attributes in the same bucket can be joined using a disjunction (OR). + * For instance, when joining login and customer_no above, only a conjunction is allowed (AND), whereas customer_no + * and email can be joined using a disjunction because they are in the same bucket. If an attribute + * is used in a disjunction (OR) that violates this rule, an exception will be thrown.

+ * + *

The output of the query can also be sorted. These are the list of sortable attributes:

+ *
    + *
  • customer_no - String
  • + *
  • login - String
  • + *
+ * + *

If the Business manager customer search is configured to use the new Search Service, the following differences apply: + *

    + *
  • all attributes can be used for sorting (except for 'active')
  • + *
  • searching for 'zip' will only search in the customers default address
  • + *
  • logical operators can be used without limits (but may result in degraded performance, depending on how they are combined)
  • + *
  • new assignments might not be found immediately via the search service, and removed assignments + * might also not be in effect immediately (there is a slight delay in updating the index)
  • + *
+ */ + post: operations['postSitesByIDCustomerGroupsByIDMemberSearch']; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/sites/{site_id}/customer_groups/{id}/members': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to get all the customer group members with no filtering. For dynamic customer groups and the system groups "Everyone" and "Unregistered" no result is returned (Status Code: 204 - No Content). */ + get: operations['getSitesByIDCustomerGroupsByIDMembers']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/sites/{site_id}/customer_groups/{id}/members/{customer_no}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to get customer group member information. */ + get: operations['getSitesByIDCustomerGroupsByIDMembersByID']; + /** @description Action to add customer to (static) customer group. */ + put: operations['putSitesByIDCustomerGroupsByIDMembersByID']; + post?: never; + /** @description Action to remove a customer from a (static) customer group. */ + delete: operations['deleteSitesByIDCustomerGroupsByIDMembersByID']; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/sites/{site_id}/gift_certificate_search': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * @description

Searches for gift certificates.

+ * + *

The query attribute specifies a complex query that can be used to narrow down the search. These are the list + * of searchable attributes:

+ *
    + *
  • merchant_id - String
  • + *
  • masked_gift_certificate_code* - String
  • + *
  • order_no - String
  • + *
  • sender_name - String
  • + *
  • recipient_name - String
  • + *
  • recipient_email - String
  • + *
  • status - String
  • + *
  • enabled - Boolean
  • + *
  • message - String
  • + *
  • description - String
  • + *
  • creation_date - Date
  • + *
  • currency_mnemonic* - String
  • + *
+ * + *

* masked_gift_certificate_code, also known as just code, can only be used in a term query. If a + * four-character code is supplied, it is assumed that the search is on the unmasked portion of the code, otherwise + * the full code must be matched. Text queries are not allowed.

+ * + *

* currency_mnemonic can only be joined with other attributes using a conjunction (AND).

+ * + *

Note that only searchable attributes can be used in sorting. The code attribute cannot be used for sorting.

+ */ + post: operations['postSitesByIDGiftCertificateSearch']; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/sites/{site_id}/gift_certificates': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to get all the gift certificates with no filtering. */ + get: operations['getSitesByIDGiftCertificates']; + put?: never; + /** @description Creates a gift certificate using the information provided. */ + post: operations['postSitesByIDGiftCertificates']; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/sites/{site_id}/gift_certificates/{merchant_id}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to get gift certificate information using merchant ID. */ + get: operations['getSitesByIDGiftCertificatesByID']; + put?: never; + post?: never; + /** @description Deletes the gift certificate by merchant ID */ + delete: operations['deleteSitesByIDGiftCertificatesByID']; + options?: never; + head?: never; + /** + * @description Updates the gift certificate with the specified information using merchant ID. + * + * This API can not operate on the transactions attribute of the GiftCertificate request object. + */ + patch: operations['patchSitesByIDGiftCertificatesByID']; + trace?: never; + }; + '/sites/{site_id}/locale_info/locales': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to get the set of locales with the system given a site. */ + get: operations['getSitesByIDLocaleInfoLocales']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/sites/{site_id}/orders/{order_no}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** @description Updates the order. */ + patch: operations['patchSitesByIDOrdersByID']; + trace?: never; + }; + '/sites/{site_id}/orders/{order_no}/confirmation_status': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** @description Updates the order confirmation status. */ + put: operations['putSitesByIDOrdersByIDConfirmationStatus']; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/sites/{site_id}/orders/{order_no}/export_status': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** @description Updates the order export status. Setting the status to EXPORTED will also trigger the finalization of on-order inventory transactions for this order, meaning that all inventory transactions with type on-order will be moved into final inventory transactions. This is only relevant when on-order inventory is turned on for the inventory list ordered products are in. */ + put: operations['putSitesByIDOrdersByIDExportStatus']; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/sites/{site_id}/orders/{order_no}/external_status': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** @description Updates the order external status. */ + put: operations['putSitesByIDOrdersByIDExternalStatus']; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/sites/{site_id}/orders/{order_no}/payment_instruments/{payment_instrument_id}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** @description Updates the payment instrument of an order. */ + patch: operations['patchSitesByIDOrdersByIDPaymentInstrumentsByID']; + trace?: never; + }; + '/sites/{site_id}/orders/{order_no}/payment_instruments/{payment_instrument_id}/transaction': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** @description Updates the transaction of an order payment instrument. */ + patch: operations['patchSitesByIDOrdersByIDPaymentInstrumentsByIDTransaction']; + trace?: never; + }; + '/sites/{site_id}/orders/{order_no}/payment_status': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** @description Updates the order payment status. */ + put: operations['putSitesByIDOrdersByIDPaymentStatus']; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/sites/{site_id}/orders/{order_no}/shipments/{shipment_id}/shipping_address': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** @description Updates (create or replace) the order shipment address. */ + put: operations['putSitesByIDOrdersByIDShipmentsByIDShippingAddress']; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/sites/{site_id}/orders/{order_no}/shipping_status': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** @description Updates the order shipping status. */ + put: operations['putSitesByIDOrdersByIDShippingStatus']; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/sites/{site_id}/orders/{order_no}/status': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** @description Updates the order status by using the corresponding methods (fail, undoFail, place, cancel and undoCancel) from the dw.order.OrderMgr. Orders which are not in status CREATED or FAILED can not be set back. */ + put: operations['putSitesByIDOrdersByIDStatus']; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/sites/{site_id}/promotion_campaign_assignment_search': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * @description

Searches for promotion campaign assignments.

+ * + *

The PromotionCampaignAssignment Search document contains a search object that allows filtering on various attributes.

+ * + *

The query attribute specifies a complex query that can be used to narrow down the search. Attributes are grouped + * into different buckets. These are the list of searchable attributes with their corresponding buckets:

+ * + *

Main:

+ *
    + *
  • rank - Integer
  • + *
  • start_date - Date
  • + *
  • end_date - Date
  • + *
+ *

Campaign:

+ *
    + *
  • campaign_id - String
  • + *
+ *

Promotion:

+ *
    + *
  • promotion_id - String
  • + *
  • description - String
  • + *
  • enabled - Boolean
  • + *
+ *

Special handling:

+ *
    + *
  • coupon_id - String
  • + *
+ * + *

Only fields in the same bucket can be joined using a disjunction (OR). For instance, when joining + * campaign_id and rank above, only a conjunction is allowed (AND), whereas promotion_id and description can be + * joined to each other using an OR because they are in the same bucket. Special handling fields must always use + * conjunctions. If the field is used in a disjunction (OR) that violates this rule, an exception will be thrown.

+ * + *

Expands that can be applied for the search request

+ *
    + *
  • promotion
  • + *
  • campaign
  • + *
+ * + *

Note that only searchable attributes (excluding the ones marked with above with an asterisk) can be used in sorting.

+ */ + post: operations['postSitesByIDPromotionCampaignAssignmentSearch']; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/sites/{site_id}/promotion_search': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * @description

Searches for promotions.

+ * + *

The SearchRequest document contains a search object that allows filtering on various attributes.

+ * + *

The query attribute specifies a complex query that can be used to narrow down the search. These are the searchable + * attributes:

+ *
    + *
  • id - String
  • + *
  • name - String
  • + *
  • currency_code - String
  • + *
  • exclusivity - String
  • + *
  • enabled - Boolean
  • + *
+ *

Note that only searchable attributes can be used in sorting. Additionally, the following attribute can be used to + * sort:

+ *
    + *
  • promotion_class - String
  • + *
+ */ + post: operations['postSitesByIDPromotionSearch']; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/sites/{site_id}/promotions/{id}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to get promotion information. */ + get: operations['getSitesByIDPromotionsByID']; + /** @description Creates a promotion using the information provided. */ + put: operations['putSitesByIDPromotionsByID']; + post?: never; + /** @description Deletes the promotion by ID */ + delete: operations['deleteSitesByIDPromotionsByID']; + options?: never; + head?: never; + /** @description Updates the promotion with the specified information. */ + patch: operations['patchSitesByIDPromotionsByID']; + trace?: never; + }; + '/sites/{site_id}/site_preferences/preference_groups/{group_id}/{instance_type}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * @description For the specified site and instance, read the custom preferences in the preference group. + * Specify 'current' to retrieve the preferences for the instance on which this call is being made. The system will recognize its type. + */ + get: operations['getSitesByIDSitePreferencesPreferenceGroupsByIDByID']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * @description For the specified site and instance, update one or more custom preferences in the preference group. + * Preferences of type password cannot be set to "************" since it is a reserved value. + */ + patch: operations['patchSitesByIDSitePreferencesPreferenceGroupsByIDByID']; + trace?: never; + }; + '/sites/{site_id}/slot_configuration_campaign_assignment_search': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * @description

Searches for slotconfiguration campaign assignments.

+ * + *

The SlotConfigCampaignAssignment Search document contains a search object that allows filtering on various attributes.

+ * + *

The query attribute specifies a complex query that can be used to narrow down the search. Attributes are grouped + * into different buckets. These are the list of searchable attributes with their corresponding buckets:

+ * + *

Main:

+ *
    + *
  • rank - Integer
  • + *
  • start_date - Date
  • + *
  • end_date - Date
  • + *
+ *

Campaign:

+ *
    + *
  • campaign_id - String
  • + *
  • enabled - Boolean
  • + *
+ *

Slot configuration:

+ *
    + *
  • slot_configuration_id - String
  • + *
  • description - String
  • + *
+ * + *

Only attributes in the same bucket can be joined using a disjunction (OR). + * For instance, when joining rank and description above, only a conjunction is allowed (AND), whereas slot_configuration_id + * and description can be joined using a disjunction because they are in the same bucket. If an attribute + * is used in a disjunction (OR) that violates this rule, an exception will be thrown.

+ * + *

Expands that can be applied for the search request

+ *
    + *
  • campaign
  • + *
  • slotConfiguration
  • + *
+ * + *

Note that only searchable attributes (excluding the ones marked with above with an asterisk) can be used in sorting.

+ */ + post: operations['postSitesByIDSlotConfigurationCampaignAssignmentSearch']; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/sites/{site_id}/slot_configuration_search': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * @description

Searches for slot configurations.

+ * + *

The query attribute specifies a complex query that can be used to narrow down the search. Attributes are grouped + * into different buckets. These are the list of searchable attributes with their corresponding buckets:

+ * + *

Main:

+ *
    + *
  • configuration_id - String
  • + *
  • default - Boolean
  • + *
  • description - String
  • + *
  • enabled - Boolean
  • + *
+ *

Slot:

+ *
    + *
  • context - String
  • + *
  • slot_id - String
  • + *
+ * + *

Only fields in the same bucket can be joined using a disjunction (OR). For instance, when joining context and + * description above, only a conjunction is allowed (AND), whereas context and slot_id can be joined to each other + * using a disjunction because they are in the same bucket. If the field is used in a disjunction (OR) that + * violates this rule, an exception will be thrown.

+ */ + post: operations['postSitesByIDSlotConfigurationSearch']; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/sites/{site_id}/slot_configurations': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to get all the slot configurations with no filtering. */ + get: operations['getSitesByIDSlotConfigurations']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/sites/{site_id}/slot_search': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * @description

Searches for slots.

+ * + *

The query attribute specifies a complex query that can be used to narrow down the search. The set of fields that + * are available to search are:

+ *
    + *
  • slot_id - String
  • + *
  • description - String
  • + *
  • context_type - String
  • + *
+ * + *

Note that only searchable attributes can be used in sorting. "context_type" value is restricted to Global/Folder/Category.

+ */ + post: operations['postSitesByIDSlotSearch']; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/sites/{site_id}/slots': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to get all the slots with no filtering. Fetches the slot entities which are already populated in the database by crawling the active code. */ + get: operations['getSitesByIDSlots']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/sites/{site_id}/slots/{slot_id}/slot_configurations/{configuration_id}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to read an existing slot configuration. */ + get: operations['getSitesByIDSlotsByIDSlotConfigurationsByID']; + /** + * @description Creates a new configuration for an existing slot. If a slot configuration + * exists with the specified configuration_id, slot_id, and context, the existing + * slot configuration is overwritten. + */ + put: operations['putSitesByIDSlotsByIDSlotConfigurationsByID']; + post?: never; + /** @description Removes a configuration for slot in a given context from a site. */ + delete: operations['deleteSitesByIDSlotsByIDSlotConfigurationsByID']; + options?: never; + head?: never; + /** + * @description Updates an existing slot configuration. This action ignores the slot_id and + * the context information in the input document. Note that this operation will + * not touch any relational properties, which means, that e.g. the rank on a specific + * campaign assignment will not be changed, when the rank for the slot configuration + * itself is updated. + */ + patch: operations['patchSitesByIDSlotsByIDSlotConfigurationsByID']; + trace?: never; + }; + '/sites/{site_id}/slots/{slot_id}/{context_type}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to get slot information. Fetches the slot entities which are already populated in the database by crawling the active code. */ + get: operations['getSitesByIDSlotsByIDByID']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/sites/{site_id}/sorting_rule_search': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * @description

Searches for product sorting rules.

+ * + *

The query attribute specifies a complex query that can be used to narrow down the search. These are the list + * of searchable attributes:

+ *
    + *
  • id - String
  • + *
  • description - String
  • + *
  • creation_date - date of creation
  • + *
+ * + *

The output of the query can also be sorted. These are the list of sortable attributes:

+ *
    + *
  • id - String
  • + *
  • description - String
  • + *
  • creation_date - date of creation
  • + *
+ * + *

This resource does not support expand options.

+ */ + post: operations['postSitesByIDSortingRuleSearch']; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/sites/{site_id}/source_code_group_search': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * @description Searches for source code groups. + *

+ * The query attribute specifies a complex query that can be used to narrow down the search. These are the list + * of searchable attributes: + *

    + *
  • id - String
  • + *
  • description - String
  • + *
  • source_code* - String
  • + *
  • start_time - DateTime
  • + *
  • end_time - DateTime
  • + *
  • creation_date - DateTime
  • + *
  • enabled - Boolean
  • + *
  • active* - Boolean
  • + *
+ * + *

* - These fields can only be used in Queries as conjunctions (using AND). If the field is used in a disjunction + * (OR) an exception will be thrown.

+ * + *

The output of the query can also be sorted. These are the list of sortable attributes:

+ *
    + *
  • id - String
  • + *
  • description - String
  • + *
  • enabled - Boolean
  • + *
  • creation_date - DateTime
  • + *
+ * + *

Expands that can be applied for the search request

+ *
    + *
  • specifications - String
  • + *
+ */ + post: operations['postSitesByIDSourceCodeGroupSearch']; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/sites/{site_id}/source_code_groups': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to get all the source code groups with no filtering. */ + get: operations['getSitesByIDSourceCodeGroups']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/sites/{site_id}/source_code_groups/{id}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to retrieve source code group information. */ + get: operations['getSitesByIDSourceCodeGroupsByID']; + /** @description Creates a source code group using the information provided. */ + put: operations['putSitesByIDSourceCodeGroupsByID']; + post?: never; + /** @description Deletes the source code group by ID */ + delete: operations['deleteSitesByIDSourceCodeGroupsByID']; + options?: never; + head?: never; + /** @description

Updates the source code group with the specified information.

*/ + patch: operations['patchSitesByIDSourceCodeGroupsByID']; + trace?: never; + }; + '/sites/{site_id}/store_search': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * @description

+ * Searches for stores. + *

+ *

+ * The query attribute specifies a complex query that can be used to narrow down the search. This is the list of + * searchable attributes: + *

+ *
    + *
  • address1 - String
  • + *
  • address2 - String
  • + *
  • city - String
  • + *
  • country_code - String
  • + *
  • email - String
  • + *
  • fax - String
  • + *
  • id - String
  • + *
  • inventory_id - String
  • + *
  • latitude - double
  • + *
  • longitude - double
  • + *
  • name - String
  • + *
  • phone - String
  • + *
  • postal_code - String
  • + *
  • state_code - String
  • + *
  • store_hours - String
  • + *
  • store_events - String
  • + *
+ */ + post: operations['postSitesByIDStoreSearch']; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/sites/{site_id}/stores': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to get all the stores with no filtering. */ + get: operations['getSitesByIDStores']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/sites/{site_id}/stores/{id}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to get store information. */ + get: operations['getSitesByIDStoresByID']; + /** @description Creates a store using the information provided. */ + put: operations['putSitesByIDStoresByID']; + post?: never; + /** @description Deletes the store by ID */ + delete: operations['deleteSitesByIDStoresByID']; + options?: never; + head?: never; + /** @description Updates the store with the specified information. */ + patch: operations['patchSitesByIDStoresByID']; + trace?: never; + }; + '/system_object_definition_search': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * @description

Searches for system objects.

+ * + *

The query attribute specifies a complex query that can be used to narrow down the search. These are the list + * of searchable attributes:

+ *
    + *
  • object_type - String
  • + *
  • display_name - Localized < String >
  • + *
  • description - Localized < String >
  • + *
  • read_only - Boolean
  • + *
+ * + *

The output of the query can also be sorted. These are the list of sortable attributes:

+ *
    + *
  • object_type - String
  • + *
  • display_name - Localized < String >
  • + *
  • description - Localized < String >
  • + *
  • read_only - Boolean
  • + *
+ */ + post: operations['postSystemObjectDefinitionSearch']; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/system_object_definitions': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to get all the system objects with no filtering. */ + get: operations['getSystemObjectDefinitions']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/system_object_definitions/{object_type}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to get system object information. */ + get: operations['getSystemObjectDefinitionsByID']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/system_object_definitions/{object_type}/attribute_definition_search': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * @description

Searches the attribute definitions of the specified system object type.

+ *

+ *

The query attribute specifies a complex query that can be used to narrow down the search. Attributes are grouped + * into different buckets. These are the list of searchable attributes with their corresponding buckets:

+ * + *

Main:

+ *
    + *
  • id - String
  • + *
  • display_name* - Localized String
  • + *
  • description* - Localized String
  • + *
  • key - boolean
  • + *
  • mandatory - boolean
  • + *
  • searchable - boolean
  • + *
  • system - boolean
  • + *
  • visible - boolean
  • + *
+ *

Definition version:

+ *
    + *
  • localizable - boolean
  • + *
  • site_specific - boolean
  • + *
  • value_type - one of {string, int, double, text, html, date, image, boolean, money, quantity, datetime, email, password, set_of_string, set_of_int, set_of_double, enum_of_string, enum_of_int}
  • + *
+ *

Group:

+ *
    + *
  • group - String
  • + *
+ * + *

Only attributes in the same bucket can be joined using a disjunction (OR). + * For instance, when joining localizable and description above, only a conjunction is allowed (AND), whereas display_name + * and description can be joined using a disjunction because they are in the same bucket. If an attribute + * is used in a disjunction (OR) that violates this rule, an exception will be thrown.

+ * + *

* These attributes are not searchable or sortable for built in system attributes. They work normally for non + * system attributes.

+ * + *

Note that only searchable attributes can be used in sorting.

+ */ + post: operations['postSystemObjectDefinitionsByIDAttributeDefinitionSearch']; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/system_object_definitions/{object_type}/attribute_definitions': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to get all the attribute definitions with no filtering. */ + get: operations['getSystemObjectDefinitionsByIDAttributeDefinitions']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/system_object_definitions/{object_type}/attribute_definitions/{id}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to get attribute definition information. */ + get: operations['getSystemObjectDefinitionsByIDAttributeDefinitionsByID']; + /** @description Creates a attribute definition using the information provided. */ + put: operations['putSystemObjectDefinitionsByIDAttributeDefinitionsByID']; + post?: never; + /** @description Deletes the attribute definition by ID */ + delete: operations['deleteSystemObjectDefinitionsByIDAttributeDefinitionsByID']; + options?: never; + head?: never; + /** + * @description Updates the attribute definition with the specified information. The request must include the If-Match header, which holds + * the last known base-point information. The value of this header is an "ETag" representing the attribute definition state. If + * the request does not contain an If-Match header with the current server customer "ETag", a 409 (IfMatchRequiredException) + * fault is returned. If the If-Match header does not match the current server attribute definition "ETag", a 412 (InvalidIfMatchException) + * fault is returned. + */ + patch: operations['patchSystemObjectDefinitionsByIDAttributeDefinitionsByID']; + trace?: never; + }; + '/system_object_definitions/{object_type}/attribute_group_search': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * @description

Searches for attribute groups.

+ * + *

The query attribute specifies a complex query that can be used to narrow down the search. These are the list + * of searchable attributes:

+ *
    + *
  • id - String
  • + *
  • display_name - Localized < String >
  • + *
  • description - Localized < String >
  • + *
  • position - Double
  • + *
  • internal - Boolean
  • + *
+ * + *

The output of the query can also be sorted. These are the list of sortable attributes:

+ *
    + *
  • id - String
  • + *
  • display_name - Localized < String >
  • + *
  • description - Localized < String >
  • + *
  • position - Double
  • + *
  • internal - Boolean
  • + *
+ */ + post: operations['postSystemObjectDefinitionsByIDAttributeGroupSearch']; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/system_object_definitions/{object_type}/attribute_groups': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to get all the attribute groups with no filtering. */ + get: operations['getSystemObjectDefinitionsByIDAttributeGroups']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/system_object_definitions/{object_type}/attribute_groups/{group_id}/attribute_definitions/{def_id}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** @description Assign an attribute definition to an attribute group. */ + put: operations['putSystemObjectDefinitionsByIDAttributeGroupsByIDAttributeDefinitionsByID']; + post?: never; + /** @description Un-assign an attribute definition from an attribute group. */ + delete: operations['deleteSystemObjectDefinitionsByIDAttributeGroupsByIDAttributeDefinitionsByID']; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/system_object_definitions/{object_type}/attribute_groups/{id}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to get attribute group information. */ + get: operations['getSystemObjectDefinitionsByIDAttributeGroupsByID']; + /** @description Creates a attribute group using the information provided. If a attribute group with the same unique identifier, it will be deleted and a new one will be created unless the header x-dw-validate-existing=true is passed in with the request. */ + put: operations['putSystemObjectDefinitionsByIDAttributeGroupsByID']; + post?: never; + /** @description Deletes the attribute group by ID */ + delete: operations['deleteSystemObjectDefinitionsByIDAttributeGroupsByID']; + options?: never; + head?: never; + /** + * @description Updates the attribute group with the specified information. The request must include the If-Match header, which holds + * the last known base-point information. The value of this header is an "ETag" representing the attribute group state. If + * the request does not contain an If-Match header with the current server customer "ETag", a 409 (IfMatchRequiredException) + * fault is returned. If the If-Match header does not match the current server attribute group "ETag", a 412 (InvalidIfMatchException) + * fault is returned. + */ + patch: operations['patchSystemObjectDefinitionsByIDAttributeGroupsByID']; + trace?: never; + }; + '/user_search': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * @description Searches for users. + *

+ * The query attribute specifies a complex query that can be used to narrow down the search. These are the list + * of searchable attributes: + *

+ *
    + *
  • login - String
  • + *
  • email - String
  • + *
  • first_name - String
  • + *
  • last_name - String
  • + *
  • external_id - String
  • + *
  • last_login_date - Date
  • + *
  • is_locked - Boolean
  • + *
  • is_disabled - Boolean
  • + *
+ * + *

The output of the query can also be sorted. These are the list of sortable attributes:

+ *
    + *
  • login - String
  • + *
  • email - String
  • + *
  • first_name - String
  • + *
  • last_name - String
  • + *
  • external_id - String
  • + *
  • last_login_date - Date
  • + *
+ */ + post: operations['postUserSearch']; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/users': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to get all users with no filtering. */ + get: operations['getUsers']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/users/this': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to get the user password expiration information. */ + get: operations['getUsersThis']; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + '/users/this/password': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * @description Action to change a local user password. This action cannot change the password for a user managed by Account + * Manager. + */ + patch: operations['patchUsersThisPassword']; + trace?: never; + }; + '/users/{login}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Action to get a user. */ + get: operations['getUsersByID']; + /** + * @description Action to create or overwrite a user. + * + * If a user with the given login already exists, the existing user will be overwritten. + * If no such login exists, a new user is created. + */ + put: operations['putUsersByID']; + post?: never; + /** @description Action to delete a single user. */ + delete: operations['deleteUsersByID']; + options?: never; + head?: never; + /** + * @description

Action to update a user.

+ * + *

Note: The locked flag and the user password cannot be updated with this resource.

+ */ + patch: operations['patchUsersByID']; + trace?: never; + }; + '/users/{login}/access_key/{scope}': { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Gets a single access key. */ + get: operations['getUsersByIDAccessKeyByID']; + /** @description Creates a single access key (and removes an existing one for the same scope). */ + put: operations['putUsersByIDAccessKeyByID']; + post?: never; + /** @description Deletes a single access key. */ + delete: operations['deleteUsersByIDAccessKeyByID']; + options?: never; + head?: never; + /** @description Enables / disables a single access key. */ + patch: operations['patchUsersByIDAccessKeyByID']; + trace?: never; + }; +} +export type webhooks = Record; +export interface components { + schemas: { + string: string; + /** @description

The id of the A/B Test

*/ + ab_test: { + /** @description The list of customer group ids assigned to the A/B Test. Defaults to 'Everyone' if not specified on create */ + customer_groups?: string[]; + /** @description The optional description of the A/B Test */ + description?: string; + /** @description The optional list of email addresses to send A/B Test results */ + email_addresses?: string[]; + /** @description The flag representing the enabled state of the A/B Test. Defaults to false if not specified on create */ + enabled?: boolean; + /** + * Format: date-time + * @description The date that the A/B Test ends. Defaults to two weeks from creation date if both start and end dates are not specified on create + */ + end_date?: string; + /** + * @description The participant expiration type of the A/B Test. Defaults to 'never' if not specified on create + * @enum {string} + */ + expiration_type?: 'session' | 'never'; + /** @description The id of the A/B Test */ + id?: string; + /** @description The key metric that is most important to the A/B Test, among the metrics collected. Defaults to 'Revenue' if not specified from test participant activity */ + key_metric_id?: string; + /** @description The URL to get the A/B test. This is a computed attribute and cannot be modified */ + link?: string; + /** @description The flag representing the paused state of the A/B Test. Defaults to false if not specified on create */ + paused?: boolean; + /** + * Format: int32 + * @description Segment count of A/B test. This is a computed attribute and cannot be modified + */ + segment_count?: number; + /** + * Format: date-time + * @description The date that the A/B Test begins. Defaults to a week from creation date if both start and end dates are not specified on create + */ + start_date?: string; + /** + * @description Status of A/B test. This is a computed attribute and cannot be modified + * @enum {string} + */ + status?: 'ended' | 'planned' | 'running'; + /** @description The optional list of tags to group similar A/B Tests so that they can be searched easily. */ + tags?: string[]; + /** @description Test Groups created for an A/B Test. This is a read only attribute for now. */ + test_groups?: components['schemas']['ab_test_group'][]; + /** @description Test Segments created for an A/B Test. This is a read only attribute for now */ + test_segments?: components['schemas']['ab_test_segment'][]; + trigger?: components['schemas']['ab_test_trigger']; + }; + /** @description

Document representing an A/B Test Group

*/ + ab_test_group: { + /** + * Format: int32 + * @description Test Group percentage allocation + */ + allocation?: number; + /** @description Flag to determine if this Test Group is a customer experience */ + custom_experience?: boolean; + /** @description Test Group description */ + description?: string; + /** @description Test group id */ + id?: string; + }; + /** @description

Request document containing a search response for A/B test

*/ + ab_test_search_result: { + /** + * Format: int32 + * @description The number of returned documents. + */ + count?: number; + data?: Record[]; + /** Format: int32 */ + db_start_record_?: number; + expand?: string[]; + /** @description The search hits returned as an ordered list */ + hits?: components['schemas']['ab_test'][]; + next?: components['schemas']['result_page']; + previous?: components['schemas']['result_page']; + query?: components['schemas']['query']; + /** @description The fields that you want to select. */ + select?: string; + sorts?: components['schemas']['sort'][]; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The total number of documents. + */ + total?: number; + }; + /** @description

Document representing an A/B Test Segment

*/ + ab_test_segment: { + /** + * Format: int32 + * @description Test Group percentage allocation + */ + allocation?: number; + /** @description Flag to determine if this Test Group is a customer experience */ + custom_experience?: boolean; + /** @description Test Group description */ + description?: string; + /** @description Test group id */ + id?: string; + link?: string; + /** @description Promotions which this segment has as experiences */ + promotions?: Record[]; + /** @description Slot configurations which this segment has as experiences */ + slot_configs?: Record[]; + /** @description Sorting rules which this segment has as experiences */ + sorting_rules?: Record[]; + stats?: components['schemas']['ab_test_segment_stats']; + }; + ab_test_segment_stats: { + /** Format: int32 */ + adds_to_baskets?: number; + /** Format: double */ + average_adds_per_basket?: number; + /** Format: double */ + average_adds_per_basket_std_error?: number; + /** Format: double */ + average_discount_amount?: number; + /** Format: double */ + average_discount_amount_std_error?: number; + /** Format: double */ + average_discount_amount_with_coupon?: number; + /** Format: double */ + average_discount_amount_with_coupon_std_error?: number; + /** + * Format: double + * @description The standard error for the average amount discounted for orders without using a coupon + */ + average_discount_amount_without_coupon?: number; + /** + * Format: double + * @description Units sold per hour + */ + average_discount_amount_without_coupon_std_error?: number; + /** Format: double */ + average_order_value?: number; + /** Format: double */ + average_order_value_std_error?: number; + /** Format: double */ + average_revenue_per_visit?: number; + /** Format: double */ + average_revenue_per_visit_std_error?: number; + /** Format: double */ + average_units_added_per_basket?: number; + /** Format: double */ + average_units_adder_per_basket_std_error?: number; + /** Format: double */ + average_units_per_order_std_error?: number; + /** Format: double */ + average_units_per_visit?: number; + /** Format: double */ + average_units_per_visit_std_error?: number; + /** Format: double */ + basket_rate?: number; + /** Format: double */ + baskets?: number; + /** Format: double */ + checkout_rate?: number; + /** Format: int32 */ + checkouts?: number; + /** Format: double */ + conversion_rate?: number; + /** Format: double */ + discount_amount_with_coupon?: number; + /** Format: double */ + discount_amount_without_coupon?: number; + /** Format: int32 */ + orders?: number; + /** Format: double */ + revenue?: number; + /** Format: double */ + total_discount_amount?: number; + /** Format: double */ + units?: number; + /** Format: double */ + units_added_to_baskets?: number; + /** Format: int32 */ + visitors?: number; + /** Format: int32 */ + visits?: number; + }; + /** @description

Document representing an A/B Test trigger.

*/ + ab_test_trigger: { + /** @description The list of categories. This is a modifiable attribute when trigger type is 'category_page_view' only */ + categories?: string[]; + /** @description The flag indicating if the trigger is based on pipelines. This is a computed attribute and cannot be modified */ + is_pipeline_based?: boolean; + /** @description The list of pipeline name and start node combinations (for example, Account-Show). This is a modifiable attribute when trigger type is 'pipeline_calls' only */ + pipeline_calls?: string[]; + /** + * @description The type of the trigger. Defaults to 'immediately' if not specified on create + * @enum {string} + */ + trigger_type?: 'immediately' | 'category_page_view' | 'home_page_view' | 'pipeline_call'; + }; + /** @description

Request document containing a set of ABTests

*/ + ab_tests: { + /** Format: int32 */ + count?: number; + data?: components['schemas']['ab_test'][]; + expand?: string[]; + next?: string; + previous?: string; + select?: string; + /** Format: int32 */ + start?: number; + /** Format: int32 */ + total?: number; + }; + /** @description

Access key information

*/ + access_key_details: { + /** @description The newly created access key (only available upon access key creation, missing otherwise). */ + access_key?: string; + /** @description True when the access key is enabled. */ + enabled?: boolean; + /** + * Format: date-time + * @description The date when the access key expires. + */ + expiration_date?: string; + }; + /** @description

Request body to enable / disable an access key.

*/ + access_key_update_request: { + /** @description True when the access key should be enabled. */ + enabled?: boolean; + }; + /** @description

Document representing an account transaction

*/ + account_transaction: { + amount?: components['schemas']['money']; + /** @description The order number of the gift certificate */ + order_no?: string; + /** + * Format: date-time + * @description The timestamp of the transaction of the gift certificate + */ + timestamp?: string; + /** + * @description The type code of the gift certificate + * @enum {string} + */ + type_code?: 'create' | 'redeem' | 'delete' | 'enable' | 'disable'; + }; + /** @description

Document describing a single alert descriptor.

*/ + alert_descriptor: { + /** @description The application context path. */ + application_context_path?: string; + /** @description The application ID. */ + application_id?: string; + /** @description The context object type. */ + context_object_type?: string; + /** + * @description The default priority. + * @enum {string} + */ + default_priority?: 'not_allowed' | 'hidden' | 'informational' | 'warning' | 'action_required'; + /** @description URL for this resource. */ + link?: string; + /** @description The message ID. */ + message_id?: string; + }; + /** @description

Document describing settings for a single alert descriptor.

*/ + alert_descriptor_settings: { + /** @description The application context path. */ + application_context_path: string; + /** @description The application ID. */ + application_id: string; + /** @description

Flag that indicates whether the settings for this descriptor have been changed by the user.

In a PATCH request, this flag must be set to true to override the default settings. If this flag to false in a PATCH request, the default user settings for this descriptor are restored (and all other fields are ignored).

*/ + is_user_override: boolean; + /** @description The message ID. */ + message_id: string; + /** + * @description The user priority. + * @enum {string} + */ + priority: 'hidden' | 'informational' | 'warning' | 'action_required'; + /** @description Flag that indicates whether the alert is shown in the Business Manager header. */ + show_in_header: boolean; + /** @description Flag that indicates whether the alert is shown on the Business Manager banner (on every page). */ + show_on_banner?: boolean; + /** @description Flag that indicates whether the alert is shown on the Business Manager homepage. */ + show_on_homepage: boolean; + }; + /** @description

Document containing a collection of alert descriptors.

*/ + alert_descriptors: { + /** @description Collection of alert descriptors */ + data?: components['schemas']['alert_descriptor'][]; + }; + /** @description

Contains parameters for a alert descriptor revalidation request.

*/ + alert_descriptors_revalidation_request: { + /** @description ID of the object in which context messages should be revalidated. */ + context_object_id?: string; + }; + /** @description

Document containing the alert settings of a user.

*/ + alert_settings: { + /** @description Alert settings. */ + settings?: components['schemas']['alert_descriptor_settings'][]; + }; + /** @description

Document representing the available applications for retrieving permissions.

*/ + application_permissions: { + /** @description The available applications (e.g. 'bm' for Business Manager). */ + applications?: string[]; + bm?: components['schemas']['bmpermissions']; + csc?: components['schemas']['cscpermissions']; + }; + bmpermissions: { + functional?: components['schemas']['functional_permissions']; + functional_link?: string; + locale?: components['schemas']['locale_permissions']; + locale_link?: string; + module?: components['schemas']['module_permissions']; + module_link?: string; + types?: string[]; + webdav?: components['schemas']['webdav_permissions']; + webdav_link?: string; + }; + /** + * @description

Document representing a boolean filter. + * + * A boolean filter allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter + * is configured with a boolean operator (AND, OR, NOT) and a list of filters the operator relates to. If multiple + * filters are given to a boolean NOT operator, this is interpreted as a NOT upon a boolean OR of the given filters. + * + * Example: (id="myId" AND coupon_id="couponOne") + *

+     *       query: {
+     *          filtered_query: {
+     *              query: { match_all_query: {} },
+     *              filter: {
+     *                  bool_filter: {
+     *                      operator: "and",
+     *                      filters: [
+     *                          { term_filter: { field: "id", operator: "is", values: ["myId"] } },
+     *                          { term_filter: { field: "coupon_id", operator: "is", values: ["couponOne"] } }
+     *                      ]
+     *                  }
+     *              }
+     *          }
+     *       }
+     *        
+ * Example: (id="holidaySale" OR redemption_count BETWEEN(1, 20) + *
+     *          query: {
+     *              filtered_query: {
+     *                  query: { match_all_query: {} },
+     *                  filter: {
+     *                      bool_filter: {
+     *                      operator: "or",
+     *                      filters: [
+     *                          { term_filter: { field: "id", operator: "is", values: ["holidaySale"] } },
+     *                          { range_filter: { field: "redemption_count", from: 1, to: 20 } }
+     *                      ]
+     *                  }
+     *              }
+     *          }
+     *       }
+     *        
+ * Example: NOT(enabled=false OR coupon_id="special") + *
+     *          query: {
+     *              filtered_query: {
+     *                  query: { match_all_query: {} },
+     *                  filter: {
+     *                      bool_filter: {
+     *                      operator: "not",
+     *                      filters: [
+     *                          { term_filter: { field: "enabled", operator: "is", values: [false] } },
+     *                          { term_filter: { field: "coupon_id", operator: "is", values: ["special"] } }
+     *                      ]
+     *                  }
+     *              }
+     *          }
+     *       }
+     *        

+ */ + bool_filter: { + /** @description A list of filters, which are logically combined by an operator. */ + filters?: components['schemas']['filter'][]; + /** + * @description The logical operator the filters are combined with. + * @enum {string} + */ + operator: 'and' | 'or' | 'not'; + }; + /** + * @description

A boolean query allows construction of full logical expression trees consisting of other queries (usually term and text + * queries). A boolean query basically has 3 sets of clauses that 'must', 'should' and / or 'must not' match. If 'must', + * 'must_not', or 'should' appear in the same boolean query, they are combined logically using the AND operator. + * The difference between must and should operators is that the must operator requires all subqueries to match whereas the should operator only requires one match + * + * Example: (id = 'foo' AND description LIKE 'bar') + *

+     *        query: {
+     *            bool_query: {
+     *                must: [
+     *                    { term_query: { fields: ["id"], operator: "is", values: ["foo"] } },
+     *                    { text_query: { fields: ["description"], search_phrase: "bar" } }
+     *                ]
+     *            }
+     *        }
+     *      
+ * + * Example: (id = 'foo' OR description LIKE 'bar') + *
+     *        query: {
+     *            bool_query: {
+     *                should: [
+     *                    { term_query: { fields: ["id"], operator: "is", values: ["foo"] } },
+     *                    { text_query: { fields: ["description"], search_phrase: "bar" } }
+     *                ]
+     *            }
+     *        }
+     *      
+ * + * Example: (NOT (id = 'foo' AND description LIKE 'bar')) + *
+     *        query: {
+     *            bool_query: {
+     *                must_not: [
+     *                    { term_query: { fields: ["id"], operator: "is", values: ["foo"] } },
+     *                    { text_query: { fields: ["description"], search_phrase: "bar" } }
+     *                ]
+     *            }
+     *        }
+     *      
+ * + * Example: ((coupon_id LIKE "limit" AND description LIKE "limit per customer") AND NOT (enabled=false)) + *
+     *        query: {
+     *            bool_query: {
+     *                must: [
+     *                    { text_query: { fields: [ "coupon_id" ], search_phrase: "limit" } },
+     *                    { text_query: { fields: [ "description" ], search_phrase: "limit per customer" } }
+     *                ],
+     *                must_not: [
+     *                    { term_query: { fields: [ "enabled" ], operator: "is", values: [false] } }
+     *                ]
+     *            }
+     *        }
+     *      

+ */ + bool_query: { + /** @description List of queries that must match. */ + must?: components['schemas']['query'][]; + /** @description List of queries that must not match. */ + must_not?: components['schemas']['query'][]; + /** @description List of queries that should match (i.e., at least one query must match). */ + should?: components['schemas']['query'][]; + }; + /** @description

Document representing a campaign.

*/ + campaign: { + /** @description The ID of the campaign. */ + campaign_id?: string; + /** @description The array of assigned coupon IDs, not sorted */ + coupons?: string[]; + /** + * Format: date-time + * @description Returns the value of attribute 'creationDate'. + */ + readonly creation_date?: string; + /** @description The array of assigned customer groups, not sorted */ + customer_groups?: string[]; + /** + * Format: text + * @description The description of the campaign. + */ + description?: string; + /** @description The enabled flag for campaign. */ + enabled?: boolean; + /** + * Format: date-time + * @description The date that the Scenario ends + */ + end_date?: string; + /** + * Format: date-time + * @description Returns the value of attribute 'lastModified'. + */ + readonly last_modified?: string; + /** @description link for convenience */ + link?: string; + /** @description The array of assigned source code groups, not sorted */ + source_code_groups?: string[]; + /** + * Format: date-time + * @description The date that the Scenario begins + */ + start_date?: string; + }; + /** @description

Document representing a campaign search result.

*/ + campaign_search_result: { + /** + * Format: int32 + * @description The number of returned documents + */ + count?: number; + data?: Record[]; + /** + * Format: int32 + * @description The zero-based index of the record that we want to start with, used to optimize special handling + */ + db_start_record_?: number; + /** @description List of expansions to be applied to each search results. Expands are optional */ + expand?: string[]; + /** @description The sorted array of search hits. Can be empty. */ + hits?: components['schemas']['campaign'][]; + next?: components['schemas']['result_page']; + previous?: components['schemas']['result_page']; + query?: components['schemas']['query']; + /** @description The field to be selected. */ + select?: string; + /** @description The list of sort clauses configured for the search request. Sort clauses are optional. */ + sorts?: components['schemas']['sort'][]; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The number of returned documents + */ + total?: number; + }; + /** @description

Document representing an unfiltered list of campaigns.

*/ + campaigns: { + /** + * Format: int32 + * @description The number of returned documents. + */ + count?: number; + data?: components['schemas']['campaign'][]; + /** @description The list of expands set for the search request. Expands are optional. */ + expand?: string[]; + /** @description The URL of the next result page. */ + next?: string; + /** @description The URL of the previous result page. */ + previous?: string; + /** @description The fields that you want to select. */ + select?: string; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The total number of documents. + */ + total?: number; + }; + /** @description

Request body for post operation

*/ + cartridge_path_add_request: { + /** @description Name of the cartridge. */ + name: string; + /** + * @description Position of the cartridge. + * @enum {string} + */ + position: 'first' | 'last' | 'before' | 'after'; + /** @description When position is 'before' or 'after', need to specify the target cartridge */ + target?: string; + }; + /** @description

Response of cartridge path related operation

*/ + cartridge_path_api_response: { + /** @description Updated cartridge path */ + cartridges?: string; + /** @description Site id */ + site_id?: string; + }; + /** @description

Request Body for put operation

*/ + cartridge_path_create_request: { + /** @description New cartridge path */ + cartridges: string; + }; + /** @description

Document representing a catalog

*/ + catalog: { + /** + * Format: int32 + * @description The count of products assigned to the catalog. It is read only. + */ + assigned_product_count?: number; + /** @description The sites assigned to the catalog. It is read only. */ + assigned_sites?: components['schemas']['site'][]; + /** + * Format: int32 + * @description The category count of catalog. It is read only. + */ + category_count?: number; + /** + * Format: date-time + * @description Returns the value of attribute 'creationDate'. + */ + readonly creation_date?: string; + /** + * Format: localized + * @description The description of catalog + */ + description?: { + [key: string]: string; + }; + /** @description The catalog Id */ + id?: string; + /** + * Format: date-time + * @description Returns the value of attribute 'lastModified'. + */ + readonly last_modified?: string; + /** @description URL that is used to get this instance. It is read only. */ + link?: string; + /** + * Format: localized + * @description The catalog name + */ + name?: { + [key: string]: string; + }; + /** @description The online status of catalog */ + online?: boolean; + /** + * Format: int32 + * @description The count of products owned by the catalog. It is read only. + */ + owned_product_count?: number; + /** + * Format: int32 + * @description The recommendation count of the catalog. It is read only. + */ + recommendation_count?: number; + /** @description The root category of the catalog. It is read only */ + root_category?: string; + }; + /** @description

Document representing a catalog category id.

*/ + catalog_category_id: { + /** @description The id of the catalog that owns the category. */ + catalog_id?: string; + /** @description The id of the category. */ + category_id?: string; + }; + /** @description

Document representing a catalog search result.

*/ + catalog_search_result: { + /** + * Format: int32 + * @description The number of returned documents + */ + count?: number; + data?: Record[]; + /** + * Format: int32 + * @description The zero-based index of the record that we want to start with, used to optimize special handling + */ + db_start_record_?: number; + /** @description List of expansions to be applied to each search results. Expands are optional */ + expand?: string[]; + /** @description The sorted array of search hits. Can be empty. */ + hits?: components['schemas']['catalog'][]; + next?: components['schemas']['result_page']; + previous?: components['schemas']['result_page']; + query?: components['schemas']['query']; + /** @description The field to be selected. */ + select?: string; + /** @description The list of sort clauses configured for the search request. Sort clauses are optional. */ + sorts?: components['schemas']['sort'][]; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The number of returned documents + */ + total?: number; + }; + /** @description

Document representing an unfiltered list of catalogs.

*/ + catalogs: { + /** + * Format: int32 + * @description The number of returned documents. + */ + count?: number; + /** @description The collection of catalogs. */ + data?: components['schemas']['catalog'][]; + /** @description The list of expands set for the search request. Expands are optional. */ + expand?: string[]; + /** @description The URL of the next result page. */ + next?: string; + /** @description The URL of the previous result page. */ + previous?: string; + /** @description The fields that you want to select. */ + select?: string; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The total number of documents. + */ + total?: number; + }; + /** @description

Document representing an unfiltered list of categories.

*/ + categories: { + /** + * Format: int32 + * @description The number of returned documents. + */ + count?: number; + data?: components['schemas']['category'][]; + /** @description The list of expands set for the search request. Expands are optional. */ + expand?: string[]; + /** @description The URL of the next result page. */ + next?: string; + /** @description The URL of the previous result page. */ + previous?: string; + /** @description The fields that you want to select. */ + select?: string; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The total number of documents. + */ + total?: number; + }; + /** @description

Document representing a category.

*/ + category: { + c_alternativeUrl?: components['schemas']['markup_text']; + /** @description Used to define the content asset used to populate a grid page banner for a category. This value is applied to all sub-category navigation (cascading) if no specific catBannerID has been defined for a sub-category. */ + c_catBannerID?: string; + c_customCSSFile?: components['schemas']['media_file']; + /** @description Used to define if/when the Compare feature is to be visualized in the storefront based on navigation. If enableCompare = FALSE, no Compare checkboxes will be displayed in the grid view. If enableCompare = TRUE, the category (and its children) will support the Compare feature. */ + c_enableCompare?: boolean; + c_headerMenuBanner?: components['schemas']['markup_text']; + /** + * @description Which way to orient the menu and optional header menu HTML. Vertical will list all in one line. Horizontal will list in columns. + * @enum {string} + */ + c_headerMenuOrientation?: 'Horizontal' | 'Vertical'; + /** @description Used to indicate that a category (such as Mens -> Footwear -> Boots) will display in the roll-over navigation. A sub-category only shows if also the parent category is marked as showInMenu. Up to three category levels are shown in roll-over navigation. */ + c_showInMenu?: boolean; + /** @description Used to define the content asset ID of the Size Chart that is appropriate for products whose PRIMARY category is the associated category (and its children). Whenever a product detail page (or quick view) is rendered, the Size Chart link is populated based on the value of this attribute for the products primary categorization. If not defined, NO size chart link is displayed. */ + c_sizeChartID?: string; + /** Format: localized */ + c_slotBannerHtml?: { + [key: string]: components['schemas']['markup_text']; + }; + c_slotBannerImage?: components['schemas']['media_file']; + /** @description The id of the catalog that contains it. */ + catalog_id?: string; + /** @description The array of sub categories for the category. */ + categories?: components['schemas']['category'][]; + /** + * Format: date-time + * @description Returns the value of attribute 'creationDate'. + */ + readonly creation_date?: string; + /** + * Format: localized + * @description The localized description of the category. + */ + description?: { + [key: string]: string; + }; + /** @description The id of the category. */ + id?: string; + /** @description The name of the category image. The URL to the image is computed. */ + image?: string; + /** + * Format: date-time + * @description Returns the value of attribute 'lastModified'. + */ + readonly last_modified?: string; + /** @description The URL to get the category. This is a computed attribute and cannot be modified. */ + link?: string; + /** + * Format: localized + * @description The localized name of the category. + */ + name?: { + [key: string]: string; + }; + /** @description The online status of the category determines if it is visible in the storefront. Defaults to false if not specified on create. */ + online?: boolean; + /** + * Format: localized + * @description The localized page description of the category. + */ + page_description?: { + [key: string]: string; + }; + /** + * Format: localized + * @description The localized page keywords for the category. + */ + page_keywords?: { + [key: string]: string; + }; + /** + * Format: localized + * @description The localized page title of the category. + */ + page_title?: { + [key: string]: string; + }; + /** @description The id of the parent category. Defaults to root if not specified on create. */ + parent_category_id?: string; + paths?: components['schemas']['path_record'][]; + /** + * Format: double + * @description The position of the category determines the display order in the storefront. + */ + position?: number; + sorting_rules?: components['schemas']['sorting_rule'][]; + /** @description The name of the category thumbnail. The URL to the thumbnail is computed. */ + thumbnail?: string; + }; + /** @description

Document representing a category link

*/ + category_link: { + /** + * Format: date-time + * @description The date the link was last modified + */ + last_modified?: string; + /** @description URL that is used to get this instance */ + link?: string; + /** + * Format: double + * @description The position in the source catalog / category for this link relative to the other links in the same category. + */ + position?: number; + /** @description The source catalog for the link */ + source_catalog_id?: string; + /** + * Format: localized + * @description The name of the source catalog + */ + source_catalog_name?: { + [key: string]: string; + }; + /** @description The source category for the link */ + source_category_id?: string; + /** + * Format: localized + * @description The name of the source category + */ + source_category_name?: { + [key: string]: string; + }; + /** @description The target category for the link */ + target_catalog_id?: string; + /** + * Format: localized + * @description The name of the target catalog + */ + target_catalog_name?: { + [key: string]: string; + }; + /** @description The target category for the link */ + target_category_id?: string; + /** + * Format: localized + * @description The name of the target category + */ + target_category_name?: { + [key: string]: string; + }; + /** + * @description The link type + * @enum {string} + */ + type?: 'other' | 'accessories' | 'cross_selling' | 'up_selling' | 'spare_parts'; + }; + /** @description

Document representing an unfiltered list of category links.

*/ + category_links: { + /** + * Format: int32 + * @description The number of returned documents. + */ + count?: number; + data?: components['schemas']['category_link'][]; + /** @description The list of expands set for the search request. Expands are optional. */ + expand?: string[]; + /** @description The URL of the next result page. */ + next?: string; + /** @description The URL of the previous result page. */ + previous?: string; + /** @description The fields that you want to select. */ + select?: string; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The total number of documents. + */ + total?: number; + }; + /** @description

Document representing a category product assignment.

*/ + category_product_assignment: { + /** @description The id of the catalog. */ + catalog_id?: string; + /** @description The id of the category. */ + category_id?: string; + /** Format: date-time */ + creation_date?: string; + /** Format: date-time */ + last_modified?: string; + /** @description The URL used to get the product category assignment. */ + link?: string; + /** + * Format: localized + * @description The name of the catalog that owns the product. + */ + owning_catalog_name?: { + [key: string]: string; + }; + /** + * Format: double + * @description The position of product category assignment. + */ + position?: number; + product?: components['schemas']['product']; + /** @description The id of the Product. */ + product_id?: string; + /** + * Format: localized + * @description The name of the product. + */ + product_name?: { + [key: string]: string; + }; + }; + /** @description

Document representing product_search_request

*/ + category_product_assignment_search_request: { + /** + * Format: int32 + * @description The number of returned documents + */ + count?: number; + /** + * Format: int32 + * @description The zero-based index of the record that we want to start with, used to optimize special handling + */ + db_start_record_?: number; + /** + * @description The list of expansions that can be applied: + *
    + *
  • product_base - String - This expand will enable retrieval of the following basic Product information:

    + *
      + *
    • brand
    • + *
    • ean
    • + *
    • link
    • + *
    • long_description
    • + *
    • manufacturer_name
    • + *
    • manufacturer_sku
    • + *
    • name
    • + *
    • page_description
    • + *
    • page_keywords
    • + *
    • page_title
    • + *
    • searchable
    • + *
    • short_description
    • + *
    • type
    • + *
    • unit
    • + *
    • upc
    • + *
  • + *
+ */ + expand?: string[]; + query: components['schemas']['query']; + /** @description The field to be selected. */ + select?: string; + /** @description The list of sort clauses configured for the search request. Sort clauses are optional. */ + sorts?: components['schemas']['sort'][]; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + }; + /** @description

Document representing a product search result.

*/ + category_product_assignment_search_result: { + /** + * Format: int32 + * @description The number of returned documents + */ + count?: number; + data?: Record[]; + /** + * Format: int32 + * @description The zero-based index of the record that we want to start with, used to optimize special handling + */ + db_start_record_?: number; + /** @description List of expansions to be applied to each search results. Expands are optional */ + expand?: string[]; + /** @description The sorted array of search hits. This array can be empty. */ + hits?: components['schemas']['category_product_assignment'][]; + next?: components['schemas']['result_page']; + previous?: components['schemas']['result_page']; + query?: components['schemas']['query']; + /** @description The field to be selected. */ + select?: string; + /** @description The list of sort clauses configured for the search request. Sort clauses are optional. */ + sorts?: components['schemas']['sort'][]; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The number of returned documents + */ + total?: number; + }; + /** @description

Document representing a catalog search result.

*/ + category_search_result: { + /** + * Format: int32 + * @description The number of returned documents + */ + count?: number; + data?: Record[]; + /** + * Format: int32 + * @description The zero-based index of the record that we want to start with, used to optimize special handling + */ + db_start_record_?: number; + /** @description List of expansions to be applied to each search results. Expands are optional */ + expand?: string[]; + /** @description The sorted array of search hits. Can be empty. */ + hits?: components['schemas']['category'][]; + next?: components['schemas']['result_page']; + previous?: components['schemas']['result_page']; + query?: components['schemas']['query']; + /** @description The field to be selected. */ + select?: string; + /** @description The list of sort clauses configured for the search request. Sort clauses are optional. */ + sorts?: components['schemas']['sort'][]; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The number of returned documents + */ + total?: number; + }; + /** @description

Document representing a code version

*/ + code_version: { + /** + * Format: date-time + * @description The code version activation time. + */ + activation_time?: string; + /** @description Use this method to determine, if this code version is currently active. */ + active?: boolean; + /** @description A list containing the names of all cartridges participating in this code version. */ + cartridges?: string[]; + /** @description The code version compatibility mode. */ + compatibility_mode?: string; + /** @description The code version id. */ + id?: string; + /** + * Format: date-time + * @description The last time, when the code version was changed. + */ + last_modification_time?: string; + /** @description Use this method to determine, if this code version is the current rollback version. */ + rollback?: boolean; + /** + * Format: int64 + * @description Returns the total size of the file system content of this code version in bytes. + */ + total_size?: number; + /** @description Returns the HTTPS based WebDAV URL that can be used to access the code version resources. */ + web_dav_url?: string; + }; + /** @description

Result document containing an array of code versions.

*/ + code_version_result: { + /** + * Format: int32 + * @description The number of returned documents. + */ + count?: number; + /** @description The array of code versions */ + data?: components['schemas']['code_version'][]; + /** @description The URL of the next result page. */ + next?: string; + /** @description The URL of the previous result page. */ + previous?: string; + /** @description The fields that you want to select. */ + select?: string; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The total number of documents. + */ + total?: number; + }; + /** @description

Document representing a content asset.

*/ + content_asset: { + c_Year?: string; + /** Format: localized */ + c_body?: { + [key: string]: components['schemas']['markup_text']; + }; + c_customCSSFile?: components['schemas']['media_file']; + /** @description The ID of the classification folder. It is only part of the response, if the assignment from this content asset to the folder is marked as 'default'. The property is read-only. To set the classification folder just create/update an assignment between this content asset and a folder and mark it as 'default'. See details in /libraries/{library_id}/folder_assignments/{content_id}/{folder_id} resource. */ + classification_folder_id?: string; + /** @description The link to the classification folder. It is only part of the response, if the assignment from this content asset to the folder is marked as 'default'. The property is read-only. To set the classification folder just create/update an assignment between this content asset and a folder and mark it as 'default'. See details in /libraries/{library_id}/folder_assignments/{content_id}/{folder_id} resource. */ + classification_folder_link?: string; + /** + * Format: date-time + * @description Returns the value of attribute 'creationDate'. + */ + readonly creation_date?: string; + /** + * Format: localized + * @description The localized content asset description. + */ + description?: { + [key: string]: string; + }; + /** @description The id of the content asset. */ + id?: string; + /** + * Format: date-time + * @description Returns the value of attribute 'lastModified'. + */ + readonly last_modified?: string; + /** @description The link to the content asset resource. */ + link?: string; + /** + * Format: localized + * @description The localized content asset name. + */ + name?: { + [key: string]: string; + }; + /** + * Format: site-specific + * @description Is the asset online? + */ + online?: { + [key: string]: boolean; + }; + /** + * Format: localized + * @description The localized content asset page description. + */ + page_description?: { + [key: string]: string; + }; + /** + * Format: localized + * @description The localized content asset page keywords. + */ + page_keywords?: { + [key: string]: string; + }; + /** + * Format: localized + * @description The localized content asset page title. + */ + page_title?: { + [key: string]: string; + }; + /** + * Format: localized + * @description The localized content asset page url. + */ + page_url?: { + [key: string]: string; + }; + /** + * Format: site-specific + * @description Is the asset searchable? + */ + searchable?: { + [key: string]: boolean; + }; + /** + * Format: site-specific + * @description The content assets change frequency needed for the sitemap creation (always, hourly, daily, weekly, monthly, yearly, never). + */ + site_map_change_frequency?: { + [key: string]: 'always' | 'daily' | 'hourly' | 'monthly' | 'never' | 'weekly' | 'yearly'; + }; + /** + * Format: site-specific + * @description The status if the content asset is included into the sitemap (either 0 or 1). + */ + site_map_included?: { + [key: string]: 0 | 1; + }; + /** + * Format: site-specific + * @description The content assets priority needed for the sitemap creation (0.0 for no priority defined). + */ + site_map_priority?: { + [key: string]: number; + }; + /** @description The rendering template. */ + template?: string; + }; + /** @description

Result document containing an array of content assets.

*/ + content_asset_result: { + /** + * Format: int32 + * @description The number of search results in the current page. + */ + count?: number; + /** @description The returned objects. */ + data?: Record[]; + /** @description The sorted array of search hits. This array can be empty. */ + hits?: components['schemas']['content_asset'][]; + /** @description The URL of the next result page. */ + next?: string; + /** @description The URL of the previous result page. */ + previous?: string; + /** @description The fields that you want to select. */ + select?: string; + /** + * Format: int32 + * @description The zero-based index of the first search result to include in the document. + */ + start?: number; + /** + * Format: int32 + * @description The total number of search results. + */ + total?: number; + }; + /** @description

Document representing a content folder.

*/ + content_folder: { + c_customCSSFile?: components['schemas']['media_file']; + /** + * Format: date-time + * @description Returns the value of attribute 'creationDate'. + */ + readonly creation_date?: string; + /** + * Format: localized + * @description The localized content folder description. + */ + description?: { + [key: string]: string; + }; + /** @description The id of the content folder. */ + id?: string; + /** + * Format: date-time + * @description Returns the value of attribute 'lastModified'. + */ + readonly last_modified?: string; + /** @description The link to the content folder resource. */ + link?: string; + /** + * Format: localized + * @description The localized content folder name. + */ + name?: { + [key: string]: string; + }; + /** @description A flag indicating whether the folder in online (default is false). */ + online?: boolean; + /** + * Format: localized + * @description The localized content folder page description. + */ + page_description?: { + [key: string]: string; + }; + /** + * Format: localized + * @description The localized content folder page keywords. + */ + page_keywords?: { + [key: string]: string; + }; + /** + * Format: localized + * @description The localized content folder page title. + */ + page_title?: { + [key: string]: string; + }; + /** + * Format: localized + * @description The localized content folder page URL. + */ + page_url?: { + [key: string]: string; + }; + /** @description The id of the parent content folder. */ + parent_folder_id?: string; + /** @description The URL to the parent content folder. */ + parent_link?: string; + /** @description The URL to list the content sub-folders. */ + sub_folders_link?: string; + /** @description The rendering template. */ + template?: string; + }; + /** @description

Document representing a content folder assignment.

*/ + content_folder_assignment: { + /** @description The content id. */ + content_id?: string; + /** @description The content link. */ + content_link?: string; + /** @description A flag indicating whether the assignment is the default one. */ + default?: boolean; + /** @description The folder id. */ + folder_id?: string; + /** @description The folder link. */ + folder_link?: string; + /** + * Format: double + * @description The position of the content asset in the folder. + */ + position?: number; + }; + /** @description

Result document containing an array of content folders.

*/ + content_folder_result: { + /** + * Format: int32 + * @description The number of search results in the current page. + */ + count?: number; + /** @description The returned objects. */ + data?: Record[]; + /** @description The sorted array of search hits. This array can be empty. */ + hits?: components['schemas']['content_folder'][]; + /** @description The URL of the next result page. */ + next?: string; + /** @description The URL of the previous result page. */ + previous?: string; + /** @description The fields that you want to select. */ + select?: string; + /** + * Format: int32 + * @description The zero-based index of the first search result to include in the document. + */ + start?: number; + /** + * Format: int32 + * @description The total number of search results. + */ + total?: number; + }; + /** @description

Result document containing an array of content subfolders.

*/ + content_sub_folder_result: { + /** + * Format: int32 + * @description The number of search results in the current page. + */ + count?: number; + /** @description The returned objects. */ + data?: Record[]; + /** @description The sorted array of search hits. This array can be empty. */ + hits?: components['schemas']['content_folder'][]; + /** @description The URL of the next result page. */ + next?: string; + /** @description The URL of the previous result page. */ + previous?: string; + /** @description The fields that you want to select. */ + select?: string; + /** + * Format: int32 + * @description The zero-based index of the first search result to include in the document. + */ + start?: number; + /** + * Format: int32 + * @description The total number of search results. + */ + total?: number; + }; + /** @description

Document representing a coupon.

*/ + coupon: { + /** + * @description True if a coupon is case insensitive; false otherwise. This attribute on the coupon can not be + * modified after the coupon has been created. If an attempt was made to modify this the system would return + * CouponUpdateForbiddenException + */ + case_insensitive?: boolean; + /** @description The id of the coupon. */ + readonly coupon_id?: string; + /** + * Format: date-time + * @description Returns the value of attribute 'creationDate'. + */ + readonly creation_date?: string; + /** @description The description of the coupon. */ + description?: string; + /** @description A flag indicating whether the coupon is enabled. */ + enabled?: boolean; + /** + * Format: int32 + * @description The number of coupon codes attached to the coupon that have been issued (request search only). + */ + exported_code_count?: number; + /** + * Format: date-time + * @description Returns the value of attribute 'lastModified'. + */ + readonly last_modified?: string; + /** @description A link to the coupon. */ + link?: string; + /** + * @description True if a coupon with multiple codes can have different codes used on the same basket or order. If the coupon + * type does not support this configuration, this will return false. + */ + multiple_codes_per_basket?: boolean; + /** + * Format: int32 + * @description The number of times the coupon has been redeemed (request search only). + */ + redemption_count?: number; + redemption_limits?: components['schemas']['redemption_limits']; + /** @description Single coupon code, only valid for Single Code type */ + single_code?: string; + system_codes_config?: components['schemas']['coupon_system_code_config']; + /** + * Format: int32 + * @description The total number of coupon codes associated with this coupon + */ + total_codes_count?: number; + /** + * @description The type of the coupon code. + * @enum {string} + */ + readonly type?: 'single_code' | 'multiple_codes' | 'system_codes'; + }; + /** @description

A coupon code with accompanying stats for redemptions and issued.

*/ + coupon_code: { + /** @description The code used to redeem the coupon */ + code?: string; + /** @description Flag indicating if the coupon code has been issued */ + issued?: boolean; + /** + * Format: int32 + * @description The count of the number of redemptions associated with the code + */ + redemption_count?: number; + }; + /** @description

Document representing a set of coupon codes.

*/ + coupon_codes: { + /** + * Format: int32 + * @description The number of returned documents. + */ + count?: number; + /** @description The collection of coupon codes */ + data?: components['schemas']['coupon_code'][]; + /** @description The list of expands set for the search request. Expands are optional. */ + expand?: string[]; + /** @description The URL of the next result page. */ + next?: string; + /** @description The URL of the previous result page. */ + previous?: string; + /** @description The fields that you want to select. */ + select?: string; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The total number of documents. + */ + total?: number; + }; + /** @description

A request object to add and remove coupon codes from a document

*/ + coupon_multi_codes_request: { + /** @description The list of coupon codes to add or delete */ + codes: string[]; + }; + /** @description

A redemption record returned from the coupon redemption resources

*/ + coupon_redemption: { + /** @description The coupon code that was redeemed */ + code?: string; + /** @description The coupon id that was redeemed */ + coupon_id?: string; + /** Format: date-time */ + creation_date?: string; + /** @description The customer email that was used to redeem it */ + customer_email?: string; + /** Format: date-time */ + last_modified?: string; + /** @description The order number where the redemption occurred */ + order_no?: string; + /** @description A URL able to access the order */ + view_order_url?: string; + }; + /** @description

The result of the coupon redemption search

*/ + coupon_redemption_search_result: { + /** + * Format: int32 + * @description The number of returned documents + */ + count?: number; + data?: Record[]; + /** + * Format: int32 + * @description The zero-based index of the record that we want to start with, used to optimize special handling + */ + db_start_record_?: number; + /** @description List of expansions to be applied to each search results. Expands are optional */ + expand?: string[]; + /** @description The hits from the search */ + hits?: components['schemas']['coupon_redemption'][]; + next?: components['schemas']['result_page']; + previous?: components['schemas']['result_page']; + query?: components['schemas']['query']; + /** @description The field to be selected. */ + select?: string; + /** @description The list of sort clauses configured for the search request. Sort clauses are optional. */ + sorts?: components['schemas']['sort'][]; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The number of returned documents + */ + total?: number; + }; + /** @description

Document representing a coupon search result.

*/ + coupon_search_result: { + /** + * Format: int32 + * @description The number of returned documents + */ + count?: number; + data?: Record[]; + /** + * Format: int32 + * @description The zero-based index of the record that we want to start with, used to optimize special handling + */ + db_start_record_?: number; + /** @description List of expansions to be applied to each search results. Expands are optional */ + expand?: string[]; + /** @description The sorted array of search hits. Can be empty. */ + hits?: components['schemas']['coupon'][]; + next?: components['schemas']['result_page']; + previous?: components['schemas']['result_page']; + query?: components['schemas']['query']; + /** @description The field to be selected. */ + select?: string; + /** @description The list of sort clauses configured for the search request. Sort clauses are optional. */ + sorts?: components['schemas']['sort'][]; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The number of returned documents + */ + total?: number; + }; + coupon_system_code_config: { + /** @description The code prefix for system-generated coupon codes. */ + code_prefix?: string; + /** + * Format: int32 + * @description The number of system coupon codes that can be issued. + */ + number_of_codes?: number; + }; + /** @description

Document representing an unfiltered list of coupons.

*/ + coupons: { + /** + * Format: int32 + * @description The number of returned documents. + */ + count?: number; + data?: components['schemas']['coupon'][]; + /** @description The list of expands set for the search request. Expands are optional. */ + expand?: string[]; + /** @description The URL of the next result page. */ + next?: string; + /** @description The URL of the previous result page. */ + previous?: string; + /** @description The fields that you want to select. */ + select?: string; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The total number of documents. + */ + total?: number; + }; + /** @description

Document representing the credentials of a customer.

*/ + credentials: { + /** @description A flag indicating whether the customer is enabled and can log. */ + enabled?: boolean; + /** @description A flag indicating whether the customer account is locked. */ + locked?: boolean; + /** @description The login of the customer. */ + login: string; + /** @description The password question. */ + password_question?: string; + }; + cscpermissions: { + module?: components['schemas']['module_permissions']; + module_link?: string; + types?: string[]; + }; + /** @description

Document representing custom logging settings.

*/ + custom_log_settings: { + /** @description False if the current instance is production. */ + debug_permitted?: boolean; + /** @description Indicates if custom debug logs are written to file. */ + debug_to_file?: boolean; + /** @description Email addresses for fatal log messages with a maximum length of 1000 characters. */ + email_to?: string; + /** @description Indicates if custom error logs are written to file. */ + error_to_file?: boolean; + /** @description Indicates if custom fatal logs are written to file. */ + fatal_to_file?: boolean; + /** @description Indicates if custom info logs are written to file. */ + info_to_file?: boolean; + /** @description Defined custom log categories. */ + log_categories?: components['schemas']['log_category'][]; + /** @description Custom root category log level. */ + root_level?: string; + /** @description Indicates if custom warn logs are written to file. */ + warn_to_file?: boolean; + }; + /** @description

Document representing a custom object that contains all defined custom attributes for its object type.

*/ + custom_object: { + /** @description The name of the key property for the custom object. This is ignored in input documents. */ + key_property?: string; + /** + * Format: int32 + * @description The id of the custom object when the type of the key is Integer. This is ignored in input documents. + */ + key_value_integer?: number; + /** @description The id of the custom object when the type of the key is String. This is ignored in input documents. */ + key_value_string?: string; + /** @description The id of the object type. This is ignored in input documents. */ + object_type?: string; + }; + /** @description

Document representing a custom object search result.

*/ + custom_object_search_result: { + /** + * Format: int32 + * @description The number of returned documents + */ + count?: number; + data?: Record[]; + /** + * Format: int32 + * @description The zero-based index of the record that we want to start with, used to optimize special handling + */ + db_start_record_?: number; + /** @description List of expansions to be applied to each search results. Expands are optional */ + expand?: string[]; + /** @description The sorted array of search hits. May be empty. */ + hits?: components['schemas']['custom_object'][]; + next?: components['schemas']['result_page']; + previous?: components['schemas']['result_page']; + query?: components['schemas']['query']; + /** @description The field to be selected. */ + select?: string; + /** @description The list of sort clauses configured for the search request. Sort clauses are optional. */ + sorts?: components['schemas']['sort'][]; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The number of returned documents + */ + total?: number; + }; + /** @description

Document representing a customer.

*/ + customer: { + /** + * Format: date + * @description The customer's birthday. + */ + birthday?: string; + c_familyStatus?: string; + /** @description The customer's company name. */ + company_name?: string; + /** + * Format: date-time + * @description Returns the value of attribute 'creationDate'. + */ + readonly creation_date?: string; + credentials?: components['schemas']['credentials']; + /** + * @description The customer's id. Both registered and guest customers have a + * customer id. + */ + customer_id?: string; + /** @description The customer's number. */ + customer_no?: string; + /** + * Format: email + * @description The customer's email address. + */ + email?: string; + /** + * @description The fax number to use for the customer. + * The length is restricted to 32 characters. + */ + fax?: string; + /** @description The customer's first name. */ + first_name?: string; + /** + * Format: int32 + * @description The customer's gender. + * @enum {integer} + */ + gender?: 1 | 2; + /** @description The Global Party ID is set by Customer 360 and identifies a person across multiple systems. */ + global_party_id?: string; + /** @description The customer's job title. */ + job_title?: string; + /** + * Format: date-time + * @description The last login time of the customer. + */ + readonly last_login_time?: string; + /** + * Format: date-time + * @description Returns the value of attribute 'lastModified'. + */ + readonly last_modified?: string; + /** @description The customer's last name. */ + last_name?: string; + /** + * Format: date-time + * @description The last visit time of the customer. + */ + readonly last_visit_time?: string; + /** @description The customer's business phone number. */ + phone_business?: string; + /** @description The customer's home phone number. */ + phone_home?: string; + /** @description The customer's mobile phone number. */ + phone_mobile?: string; + /** + * @description The customer's preferred locale, formatted with a hyphen. (For example: en-US) + * If the request uses an underscore, as with the Java locale format, the stored value is converted to a hyphen. + * (For example: en_US is stored as en-US) + */ + readonly preferred_locale?: string; + /** + * Format: date-time + * @description The time when the customer logged in previously. + */ + previous_login_time?: string; + /** + * Format: date-time + * @description The time when the customer previously visited the store. + */ + previous_visit_time?: string; + primary_address?: components['schemas']['customer_address']; + /** @description The customer's salutation. */ + salutation?: string; + /** @description The customer's second name. */ + second_name?: string; + /** @description The customer's suffix (for example, "Jr." or "Sr."). */ + suffix?: string; + /** @description The customer's title (for example, "Mrs" or "Mr"). */ + title?: string; + }; + /** @description

Document representing a customer address.

*/ + customer_address: { + /** @description The customer's first address. */ + address1?: string; + /** @description The customer's second address value. */ + address2?: string; + /** @description The customer address id. */ + address_id: string; + /** @description The customer's city. */ + city?: string; + /** @description The customer's company name. */ + company_name?: string; + /** + * @description The customer's two-character country code per ISO 3166-1 alpha-2. + * @enum {string} + */ + country_code: 'CN' | 'FR' | 'GB' | 'IT' | 'JP' | 'US'; + /** + * Format: date-time + * @description Returns the value of attribute 'creationDate'. + */ + readonly creation_date?: string; + etag?: string; + /** @description The customer's first name. */ + first_name?: string; + /** @description The concatenation of the customer's first, middle, and last names and its suffix. */ + full_name?: string; + /** @description The customer's job title. */ + job_title?: string; + /** + * Format: date-time + * @description Returns the value of attribute 'lastModified'. + */ + readonly last_modified?: string; + /** @description The customer's last name. */ + last_name: string; + /** @description The customer's phone number. */ + phone?: string; + /** @description The customer's post box. */ + post_box?: string; + /** @description The customer's postal code. */ + postal_code?: string; + /** @description The customer's salutation. */ + salutation?: string; + /** @description The customer's second name. */ + second_name?: string; + /** @description The customer's state. */ + state_code?: string; + /** @description The customer's suffix. */ + suffix?: string; + /** @description The customer's suite. */ + suite?: string; + /** @description The customer's title. */ + title?: string; + }; + /** @description

Result document containing an array of customer addresses.

*/ + customer_address_result: { + /** + * Format: int32 + * @description The number of returned documents. + */ + count?: number; + /** @description The array of customer address documents. */ + data?: components['schemas']['customer_address'][]; + /** @description The URL of the next result page. */ + next?: string; + /** @description The URL of the previous result page. */ + previous?: string; + /** @description The fields that you want to select. */ + select?: string; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The total number of documents. + */ + total?: number; + }; + /** @description

Document representing a customer group

*/ + customer_group: { + /** + * Format: date-time + * @description Returns the value of attribute 'creationDate'. + */ + readonly creation_date?: string; + /** @description The description for the customer group. This property is read-only for system groups. */ + description?: string; + /** + * @description The user specific identifier for the customer group, which must be unique across the organization. Property + * is read-only. + */ + readonly id?: string; + /** @description The deletion status of this customer group. */ + in_deletion?: boolean; + /** + * Format: date-time + * @description Returns the value of attribute 'lastModified'. + */ + readonly last_modified?: string; + /** @description URL that is used to get this instance. This property is computed and cannot be modified. */ + link?: string; + /** + * Format: int32 + * @description The number of members in this customer group. + */ + member_count?: number; + rule?: components['schemas']['rule']; + /** + * @description The type of the customer group. This property is read-only. + * @enum {string} + */ + type?: 'system' | 'dynamic' | 'static'; + }; + /** @description

Document representing a customer group member

*/ + customer_group_member: { + /** @description A flag indicating whether the customer is enabled and can log in. */ + active?: boolean; + c_familyStatus?: string; + /** + * Format: date-time + * @description Returns the value of attribute 'creationDate'. + */ + readonly creation_date?: string; + /** @description The link to the customer resource. */ + customer_link?: string; + /** @description The customers number (id). */ + customer_no?: string; + /** + * Format: email + * @description The customer's email address. + */ + email?: string; + /** @description The customer's first name. */ + first_name?: string; + /** + * Format: date-time + * @description Returns the value of attribute 'lastModified'. + */ + readonly last_modified?: string; + /** @description The customer's last name. */ + last_name?: string; + /** @description The link to the customer group member resource. */ + link?: string; + /** @description The login of the customer. */ + login?: string; + }; + /** @description

Document representing a customer group member search result.

*/ + customer_group_member_search_result: { + /** + * Format: int32 + * @description The number of returned documents + */ + count?: number; + data?: Record[]; + /** + * Format: int32 + * @description The zero-based index of the record that we want to start with, used to optimize special handling + */ + db_start_record_?: number; + /** @description List of expansions to be applied to each search results. Expands are optional */ + expand?: string[]; + /** @description The sorted array of search hits. Can be empty. */ + hits?: components['schemas']['customer_group_member'][]; + next?: components['schemas']['result_page']; + previous?: components['schemas']['result_page']; + query?: components['schemas']['query']; + /** @description The field to be selected. */ + select?: string; + /** @description The list of sort clauses configured for the search request. Sort clauses are optional. */ + sorts?: components['schemas']['sort'][]; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The number of returned documents + */ + total?: number; + }; + /** @description

Document representing an unfiltered list of customer groups.

*/ + customer_group_members: { + /** + * Format: int32 + * @description The number of returned documents. + */ + count?: number; + data?: components['schemas']['customer_group_member'][]; + /** @description The list of expands set for the search request. Expands are optional. */ + expand?: string[]; + /** @description The URL of the next result page. */ + next?: string; + /** @description The URL of the previous result page. */ + previous?: string; + /** @description The fields that you want to select. */ + select?: string; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The total number of documents. + */ + total?: number; + }; + /** @description

Document representing a customer group search result.

*/ + customer_group_search_result: { + /** + * Format: int32 + * @description The number of returned documents + */ + count?: number; + data?: Record[]; + /** + * Format: int32 + * @description The zero-based index of the record that we want to start with, used to optimize special handling + */ + db_start_record_?: number; + /** @description List of expansions to be applied to each search results. Expands are optional */ + expand?: string[]; + /** @description The sorted array of search hits. Can be empty. */ + hits?: components['schemas']['customer_group'][]; + next?: components['schemas']['result_page']; + previous?: components['schemas']['result_page']; + query?: components['schemas']['query']; + /** @description The field to be selected. */ + select?: string; + /** @description The list of sort clauses configured for the search request. Sort clauses are optional. */ + sorts?: components['schemas']['sort'][]; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The number of returned documents + */ + total?: number; + }; + /** @description

Document representing an unfiltered list of customer groups.

*/ + customer_groups: { + /** + * Format: int32 + * @description The number of returned documents. + */ + count?: number; + data?: components['schemas']['customer_group'][]; + /** @description The list of expands set for the search request. Expands are optional. */ + expand?: string[]; + /** @description The URL of the next result page. */ + next?: string; + /** @description The URL of the previous result page. */ + previous?: string; + /** @description The fields that you want to select. */ + select?: string; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The total number of documents. + */ + total?: number; + }; + /** @description

Document representing a customer list.

*/ + customer_list: { + /** @description The id of the customer list. */ + id: string; + preferences?: components['schemas']['customer_list_preferences']; + }; + /** @description

Document representing a link to a customer list.

*/ + customer_list_link: { + /** @description The customerlist id. */ + customer_list_id?: string; + /** @description The target of the link. */ + link?: string; + /** + * Format: localized + * @description The link title. + */ + title?: { + [key: string]: string; + }; + }; + /** + * @description

Document representing customer list preferences: + *

    + *
  • data-retention-age
  • + *
  • customerno-sequence-enabled
  • + *
  • lockout-enabled
  • + *
  • max-failed-logins
  • + *
  • lockout-effective-period
  • + *
  • login-attempt-reset-time
  • + *
  • min-password-length
  • + *
  • min-password-special-chars
  • + *
  • force-password-contains-alpha
  • + *
  • force-password-contains-numeric
  • + *
  • force-password-mixed-case
  • + *
  • max-password-age
  • + *
  • max-password-reset-token-age
  • + *

+ */ + customer_list_preferences: { + /** @description Used to determine if the customer number sequence is separated by customer list. */ + customer_no_sequence_enabled: boolean; + /** + * Format: int32 + * @description The number days to retain customer data (null or 0 <= x <= 99999). + */ + data_retention_age: number; + /** @description Used to determine if the password must contain an alphabetic character. */ + force_password_contains_alpha: boolean; + /** @description Used to determine if the password must contain a numeric character. */ + force_password_contains_numeric: boolean; + /** @description Used to determine if the password must be mixed case. */ + force_password_mixed_case: boolean; + /** + * Format: int32 + * @description The customer lockout period in minutes (one of 1, 30, 60, 120, 1440, 14400). + */ + lockout_effective_period: number; + /** @description Used to determine if customers can be locked out. */ + lockout_enabled: boolean; + /** + * Format: int32 + * @description The period after which the customer login attempt count resets in minutes (one of 0, 5, 30, 60, 120, 1440). + * + * 1440) + */ + login_attempt_reset_time: number; + /** + * Format: int32 + * @description The maximum number of failed logins before a customer lockout can occur (1 <= x <= 200). + */ + max_failed_logins: number; + /** + * Format: int32 + * @description The maximum age of the customer password in days (one of 7, 10, 14, 30, 60, 90, 365000). + */ + max_password_age: number; + /** + * Format: int32 + * @description The maximum age of the customer password reset token in minutes (one of 30, 60, 120, 360, 720, 1440). + */ + max_password_reset_token_age: number; + /** + * Format: int32 + * @description The minimum number of characters required for a customer password (one of 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, + * 13, 14, 15, 20). + * + * 12, 13, 14, 15, 20) + */ + min_password_length: number; + /** + * Format: int32 + * @description The minimum number of special characters required within a customer password (one of 0, 1, 2, 3, 4, 5). + */ + min_password_special_chars: number; + }; + /** @description

Document representing a customer search hit.

*/ + customer_search_hit: { + data?: components['schemas']['customer']; + /** + * Format: double + * @description The hit's relevance score. + */ + relevance?: number; + }; + /** @description

Document representing a customer search result.

*/ + customer_search_result: { + /** + * Format: int32 + * @description The number of returned documents. + */ + count?: number; + data?: Record[]; + /** Format: int32 */ + db_start_record_?: number; + /** @description The list of expands set. Can be empty. */ + expand?: string[]; + /** @description The sorted array of search hits. Can be empty. */ + hits?: components['schemas']['customer_search_hit'][]; + next?: components['schemas']['result_page']; + previous?: components['schemas']['result_page']; + query?: components['schemas']['query']; + /** @description The fields that you want to select. */ + select?: string; + sorts?: components['schemas']['sort'][]; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The total number of documents. + */ + total?: number; + }; + /** @description

Input-Document for requesting a Log-Fetch process.

*/ + ecdn_log_fetch_request: { + /** + * Format: date-time + * @description Optional end time for log file entries, in Unix time stamp format. Must not be more than 1 hour after the start time. If not passed, a one hour time frame is assumed for the log file. + */ + end_time?: string; + /** + * Format: date-time + * @description Start time for log file entries, in Unix time stamp format. Must not be more than 7 days in the past + */ + start_time: string; + /** @description zone id is optional but if it is provided then zone_name is not considered */ + zone_id?: string; + /** @description The internationalized domain name representation (from RFC 3490) of the zone name */ + zone_name: string; + }; + /** @description

Response object, providing the status of the current log fetch request.

*/ + ecdn_log_fetch_response: { + /** @description ID of the log fetch request */ + id?: string; + /** @description HTTPS Download link to the fetched log file, which has a lifetime of 30 minutes. This link will only appear, if the current status of the log fetching is 'finished'. */ + link?: string; + /** @description message for the log fetch request */ + message?: string; + /** + * @description Current status of the log fetch request + * @enum {string} + */ + status?: 'pending' | 'running' | 'finished'; + }; + empty_body: unknown; + /** + * @description

Document representing a filter. + * + * A filter contains a set of objects that define criteria used to select records. A filter + * can contain one of the following: + *

    + *
  • term_filter - matches records where a field (or fields) exactly match some simple value (including null).
  • + *
  • range_filter - matches records where a field value lies in a specified range.
  • + *
  • query_filter - provides filtering based on a query.
  • + *
  • bool_filter - provides filtering of records using a set of filters combined with a specified operator.
  • + *

+ */ + filter: unknown; + /** + * @description

A filtered query allows to filter the result of a (possibly complex) query using a (possibly complex) filter. + * + * Example: + *

+     *         query : {
+     *             filtered_query: {
+     *                 query: {
+     *                     text_query: { fields: ["coupon_id"], search_phrase: "disabled" }
+     *                 },
+     *                 filter: {
+     *                     term_filter: {
+     *                         field: "enabled", operator: "is", values: [ false ]
+     *                     }
+     *                 }
+     *             }
+     *         }
+     *       

+ */ + filtered_query: { + filter: components['schemas']['filter']; + query: components['schemas']['query']; + }; + /** @description

Document representing a functional permission.

*/ + functional_permission: { + /** + * Format: localized + * @description The description of the functional permission. + */ + description?: { + [key: string]: string; + }; + /** + * Format: localized + * @description The display name of the functional permission. + */ + display_name?: { + [key: string]: string; + }; + /** @description The name of the functional permission. */ + name?: string; + /** @description The permission type. */ + type?: string; + /** @description The list of possible values for the functional permission, e.g. ACCESS or READONLY. */ + values?: string[]; + }; + /** @description

Document representing the available functional permissions.

*/ + functional_permissions: { + /** @description The collection of available organization functional permissions. */ + organization?: components['schemas']['functional_permission'][]; + /** @description The available functional permission scopes (e.g. organization, site). */ + scopes?: string[]; + /** @description The list of available site functional permissions. */ + site?: components['schemas']['functional_permission'][]; + }; + /** @description

Document representing a gift certificate

*/ + gift_certificate: { + amount?: components['schemas']['money']; + balance?: components['schemas']['money']; + /** + * Format: date-time + * @description Returns the value of attribute 'creationDate'. + */ + readonly creation_date?: string; + /** @description The description of the gift certificate. */ + description?: string; + /** @description The enabled flag of the gift certificate. */ + enabled?: boolean; + /** + * Format: date-time + * @description Returns the value of attribute 'lastModified'. + */ + readonly last_modified?: string; + /** + * @description The URL to get the gift certificate. + * This is a computed attribute and cannot be modified. + */ + link?: string; + /** + * @description The masked gift certificate code with all but the + * last 4 characters replaced with a '*' character. + * This is a computed attribute and cannot be modified. + */ + masked_gift_certificate_code?: string; + /** + * @description The merchant ID of the gift certificate. + * This is a unique attribute. + * This is a computed attribute and cannot be modified. + * This is used to get, update and the delete gift certificates. + */ + merchant_id?: string; + /** @description The message to the recipient of the gift certificate. */ + message?: string; + /** @description The order number of the gift certificate. */ + order_no?: string; + /** @description The email address of the recipient of the gift certificate. */ + recipient_email?: string; + /** @description The recipient of the gift certificate. */ + recipient_name?: string; + /** @description The sender of the gift certificate. */ + sender_name?: string; + /** + * @description The status of the gift certificate. + * While creating a gift certificate, user can set the status + * to either "pending" or "issued" only. + * @enum {string} + */ + status?: 'issued' | 'partially_redeemed' | 'pending' | 'redeemed'; + /** @description The transactions of the gift certificate. This attribute is only available as part of the response. */ + transactions?: components['schemas']['account_transaction'][]; + }; + /** @description

Document representing a gift certificate search result.

*/ + gift_certificate_search_result: { + /** + * Format: int32 + * @description The number of returned documents + */ + count?: number; + data?: Record[]; + /** + * Format: int32 + * @description The zero-based index of the record that we want to start with, used to optimize special handling + */ + db_start_record_?: number; + /** @description List of expansions to be applied to each search results. Expands are optional */ + expand?: string[]; + /** @description The sorted array of search hits. Can be empty. */ + hits?: components['schemas']['gift_certificate'][]; + next?: components['schemas']['result_page']; + previous?: components['schemas']['result_page']; + query?: components['schemas']['query']; + /** @description The field to be selected. */ + select?: string; + /** @description The list of sort clauses configured for the search request. Sort clauses are optional. */ + sorts?: components['schemas']['sort'][]; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The number of returned documents + */ + total?: number; + }; + /** @description

Document representing an unfiltered list of gift certificates.

*/ + gift_certificates: { + /** + * Format: int32 + * @description The number of returned documents. + */ + count?: number; + data?: components['schemas']['gift_certificate'][]; + /** @description The list of expands set for the search request. Expands are optional. */ + expand?: string[]; + /** @description The URL of the next result page. */ + next?: string; + /** @description The URL of the previous result page. */ + previous?: string; + /** @description The fields that you want to select. */ + select?: string; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The total number of documents. + */ + total?: number; + }; + /** @description

Document representing an image group containing a list of images for a particular view type and an optional variation value.

*/ + image_group: { + /** @description The images of the image group. */ + images?: components['schemas']['media_file'][]; + /** @description Returns a list of variation attributes applying to this image group. */ + variation_attributes?: components['schemas']['variation_attribute'][]; + /** @description The image view type. */ + view_type?: string; + }; + /** @description

Document representing a inventorylist

*/ + inventory_list: { + /** + * @description The list of sites this inventory list is assigned to. The assigned sites is a computed attribute, and cannot be + * directly modified. + */ + assigned_sites?: string[]; + /** + * Format: date-time + * @description Returns the value of attribute 'creationDate'. + */ + readonly creation_date?: string; + /** @description True if the default for the inventory list is to be in stock. THe default value is false if not specified. */ + default_in_stock?: boolean; + /** @description The user supplied description of this instance. */ + description?: string; + /** @description The id for the inventory list, which is required and must be unique. */ + id?: string; + /** + * Format: date-time + * @description Returns the value of attribute 'lastModified'. + */ + readonly last_modified?: string; + /** @description URL that is used to get this instance. The URL is a computed attribute, and cannot be modified. */ + link?: string; + /** @description True if the on order flag is enabled. The default value is false if not specified. */ + on_order_inventory_enabled?: boolean; + /** @description True if the inventory list is used in bundle inventory only. The default value is false if not specified. */ + use_bundle_inventory_only?: boolean; + }; + /** @description

Document representing a inventorylist search result.

*/ + inventory_list_search_result: { + /** + * Format: int32 + * @description The number of returned documents + */ + count?: number; + data?: Record[]; + /** + * Format: int32 + * @description The zero-based index of the record that we want to start with, used to optimize special handling + */ + db_start_record_?: number; + /** @description List of expansions to be applied to each search results. Expands are optional */ + expand?: string[]; + /** @description The sorted array of search hits. Can be empty. */ + hits?: components['schemas']['inventory_list'][]; + next?: components['schemas']['result_page']; + previous?: components['schemas']['result_page']; + query?: components['schemas']['query']; + /** @description The field to be selected. */ + select?: string; + /** @description The list of sort clauses configured for the search request. Sort clauses are optional. */ + sorts?: components['schemas']['sort'][]; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The number of returned documents + */ + total?: number; + }; + /** @description

Document representing an unfiltered list of inventory lists.

*/ + inventory_lists: { + /** + * Format: int32 + * @description The number of returned documents. + */ + count?: number; + data?: components['schemas']['inventory_list'][]; + /** @description The list of expands set for the search request. Expands are optional. */ + expand?: string[]; + /** @description The URL of the next result page. */ + next?: string; + /** @description The URL of the previous result page. */ + previous?: string; + /** @description The fields that you want to select. */ + select?: string; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The total number of documents. + */ + total?: number; + }; + job_execution: { + /** @description When the execution was started by a client, this represents the client's id. */ + client_id?: string; + continue_information?: components['schemas']['job_execution_continue_information']; + /** Format: date-time */ + creation_date?: string; + /** + * Format: int64 + * @description Time in milliseconds, the execution was or is running. + */ + duration?: number; + /** + * Format: int64 + * @description Time in milliseconds, the job has done work. Paused times are evicted. + */ + effective_duration?: number; + /** + * Format: date-time + * @description Timestamp, when execution was finished. + */ + end_time?: string; + /** @description The ID of the server that executed the job. */ + executed_server_id?: string; + /** @description Sorted set of all execution scopes, used by individual steps. */ + execution_scopes?: string[]; + /** + * @description The current execution status. + * @enum {string} + */ + execution_status?: + | 'pending' + | 'running' + | 'pausing' + | 'paused' + | 'resuming' + | 'resumed' + | 'restarting' + | 'restarted' + | 'retrying' + | 'retried' + | 'aborting' + | 'aborted' + | 'finished' + | 'unknown'; + exit_status?: components['schemas']['status']; + /** @description ID of the execution object. */ + id?: string; + /** @description True if the log file exists, otherwise false. */ + is_log_file_existing?: boolean; + /** @description True if this execution represents a job restart. */ + is_restart?: boolean; + /** @description Description of the job, this execution belongs to. */ + job_description?: string; + /** @description ID of the job, this execution belongs to. */ + job_id?: string; + /** Format: date-time */ + last_modified?: string; + /** @description Full WebDAV path of the log file, containing execution log. */ + log_file_path?: string; + /** + * Format: date-time + * @description Timestamp of the last modification time for the execution. + */ + modification_time?: string; + /** @description List of all job execution parameters. */ + parameters?: components['schemas']['job_execution_parameter'][]; + retry_information?: components['schemas']['job_execution_retry_information']; + /** + * Format: date-time + * @description Timestamp, when execution was started. + */ + start_time?: string; + /** + * @description The current status. If the execution is currently executed the execution status is returned. If the execution is + * not executed currently anymore the exit status code of the execution. + */ + status?: string; + status_metadata?: components['schemas']['status_metadata']; + /** @description List of all steps, called for job execution. */ + step_executions?: components['schemas']['job_step_execution'][]; + /** @description When the execution was started by a registered user, this represents the user's login. */ + user_login?: string; + }; + /** @description

Information for a job execution continuation.

*/ + job_execution_continue_information: { + /** + * @description Returns the status, this job execution will get on continuation if continuation is pending. + * @enum {string} + */ + continue_status?: + | 'pending' + | 'running' + | 'pausing' + | 'paused' + | 'resuming' + | 'resumed' + | 'restarting' + | 'restarted' + | 'retrying' + | 'retried' + | 'aborting' + | 'aborted' + | 'aborting_for_restart' + | 'aborted_for_restart' + | 'finished' + | 'unknown'; + /** + * @description Returns true if the continuation of this job execution is pending and will be started soon, + * false otherwise. + */ + is_pending?: boolean; + }; + /** + * @description

Specification of a parameter for a job execution.
+ *
+ * Request example to execute the job in all storefront sites: + *

+     *      POST /dw/data/v19_10/jobs/CustomerImportJob/executions
+     *      Host: example.com
+     *      Authorization: Bearer af7f5c90-ffc1-4ea4-9613-f5b375b7dc19
+     *      Content-Type: application/json; charset=UTF-8
+     *      {
+     *         "parameters": [
+     *            {
+     *                "name": "SiteScope",
+     *                "value": "{\"all_storefront_sites\":true}"
+     *            }
+     *         ]
+     *      }
+     *       

+ * Request example to execute the job in specified sites only: + *
+     *      POST /dw/data/v19_10/jobs/CustomerImportJob/executions
+     *      Host: example.com
+     *      Authorization: Bearer af7f5c90-ffc1-4ea4-9613-f5b375b7dc19
+     *      Content-Type: application/json; charset=UTF-8
+     *      {
+     *         "parameters": [
+     *            {
+     *                "name": "SiteScope",
+     *                "value": "{\"named_sites\":[\"SiteGenesis\", \"SiteGenesisGlobal\"]}"
+     *            }
+     *         ]
+     *      }
+     *       

+ */ + job_execution_parameter: { + /** @description The name of the parameter. */ + name: string; + /** @description The value of the parameter. */ + value: string; + }; + /** @description

Retry information for a previous failed job execution.

*/ + job_execution_retry_information: { + /** + * Format: int32 + * @description The current attempt to retry the previous failed job execution. + */ + current_retry_attempt?: number; + /** + * Format: int32 + * @description The maximum number of retries. + */ + max_retries?: number; + }; + /** @description

Document representing a job execution search result.

*/ + job_execution_search_result: { + /** + * Format: int32 + * @description The number of returned documents + */ + count?: number; + data?: Record[]; + /** + * Format: int32 + * @description The zero-based index of the record that we want to start with, used to optimize special handling + */ + db_start_record_?: number; + /** @description List of expansions to be applied to each search results. Expands are optional */ + expand?: string[]; + /** @description The sorted array of search hits. May be empty. */ + hits?: components['schemas']['job_execution'][]; + next?: components['schemas']['result_page']; + previous?: components['schemas']['result_page']; + query?: components['schemas']['query']; + /** @description The field to be selected. */ + select?: string; + /** @description The list of sort clauses configured for the search request. Sort clauses are optional. */ + sorts?: components['schemas']['sort'][]; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The number of returned documents + */ + total?: number; + }; + job_step_execution: { + /** + * Format: int32 + * @description The chunk size for a chunk oriented step execution, otherwise null. + */ + chunk_size?: number; + /** + * Format: int64 + * @description Time in milliseconds, the execution was or is running. + */ + duration?: number; + /** + * Format: date-time + * @description Timestamp, when execution was finished. + */ + end_time?: string; + /** @description The ID of the scope this step is or was executed for. */ + execution_scope?: string; + /** + * @description Current execution status of the step. + *
    + *
  • 'pending': Execution of the step been initiated but the step is not executing yet. Possible next status: + * 'running'.
  • + *
  • 'running': The step is currently actively executed. Possible next status: 'finished', 'pausing' or + * 'aborted'.
  • + *
  • 'finished': The step execution is finished and is not actively executed currently. Possible next status: + * none.
  • + *
  • 'pausing': Pausing of a running step execution has been initiated but the step is not paused yet. Possible + * next status: 'paused' or 'aborted'.
  • + *
  • 'paused': The step execution is paused and is not actively executed currently. Possible next status: + * 'pending'.
  • + *
  • 'aborted': A running step execution has been aborted and is not actively executed currently. Possible next + * status: none.
  • + *
+ * @enum {string} + */ + execution_status?: + | 'pending' + | 'running' + | 'pausing' + | 'paused' + | 'resuming' + | 'resumed' + | 'restarting' + | 'restarted' + | 'retrying' + | 'retried' + | 'aborting' + | 'aborted' + | 'finished' + | 'unknown'; + exit_status?: components['schemas']['status']; + /** @description ID of the execution object. */ + id?: string; + /** @description ID of the job the step of this step execution was included from, if the step was included from another job. */ + include_steps_from_job_id?: string; + /** @description True if this execution represents a chunk oriented step execution. */ + is_chunk_oriented?: boolean; + /** + * Format: int32 + * @description The current number of items that have been filtered for a chunk oriented step execution, otherwise null. + */ + item_filter_count?: number; + /** + * Format: int32 + * @description The current number of items that have been written for a chunk oriented step execution, otherwise null. + */ + item_write_count?: number; + /** + * Format: date-time + * @description Timestamp of the last modification time for the execution. + */ + modification_time?: string; + /** + * Format: date-time + * @description Timestamp, when execution was started. + */ + start_time?: string; + /** + * @description The current status. If the step execution is currently executed (execution status is one of 'pending', 'running', + * 'pausing') the execution status is returned. If the step execution is not executed currently anymore (execution + * status is one one 'finished', 'paused' or 'aborted') the exit status code of the step execution is returned. + */ + status?: string; + status_metadata?: components['schemas']['status_metadata']; + /** @description Description of the step, this execution belongs to.ID of the step */ + step_description?: string; + /** @description ID of the step, this execution belongs to.ID of the step */ + step_id?: string; + /** @description ID of the step's type at the time it is or was executed. */ + step_type_id?: string; + /** + * @description Additional information regarding the step's type at the time it is or was executed (e.g. name of a script module + * and function). + */ + step_type_info?: string; + /** + * Format: int64 + * @description The total number of items that will be processed for a chunk oriented step execution (null if unknown), otherwise + * null. + */ + total_item_count?: number; + }; + /** @description

Document that describes a single locale.

*/ + locale: { + /** @description Flag that is true if the locale is currently active in the system. */ + active?: boolean; + /** + * @description The uppercase ISO 3166 2-letter country/region code for this Locale. + * If no country has been specified for this Locale, this value is an empty string. + */ + country?: string; + /** @description Flag that is true if the locale is the default one to use if an explicit locale is not specified. */ + default?: boolean; + /** + * @description The display name of this Locale's country, in this Locale's language, + * not in the session locale's language. + * If no country has been specified for this Locale, this value is an empty string. + */ + display_country?: string; + /** + * @description The display name of this Locale's language, in this Locale's language, + * not in the session locale's language. + * If no country has been specified for this Locale, this value is an empty string. + */ + display_language?: string; + /** + * @description The display name of this Locale, in this Locale's language, + * not in the session locale's language. + * If no display name has been specified for this Locale, this value is an empty string. + */ + display_name?: string; + /** + * @description Returns the String representation of the localeID. + * + *

Combines the language and the country key, concatenated with "-". + * For example: "en-US". This attribute is the primary key of the class.

+ */ + id?: string; + /** + * @description The uppercase ISO 3166 3-letter country/region code for this Locale. + * If no country has been specified for this Locale, this value is an empty string. + */ + iso3_country?: string; + /** + * @description The 3-letter ISO 639 language code for this Locale. + * If no language has been specified for this Locale, this value is an empty string. + */ + iso3_language?: string; + /** + * @description The lowercase ISO 639 language code for this Locale. + * If no language has been specified for this Locale, this value is an empty string. + */ + language?: string; + /** + * @description The display name of the Locale. Uses the current + * request locale to localize the value. + */ + name?: string; + }; + /** @description

Document representing a locale permission.

*/ + locale_permission: { + /** + * Format: localized + * @description The display name of the locale. + */ + display_name?: { + [key: string]: string; + }; + /** @description The id of the locale. */ + locale_id?: string; + /** @description The permission type. */ + type?: string; + /** @description The list of possible values for the locale permission, e.g. ACCESS or READONLY. */ + values?: string[]; + }; + /** @description

Document representing the available locale permissions.

*/ + locale_permissions: { + /** @description The available Locale permission scopes (e.g. unscoped). */ + scopes?: string[]; + /** @description The collection of available unscoped Locale permissions. */ + unscoped?: components['schemas']['locale_permission'][]; + }; + /** @description

Contains the result of getting the system locales.

*/ + locale_result: { + /** + * Format: int32 + * @description The number of returned documents. + */ + count?: number; + data?: Record[]; + /** @description The locales found by the request */ + hits?: components['schemas']['locale'][]; + /** @description The input locale (none specifies get all locales) */ + id?: string; + /** @description True to get the all the hits for all the locales, not just the active allowed ones */ + include_all?: boolean; + /** @description The URL of the next result page. */ + next?: string; + /** @description The URL of the previous result page. */ + previous?: string; + /** @description The string describing the set of fields to return in the result. */ + select?: string; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The total number of documents. + */ + total?: number; + }; + /** @description

Document representing log category settings.

*/ + log_category: { + /** @description Returns true if the log category is enabled. */ + enabled?: boolean; + /** @description Level of the log category. */ + level?: string; + /** @description Log category name. */ + name?: string; + }; + markup_text: { + /** @description The rendered HTML (read only) */ + markup?: string; + /** + * @description The raw markup text + * (only this needs to be provided in update request) + */ + source?: string; + }; + /** @description

Document representing a variation master.

*/ + master: { + /** @description The URL addressing the master product. */ + link?: string; + /** @description The id (SKU) of the master product. */ + master_id: string; + /** @description A flag indicating whether at least one of the variants is orderable. */ + orderable?: boolean; + /** + * Format: double + * @description The minimum sales price of the related variants. + */ + price?: number; + /** + * Format: double + * @description The maximum sales of related variants. + */ + price_max?: number; + /** + * Format: double + * @description The minimum sales price per unit of the related variants. + */ + price_per_unit?: number; + /** + * Format: double + * @description The maximum sales price per unit of the related variants. + */ + price_per_unit_max?: number; + prices?: { + [key: string]: number; + }; + }; + /** + * @description

A match all query simply matches all documents (namespace and document type). This query comes in + * handy if you just want to filter a search result or really do not have any constraints. + * + * Example: + *

+     *         query: {
+     *             match_all_query: {}
+     *         }
+     *       

+ */ + match_all_query: unknown; + media_file: { + /** @description The absolute URL with request protocol (read only) */ + abs_url?: string; + /** + * Format: localized + * @description The alternative image text + */ + alt?: { + [key: string]: string; + }; + /** @description The DIS base URL only for product images */ + dis_base_url?: string; + /** + * @description The raw media file path + * (only this needs to be provided in update request) + */ + path?: string; + /** + * Format: localized + * @description The image title + */ + title?: { + [key: string]: string; + }; + }; + /** @description

Document representing a menu action.

*/ + menu_action: { + /** + * Format: localized + * @description The description of the menu action. + */ + description?: { + [key: string]: string; + }; + /** + * Format: localized + * @description The display name of the menu action. + */ + display_name?: { + [key: string]: string; + }; + /** @description The module type of the menu action (BM or CC). */ + module_type?: string; + /** @description The name of the menu action. */ + name?: string; + /** + * @description { + * action. + */ + system?: boolean; + /** @description The permission type. */ + type?: string; + /** @description The list of possible values for the menu action, e.g. ACCESS or READONLY. */ + values?: string[]; + }; + /** @description

Document representing a menu item.

*/ + menu_item: { + /** + * Format: localized + * @description The display name of the menu item. + */ + display_name?: { + [key: string]: string; + }; + /** @description The collection of available menu actions. */ + menu_actions?: components['schemas']['menu_action'][]; + /** @description The module type of the menu item (BM or CC). */ + module_type?: string; + /** @description The name of the menu item. */ + name?: string; + /** @description The permission type. */ + type?: string; + }; + /** @description

Metrics in Prometheus Exposition Format wrapped as Json array of strings.

*/ + metric_response: { + /** + * Format: int32 + * @description Page size of result page + */ + limit?: number; + /** @description Metrics in Prometheus Exposition Format.

A single metric is represented by a single line. They have a name, labels (dimensions), a value and a time-stamp.

Example:

OCAPI request: GET /v21.10/products/{Id}/prices

total time metric: products_Id_prices{method=\"GET\",version=\"v21.10\",path1=\"products\",path2=\"prices\",status=\"2xx\"} 112.718755 1620735785000

The individual elements of a metric line are the metric name, metric dimensions (denoted by label / value pairs in curly braces), the actual metric value (in milliseconds or in operations / second for metrics ending in _m1rate) and a time-stamp in milliseconds since 01/01/1970 UTC.

name

The metric name will have both path segments and parameters separated by '`_`'. Path segments in the metric name are in lower-case whereas path parameters are formatted in camel-case.

method

the HTTP method of the OCAPI request, one of GET, PUT, POST, DELETE

version

the version of the OCAPI request, e.g. v20.8

path1 .. pathN

The path segments (not including the path-parameters) of the OCAPI request, from the example above, the path segments will be mapped to labels as: path1=\"products\", path2=\"prices\"

breakdown

Sub-timings of the request, in particular:

  • total (implicit): total timings of the request (sum of the three breakdowns below). This dimension is denoted with no label.
  • platform: amount of time spent in platform code (including database-tier)
  • custom: amount of time spent in custom code (including database-tier)
  • thirdParty: amount of time spent invoking third party services through the service framework

status

  • 2xx: metrics for all requests with a status code between 200 and 299
  • 3xx: metrics for all requests with a status code between 300 and 399
  • 4xx: metrics for all requests with a status code between 400 and 499
  • 5xx: metrics for all requests with a status code between 500 and 599

quantile

  • p50: median timings
  • p95: timings for the 95th percentile of all requests

serviceId (only for metrics where breakdown = thirdParty)

the id of the third party service that was invoked during the request. If multiple services were invoked, timings for each individual service are available

*/ + metrics?: string[]; + /** + * Format: int32 + * @description Offset of result page + */ + offset?: number; + /** + * Format: int32 + * @description Total number of metrics + */ + total?: number; + }; + /** @description

Document representing the available module permissions in shape of menu items and menu actions.

*/ + module_permissions: { + /** @description The collection of available organization menu items. */ + organization?: components['schemas']['menu_item'][]; + /** @description The available menu item scopes (e.g. organization, site). */ + scopes?: string[]; + /** @description The list of available site menu items. */ + site?: components['schemas']['menu_item'][]; + }; + money: { + /** @description The mnemonic for the money. */ + currency_mnemonic?: string; + /** + * Format: double + * @description The value for the money. + */ + value?: number; + }; + /** + * @description

A nested query queries nested documents that are part of a larger document. The classical example is a + * product master with variants (in one big document) where you want to constrain a search to masters that have + * variants that match multiple constraints (like color = blue AND size = M). + * This query is not compatible with some search types. + * Example: finds all the documents that has firstname = "John" and lastname = "Doe" + *

+     *       {
+     *        "query": {
+     *          "bool_query": {
+     *            "must": [
+     *              {
+     *                "nested_query": {
+     *                  "path": "order.shipping_addresses",
+     *                  "query": {
+     *                    "bool_query": {
+     *                      "must": [
+     *                        {
+     *                          "bool_query": {
+     *                            "must": [
+     *                              {
+     *                                "term_query": {
+     *                                  "fields": [ "order.shipping_addresses.first_name" ],
+     *                                  "operator": "is",
+     *                                  "values": [ "John" ]
+     *                                }
+     *                              }
+     *                            ]
+     *                          }
+     *                        },
+     *                        {
+     *                          "bool_query": {
+     *                            "must": [
+     *                              {
+     *                                "term_query": {
+     *                                  "fields": [ "order.shipping_addresses.last_name" ],
+     *                                  "operator": "is",
+     *                                  "values": [ "Doe" ]
+     *                                }
+     *                              }
+     *                            ]
+     *                          }
+     *                        }
+     *                      ]
+     *                    }
+     *                  },
+     *                  "score_mode": "avg"
+     *                }
+     *              }
+     *            ]
+     *          }
+     *        }
+     *      }
+     *       

+ */ + nested_query: { + path: string; + query: components['schemas']['query']; + /** @enum {string} */ + score_mode?: 'avg' | 'total' | 'max' | 'none'; + }; + /** @description

Document representing a attribute definition

*/ + object_attribute_definition: { + /** Format: date-time */ + creation_date?: string; + default_value?: components['schemas']['object_attribute_value_definition']; + /** + * Format: localized + * @description The localized description of the attribute. + */ + description?: { + [key: string]: string; + }; + /** + * Format: localized + * @description The localized name presented to the user in forms. + */ + display_name?: { + [key: string]: string; + }; + /** @description The effective ID, which is c_id if the attribute is custom, and just the id otherwise. It is read only. */ + effective_id?: string; + /** @description Flag indicating if this attribute is externally defined. */ + externally_defined?: boolean; + /** @description Flag indicating if this attribute is externally managed. */ + externally_managed?: boolean; + /** + * Format: int32 + * @description The height of the field for this attribute in the editor. + */ + field_height?: number; + /** + * Format: int32 + * @description The length of the field for this attribute in the editor. + */ + field_length?: number; + /** @description The user supplied ID of the attribute. */ + id?: string; + /** @description Flag indicating if this is a key attribute. */ + key?: boolean; + /** Format: date-time */ + last_modified?: string; + /** @description The URL that is used to get this instance. Value is computed and read-only. */ + link?: string; + /** @description Flag indicating if this attribute can be localized. */ + localizable?: boolean; + /** @description Flag indicating if a value is mandatory for the attribute. */ + mandatory?: boolean; + /** + * Format: double + * @description The maximum possible value for this attribute. + */ + max_value?: number; + /** + * Format: int32 + * @description The minimum length of the field for this attribute. + */ + min_length?: number; + /** + * Format: double + * @description The minimum possible value for this attribute. + */ + min_value?: number; + /** + * @description

True if the attribute can have multiple values.

+ *

Attributes of the following types are multi-value capable:

+ *
    + *
  • set_of_int
  • + *
  • set_of_number
  • + *
  • set_of_string
  • + *
+ *

Additionally, attributes of the following types can be multi-value + * enabled:

+ *
    + *
  • enum_of_int
  • + *
  • enum_of_string
  • + *
+ */ + multi_value_type?: boolean; + /** + * @description Flag indicating if this attribute is required for order of the attribute model's product. The set of these can be used + * in order line items. + */ + order_required?: boolean; + /** + * @description Returns true if the attribute definition is explicitly marked queryable. If no explicit queryable is found + * and the attribute value type belongs to a queryable type, true is returned too. In all other cases false is returned. + * Value is computed and read-only. + */ + queryable?: boolean; + /** @description Flag indicating if this attribute is read-only. It is read only. */ + read_only?: boolean; + /** @description A regular expression that defines the legal values for this attribute. */ + regular_expression?: string; + /** @description Flag indicating if this attribute can be encoded using the encoding="off" flag in ISML templates. It is read only. */ + requires_encoding?: boolean; + /** + * Format: int32 + * @description The minimum number of fraction digits for a value of this attribute. + */ + scale?: number; + /** @description Flag indicating if this attribute is searchable. */ + searchable?: boolean; + /** @description Flag indicating if this attribute is of type 'Set of'. It is read only. */ + set_value_type?: boolean; + /** @description Flag indicating if this attribute is site-specific. */ + site_specific?: boolean; + /** @description Flag indicating if this attribute is a system attribute. */ + system?: boolean; + /** + * Format: localized + * @description The unit of measure for this attribute. + */ + unit?: { + [key: string]: string; + }; + /** @description A set of values that are possible for this attribute. It is read only. */ + value_definitions?: components['schemas']['object_attribute_value_definition'][]; + /** + * @description The type of this attribute. + * @enum {string} + */ + value_type?: + | 'string' + | 'int' + | 'double' + | 'text' + | 'html' + | 'date' + | 'image' + | 'boolean' + | 'money' + | 'quantity' + | 'datetime' + | 'email' + | 'password' + | 'set_of_string' + | 'set_of_int' + | 'set_of_double' + | 'enum_of_string' + | 'enum_of_int' + | 'unknown'; + /** @description Flag indicating if this attribute is visible. */ + visible?: boolean; + }; + /** @description

Document representing an attributedefinition search result.

*/ + object_attribute_definition_search_result: { + /** + * Format: int32 + * @description The number of returned documents + */ + count?: number; + data?: Record[]; + /** + * Format: int32 + * @description The zero-based index of the record that we want to start with, used to optimize special handling + */ + db_start_record_?: number; + /** @description List of expansions to be applied to each search results. Expands are optional */ + expand?: string[]; + /** @description The sorted array of search hits. Can be empty. */ + hits?: components['schemas']['object_attribute_definition'][]; + next?: components['schemas']['result_page']; + previous?: components['schemas']['result_page']; + query?: components['schemas']['query']; + /** @description The field to be selected. */ + select?: string; + /** @description The list of sort clauses configured for the search request. Sort clauses are optional. */ + sorts?: components['schemas']['sort'][]; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The number of returned documents + */ + total?: number; + }; + /** @description

Document representing an unfiltered list of object attribute definitions.

*/ + object_attribute_definitions: { + /** + * Format: int32 + * @description The number of returned documents. + */ + count?: number; + data?: components['schemas']['object_attribute_definition'][]; + /** @description The list of expands set for the search request. Expands are optional. */ + expand?: string[]; + /** @description The URL of the next result page. */ + next?: string; + /** @description The URL of the previous result page. */ + previous?: string; + /** @description The fields that you want to select. */ + select?: string; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The total number of documents. + */ + total?: number; + }; + /** @description

Document representing a attribute group

*/ + object_attribute_group: { + /** @description Attributes with the group displayed when expand=definition */ + attribute_definitions?: components['schemas']['object_attribute_definition'][]; + /** + * Format: int32 + * @description The count of the attributes within the group. This is a computed attribute and is read-only + */ + attribute_definitions_count?: number; + /** Format: date-time */ + creation_date?: string; + /** + * Format: localized + * @description The free-form text description of the group by locale + */ + description?: { + [key: string]: string; + }; + /** + * Format: localized + * @description The name used to display the group by locale. + */ + display_name?: { + [key: string]: string; + }; + /** @description The group's user specified identifier, used to retrieve the group */ + id?: string; + /** @description True if the group is meant only for internal use, false otherwise. This property is read-only. */ + internal?: boolean; + /** Format: date-time */ + last_modified?: string; + /** @description URL that is used to get this instance. This is a computed attribute and is read-only */ + link?: string; + /** + * Format: double + * @description The position of the group relative to other groups. + */ + position?: number; + }; + /** @description

Document representing a attributegroup search result.

*/ + object_attribute_group_search_result: { + /** + * Format: int32 + * @description The number of returned documents + */ + count?: number; + data?: Record[]; + /** + * Format: int32 + * @description The zero-based index of the record that we want to start with, used to optimize special handling + */ + db_start_record_?: number; + /** @description List of expansions to be applied to each search results. Expands are optional */ + expand?: string[]; + /** @description The sorted array of search hits. Can be empty. */ + hits?: components['schemas']['object_attribute_group'][]; + next?: components['schemas']['result_page']; + previous?: components['schemas']['result_page']; + query?: components['schemas']['query']; + /** @description The field to be selected. */ + select?: string; + /** @description The list of sort clauses configured for the search request. Sort clauses are optional. */ + sorts?: components['schemas']['sort'][]; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The number of returned documents + */ + total?: number; + }; + /** @description

Document representing an unfiltered list of object group definitions.

*/ + object_attribute_groups: { + /** + * Format: int32 + * @description The number of returned documents. + */ + count?: number; + data?: components['schemas']['object_attribute_group'][]; + /** @description The list of expands set for the search request. Expands are optional. */ + expand?: string[]; + /** @description The URL of the next result page. */ + next?: string; + /** @description The URL of the previous result page. */ + previous?: string; + /** @description The fields that you want to select. */ + select?: string; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The total number of documents. + */ + total?: number; + }; + /** @description

Document representing a attribute definition

*/ + object_attribute_value_definition: { + /** + * Format: localized + * @description A description of the attribute value. + */ + description?: { + [key: string]: string; + }; + /** + * Format: localized + * @description A display name that can be used to present this value in + * the user interface. For example, the value might be '1' but the display + * name might be 'Order Exported'. + */ + display_value?: { + [key: string]: string; + }; + /** @description The ID of the attribute value. */ + id?: string; + /** + * Format: double + * @description The position of the attribute value within the set of attribute values. + */ + position?: number; + /** @description The value of the attribute. */ + value?: Record; + }; + /** @description

Document representing a object type definition

*/ + object_type_definition: { + /** + * Format: int32 + * @description Returns the number of attribute definitions contained by the type. This is a computed attribute and cannot be changed. + */ + attribute_definition_count?: number; + /** + * Format: int32 + * @description Returns the number of attribute groups contained by the type. This is a computed attribute and cannot be changed. + */ + attribute_group_count?: number; + /** @description True if the object type definition is marked as a content object */ + content_object?: boolean; + /** Format: date-time */ + creation_date?: string; + /** + * Format: localized + * @description The user entered description for the type (localizable) + */ + description?: { + [key: string]: string; + }; + /** + * Format: localized + * @description The user entered display name (localizable) + */ + display_name?: { + [key: string]: string; + }; + /** Format: date-time */ + last_modified?: string; + /** @description URL that is used to get this instance. This is a computed attribute and cannot be changed. */ + link?: string; + /** @description The object type identifier */ + object_type?: string; + /** @description True if the system object type is queryable, false otherwise. Default is true. */ + queryable?: boolean; + /** @description True if the system object is read-only, false otherwise. This is a computed attribute and cannot be changed. */ + read_only?: boolean; + }; + /** @description

Document representing a systemobject search result.

*/ + object_type_definition_search_result: { + /** + * Format: int32 + * @description The number of returned documents + */ + count?: number; + data?: Record[]; + /** + * Format: int32 + * @description The zero-based index of the record that we want to start with, used to optimize special handling + */ + db_start_record_?: number; + /** @description List of expansions to be applied to each search results. Expands are optional */ + expand?: string[]; + /** @description The sorted array of search hits. Can be empty. */ + hits?: components['schemas']['object_type_definition'][]; + next?: components['schemas']['result_page']; + previous?: components['schemas']['result_page']; + query?: components['schemas']['query']; + /** @description The field to be selected. */ + select?: string; + /** @description The list of sort clauses configured for the search request. Sort clauses are optional. */ + sorts?: components['schemas']['sort'][]; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The number of returned documents + */ + total?: number; + }; + /** @description

Document representing an unfiltered list of system object types.

*/ + object_type_definitions: { + /** + * Format: int32 + * @description The number of returned documents. + */ + count?: number; + data?: components['schemas']['object_type_definition'][]; + /** @description The list of expands set for the search request. Expands are optional. */ + expand?: string[]; + /** @description The URL of the next result page. */ + next?: string; + /** @description The URL of the previous result page. */ + previous?: string; + /** @description The fields that you want to select. */ + select?: string; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The total number of documents. + */ + total?: number; + }; + /** @description

OCAPI configuration APIs request

*/ + ocapi_configs_api_request: { + resource_info: components['schemas']['resource_info']; + /** @description Sites to be updated */ + sites: string[]; + }; + /** @description

OCAPI configuration APIs response. It contains all available resources for a client

*/ + ocapi_configs_api_response: { + /** @description Global configuration */ + global?: components['schemas']['site_resource_info'][]; + /** @description Site configurations */ + sites?: components['schemas']['site_resource_info'][]; + }; + /** @description

Request body to update the order confirmation status.

*/ + order_confirmation_status_update_request: { + /** + * @description The new confirmation status for an order. + * @enum {string} + */ + status: 'confirmed' | 'not_confirmed'; + }; + /** @description

Request body to update the order export status.

*/ + order_export_status_update_request: { + /** + * @description The new export status for an order. + * @enum {string} + */ + status: 'exported' | 'not_exported' | 'ready' | 'failed'; + }; + /** @description

Request body to update the order external status.

*/ + order_external_status_update_request: { + /** @description The new external status for an order. */ + status: string; + }; + /** @description

Request body to update the order payment status.

*/ + order_payment_status_update_request: { + /** + * @description The new payment status for an order. + * @enum {string} + */ + status: 'paid' | 'part_paid' | 'not_paid'; + }; + /** @description

Request body to update the order shipping status.

*/ + order_shipping_status_update_request: { + /** + * @description The new shipping status for an order. + * @enum {string} + */ + status: 'shipped' | 'part_shipped' | 'not_shipped'; + }; + /** @description

Request body to update the order status.

*/ + order_status_update_request: { + /** + * @description The new status for an order. + * @enum {string} + */ + status: 'created' | 'new' | 'open' | 'completed' | 'cancelled' | 'failed' | 'failed_with_reopen'; + }; + /** @description

Request body to update an order.

*/ + order_update_request: unknown; + /** @description

Represents a set of preferences attached at the organization level.

*/ + organization_preferences: { + /** @description A URL that returns the full details for a custom preference */ + link?: string; + /** @description The list of site preferences, returned with expand=sites */ + site_preferences?: components['schemas']['site_preferences'][]; + }; + password_change_request: { + /** @description The current user password */ + current_password: string; + /** @description The new user password */ + password: string; + }; + /** @description

Document representing most basic info (id and name) of a category or catalog.

*/ + path_record: { + /** @description The id of the category path. */ + id?: string; + /** + * Format: localized + * @description The name of the category path. + */ + name?: { + [key: string]: string; + }; + }; + /** @description

Request body to update an order payment instrument.

*/ + payment_instrument_update_request: unknown; + /** @description

Request body to update an order payment transaction.

*/ + payment_transaction_update_request: unknown; + /** @description

Represents a single preference value

*/ + preference_value: { + attribute_definition?: components['schemas']['object_attribute_definition']; + /** + * Format: localized + * @description Description of the attribute + */ + description?: { + [key: string]: string; + }; + /** + * Format: localized + * @description Display name for the attribute + */ + display_name?: { + [key: string]: string; + }; + /** @description The id of the attribute */ + id?: string; + /** @description The value of this attribute */ + site_values?: { + [key: string]: Record; + }; + /** + * @description The type of this attribute. + * @enum {string} + */ + value_type?: + | 'string' + | 'int' + | 'double' + | 'text' + | 'html' + | 'date' + | 'image' + | 'boolean' + | 'money' + | 'quantity' + | 'datetime' + | 'email' + | 'password' + | 'set_of_string' + | 'set_of_int' + | 'set_of_double' + | 'enum_of_string' + | 'enum_of_int' + | 'unknown'; + }; + /** @description

Document representing a preference value search result.

*/ + preference_value_search_result: { + /** + * Format: int32 + * @description The number of returned documents + */ + count?: number; + data?: Record[]; + /** + * Format: int32 + * @description The zero-based index of the record that we want to start with, used to optimize special handling + */ + db_start_record_?: number; + /** @description List of expansions to be applied to each search results. Expands are optional */ + expand?: string[]; + /** @description The sorted array of search hits. Can be empty. */ + hits?: components['schemas']['preference_value'][]; + next?: components['schemas']['result_page']; + previous?: components['schemas']['result_page']; + query?: components['schemas']['query']; + /** @description The field to be selected. */ + select?: string; + /** @description The list of sort clauses configured for the search request. Sort clauses are optional. */ + sorts?: components['schemas']['sort'][]; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The number of returned documents + */ + total?: number; + }; + /** @description

Document representing a product

*/ + product: { + /** @description The catalog categories that the product is assigned to */ + assigned_categories?: components['schemas']['catalog_category_id'][]; + /** + * Format: double + * @description The ATS(Available To Sell) inventory value of the product. This is a calculated value. + */ + ats?: number; + /** @description The brand of the product. */ + brand?: string; + /** @description The array of bundled products which the product includes. */ + bundled_products?: components['schemas']['product'][]; + /** @description Signals if there are inventory lists for brick-and-mortar stores associated with this product. */ + c_availableForInStorePickup?: boolean; + c_batteryLife?: string; + c_batteryType?: string; + /** @description Type of Boot for search refinement. */ + c_bootType?: ('0010' | '0020' | '0030' | '0040' | '0050' | '0060' | '0070')[]; + /** @description Bottom type for search refinement */ + c_bottomType?: ('0010' | '0020' | '0030' | '0040' | '0050' | '0060' | '0070' | '0080')[]; + /** @description Product color used for variation attribute */ + c_color?: string; + c_consoleWarranty?: string; + c_customCSSFile?: components['schemas']['media_file']; + c_digitalCameraFeatures?: ( + | '0010' + | '0020' + | '0030' + | '0040' + | '0050' + | '0060' + | '0070' + | '0080' + | '0090' + | '0100' + | '0110' + | '0120' + | '0130' + | '0140' + | '0150' + | '0160' + | '0170' + | '0180' + | '0190' + | '0200' + | '0210' + | '0220' + | '0230' + | '0240' + | '0250' + | '0260' + | '0270' + | '0280' + )[]; + c_digitalCameraPixels?: string; + c_digitalCameraType?: string; + c_digitalCameraWarranty?: string; + c_dimDepth?: string; + c_dimHeight?: string; + c_dimWeight?: string; + c_dimWidth?: string; + c_displaySize?: string; + c_gameGenre?: ('Action' | 'Educational' | 'Kids' | 'Racing' | 'Role-Playing' | 'Sports' | 'Strategy')[]; + c_gameRating?: string; + c_gameSystemType?: string; + c_gpsFeatures?: ( + | '0010' + | '0020' + | '0030' + | '0040' + | '0050' + | '0060' + | '0070' + | '0080' + | '0090' + | '0100' + | '0110' + | '0120' + | '0130' + | '0140' + | '0150' + | '0160' + | '0170' + | '0180' + | '0190' + | '0200' + | '0210' + | '0230' + )[]; + c_gpsType?: ('0010' | '0020' | '0030' | '0040')[]; + c_gpsWarranty?: string; + c_imageAspectRatio?: string; + c_isNew?: boolean; + /** @description This indiciates if the product is a new arrival. */ + c_isNewtest?: boolean; + /** @description This is the help text. It is used for sorting rules. */ + c_isSale?: boolean; + /** + * @description Kids Age used for search refinements + * @enum {string} + */ + c_kidsAge?: '0010' | '0020' | '0030' | '0040' | '0050' | '0060' | '0070'; + /** @description This attribute is used for mens and womens pants lengths. */ + c_length?: string; + c_lensAperture?: string; + c_materialTest?: ('cotton' | 'polyester' | 'wool')[]; + /** @description Media Format */ + c_mediaFormat?: ('0010' | '0020' | '0030' | '0040' | '0050' | '0060' | '0070' | '0080' | '0090' | '0100')[]; + /** @description Memory Size */ + c_memorySize?: string; + c_memoryType?: ('0010' | '0020' | '0030' | '0040' | '0050' | '0060' | '0070' | '0080' | '0090')[]; + c_musicStorage?: string; + c_opticalZoom?: string; + /** + * @description Type of Outerwear for search refinement + * @enum {string} + */ + c_outerwearType?: '0010' | '0020' | '0030' | '0040' | '0050' | '0060' | '0070' | '0080'; + c_portableAudioType?: ('0010' | '0020' | '0030')[]; + /** @enum {string} */ + c_refinementColor?: + | 'beige' + | 'black' + | 'blue' + | 'brown' + | 'green' + | 'grey' + | 'miscellaneous' + | 'navy' + | 'orange' + | 'pink' + | 'purple' + | 'red' + | 'white' + | 'yellow'; + c_resolution?: string; + /** + * @description Type of Sandal for search refinement + * @enum {string} + */ + c_sandalType?: '0010' | '0020' | '0030'; + /** @description test attribute */ + c_sheets?: ('value1' | 'value2' | 'value3')[]; + /** + * @description Type of Shoe for search refinements + * @enum {string} + */ + c_shoeType?: '0010' | '0020' | '0030' | '0040' | '0050' | '0060' | '0070' | '0080' | '0090' | '0100' | '0110'; + /** @description This attribute is used for all footwear, apparel and accessory sizing for men, women and kids products. */ + c_size?: string; + c_skinConcern?: ('comprehensive' | 'dryTight' | 'liftingLossFirm')[]; + c_styleNumber?: string; + c_tabDescription?: components['schemas']['markup_text']; + c_tabDetails?: components['schemas']['markup_text']; + /** @description Type of tops in clothing */ + c_topType?: string; + c_tvSignalFormat?: string; + c_tvSize?: string; + /** @enum {string} */ + c_tvType?: '0010' | '0020' | '0030' | '0040'; + c_tvWarranty?: string; + c_videoStorage?: string; + /** @description Attribute used for apparel waist sizing. */ + c_waist?: string; + /** @description This attribute is used for shoe widths for mens, womens and kids. */ + c_width?: string; + classification_category?: components['schemas']['catalog_category_id']; + /** + * Format: date-time + * @description Returns the value of attribute 'creationDate'. + */ + readonly creation_date?: string; + /** @description The ID of the product's default variant. */ + default_variant_id?: string; + /** @description The European Article Number of the product. */ + ean?: string; + /** @description The ID (SKU) of the product. */ + id?: string; + image?: components['schemas']['media_file']; + /** @description The array of product image groups. */ + image_groups?: components['schemas']['image_group'][]; + /** @description The flag that indicates if the product is in stock, or not. This is a calculated value. */ + in_stock?: boolean; + /** + * Format: date-time + * @description Returns the value of attribute 'lastModified'. + */ + readonly last_modified?: string; + /** @description A link to the product. */ + link?: string; + /** Format: localized */ + localized_tax_class_id?: { + [key: string]: string; + }; + /** + * Format: localized + * @description The localized long description of the product. + */ + long_description?: { + [key: string]: components['schemas']['markup_text']; + }; + /** @description The name of the product's manufacturer. */ + manufacturer_name?: string; + /** @description The SKU of the product's manufacturer. */ + manufacturer_sku?: string; + master?: components['schemas']['master']; + /** + * Format: localized + * @description The localized name of the product. + */ + name?: { + [key: string]: string; + }; + /** @description The flag that indicates if the product is online, or not. This is a calculated value. */ + online?: boolean; + /** + * Format: site-specific + * @description The site specific online status of the product. + */ + online_flag?: { + [key: string]: boolean; + }; + /** @description The ID of the catalog that owns the product. */ + owning_catalog_id?: string; + /** + * Format: localized + * @description The localized name of the catalog that owns the product. + */ + owning_catalog_name?: { + [key: string]: string; + }; + /** + * Format: localized + * @description The localized page description of the product. + */ + page_description?: { + [key: string]: string; + }; + /** + * Format: localized + * @description The localized page keywords of the product. + */ + page_keywords?: { + [key: string]: string; + }; + /** + * Format: localized + * @description The localized page title of the product. + */ + page_title?: { + [key: string]: string; + }; + /** + * Format: double + * @description The price of the product. + */ + price?: number; + /** @description The currency code for product's price. */ + price_currency?: string; + /** + * Format: double + * @description The price per unit of the product + */ + price_per_unit?: number; + /** @description The catalog categories that are primary for the product */ + primary_categories?: components['schemas']['catalog_category_id'][]; + /** @description The id of the products primary category. */ + primary_category_id?: string; + /** @description The array of product bundles which the product belongs to. */ + product_bundles?: components['schemas']['product'][]; + /** @description The array of product options. This is applicable for products of type "option". */ + product_options?: components['schemas']['product_option'][]; + /** @description The array of product sets which the product belongs to. */ + product_sets?: components['schemas']['product'][]; + /** + * Format: site-specific + * @description The site specific searchable status of the product. + */ + searchable?: { + [key: string]: boolean; + }; + /** @description The array of set products which the product includes. */ + set_products?: components['schemas']['product'][]; + /** + * Format: localized + * @description The localized short description of the product. + */ + short_description?: { + [key: string]: components['schemas']['markup_text']; + }; + /** @description The catalog categories that the product is assigned to */ + tax_class_id?: string; + type?: components['schemas']['product_type']; + /** @description The sales unit of the product. */ + unit?: string; + /** @description The unitMeasure of the product. */ + unit_measure?: string; + /** + * Format: double + * @description The unitQuantity of the product. + */ + unit_quantity?: number; + /** @description The Universal Product Code of the product. */ + upc?: string; + /** + * Format: site-specific + * @description The time when product is valid from. + */ + valid_from?: { + [key: string]: string; + }; + /** + * Format: site-specific + * @description The time when product is valid to. + */ + valid_to?: { + [key: string]: string; + }; + /** @description The array of variants of the product. This is applicable for product types "master" and "variation_group" only. */ + variants?: components['schemas']['variant'][]; + /** + * @description The sorted array of variation attributes assigned to the product. This is applicable for product types "master", + * "variation_group" and "variant" only. + */ + variation_attributes?: components['schemas']['variation_attribute'][]; + /** @description The array of variation groups in the product. This is applicable for product type "master" only. */ + variation_groups?: components['schemas']['variation_group'][]; + /** + * @description The variation values selected for the product in variation attribute id and value pairs. This is applicable for product types "variant" and + * "variation_group" only. + * + * Only for type variant and variation group. + */ + variation_values?: { + [key: string]: string; + }; + }; + /** @description

Document representing a product inventory record.

*/ + product_inventory_record: { + allocation?: components['schemas']['product_inventory_record_allocation']; + /** + * Format: double + * @description The quantity of items available to sell (ATS). This is calculated as the allocation plus the + * preorderBackorderAllocation minus the turnover. + */ + ats?: number; + /** + * Format: date-time + * @description Returns the value of attribute 'creationDate'. + */ + readonly creation_date?: string; + /** + * Format: date-time + * @description The date that the item is expected to be in stock. + */ + in_stock_date?: string; + /** @description The user supplied ID of the inventory list. */ + inventory_list_id?: string; + /** + * Format: double + * @description The sum of all inventory transactions (decrements and increments) that have been recorded subsequent to the + * allocation was reset date. The quantity value can be negative due to higher quantity of inventory decrements than + * increments. + */ + inventory_turnover?: number; + /** + * Format: date-time + * @description Returns the value of attribute 'lastModified'. + */ + readonly last_modified?: string; + /** @description The URL that is used to get this instance. */ + link?: string; + /** @description The flag that determines if the product is perpetually in stock. */ + perpetual_flag?: boolean; + /** + * Format: double + * @description The quantity of items that are allocated for sale, beyond the initial stock allocation. + */ + pre_order_back_order_allocation?: number; + /** + * @description The enum holding the records pre-backorder-handling configuration. Possible values are NONE, PREORDER and + * BACKORDER. Method returns NONE in case the record pre-backorder-handling-code is null or unknown. + * @enum {string} + */ + pre_order_back_order_handling?: 'none' | 'preorder' | 'backorder'; + /** @description The user supplied ID of the product. */ + product_id?: string; + /** @description The name of the product. */ + product_name?: string; + /** + * Format: double + * @description The on order quantity, the quantity of all transactions for this record since the allocation reset date. + */ + quantity_on_order?: number; + /** + * Format: double + * @description The current stock level. This is calculated as the allocation minus the turnover. + */ + stock_level?: number; + }; + /** @description

Document representing a product inventory record allocation.

*/ + product_inventory_record_allocation: { + /** + * Format: double + * @description The allocation quantity that is currently set. The quantity unit is the same unit as the product itself. + */ + amount?: number; + /** + * Format: date-time + * @description The date the allocation quantity was initialized or reset. + */ + reset_date?: string; + }; + /** @description

Document representing an unfiltered list of inventory records.

*/ + product_inventory_records: { + /** + * Format: int32 + * @description The number of returned documents. + */ + count?: number; + /** @description The collection of product inventory records. */ + data?: components['schemas']['product_inventory_record'][]; + /** @description The list of expands set for the search request. Expands are optional. */ + expand?: string[]; + /** @description The URL of the next result page. */ + next?: string; + /** @description The URL of the previous result page. */ + previous?: string; + /** @description The fields that you want to select. */ + select?: string; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The total number of documents. + */ + total?: number; + }; + /** @description

Document representing a product option

*/ + product_option: { + /** + * Format: localized + * @description The localized custom name of the product option. + */ + custom_name?: { + [key: string]: string; + }; + /** @description The default product option value. */ + default_product_option_value?: string; + /** + * Format: localized + * @description The localized description of the product option. + */ + description?: { + [key: string]: string; + }; + /** @description The object attribute definition id which is also the identifier for the product option. */ + id?: string; + image?: components['schemas']['media_file']; + /** @description The URL link to the product option. */ + link?: string; + /** @description The name of the object attribute definition. */ + name?: string; + /** @description The selected option value of the product option. */ + selected_option_value?: string; + /** @description The flag that indicates if the product option is shared or local. */ + shared?: boolean; + /** + * @description The sorting mode for the product option values. + * @enum {string} + */ + sorting_mode?: 'byexplicitorder' | 'byoptionprice'; + /** @description The sorted array of values of the product option. */ + values?: components['schemas']['product_option_value'][]; + }; + /** @description

Document representing a product option Value

*/ + product_option_value: { + /** @description Flag indicating if the product option value is the default value for the product option. */ + default_product_option_value?: boolean; + /** @description The id of the product option value. */ + id?: string; + /** @description The URL link to the product option value. */ + link?: string; + /** @description The list of prices in the product option value. */ + option_prices?: components['schemas']['money'][]; + /** @description The sku extension of the product option value. */ + sku_extension?: string; + /** + * Format: localized + * @description The localized value of the product option. + */ + value?: { + [key: string]: string; + }; + }; + /** @description

Document representing an unfiltered list of product option values.

*/ + product_option_values: { + /** + * Format: int32 + * @description The number of returned documents. + */ + count?: number; + data?: components['schemas']['product_option_value'][]; + /** @description The list of expands set for the search request. Expands are optional. */ + expand?: string[]; + /** @description The URL of the next result page. */ + next?: string; + /** @description The URL of the previous result page. */ + previous?: string; + /** @description The fields that you want to select. */ + select?: string; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The total number of documents. + */ + total?: number; + }; + /** @description

Document representing an unfiltered list of product options.

*/ + product_options: { + /** + * Format: int32 + * @description The number of returned documents. + */ + count?: number; + data?: components['schemas']['product_option'][]; + /** @description The list of expands set for the search request. Expands are optional. */ + expand?: string[]; + /** @description The URL of the next result page. */ + next?: string; + /** @description The URL of the previous result page. */ + previous?: string; + /** @description The fields that you want to select. */ + select?: string; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The total number of documents. + */ + total?: number; + }; + /** @description

Document representing a product search result.

*/ + product_search_result: { + /** + * Format: int32 + * @description The number of returned documents + */ + count?: number; + data?: Record[]; + /** + * Format: int32 + * @description The zero-based index of the record that we want to start with, used to optimize special handling + */ + db_start_record_?: number; + /** @description List of expansions to be applied to each search results. Expands are optional */ + expand?: string[]; + /** @description The sorted array of search hits. Can be empty. */ + hits?: components['schemas']['product'][]; + next?: components['schemas']['result_page']; + previous?: components['schemas']['result_page']; + query?: components['schemas']['query']; + /** @description The field to be selected. */ + select?: string; + /** @description The list of sort clauses configured for the search request. Sort clauses are optional. */ + sorts?: components['schemas']['sort'][]; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The number of returned documents + */ + total?: number; + }; + /** @description

Document representing a product type.

*/ + product_type: { + /** @description A flag indicating whether the product is a bundle. */ + bundle?: boolean; + /** @description A flag indicating whether the product is bundled. */ + bundled?: boolean; + /** @description A flag indicating whether the product is a standard item. */ + item?: boolean; + /** @description A flag indicating whether the product is a master. */ + master?: boolean; + /** @description A flag indicating whether the product is an option. */ + option?: boolean; + /** @description A flag indicating whether the product is part of product set. */ + part_of_product_set?: boolean; + /** @description A flag indicating whether the product is part of retail set. */ + part_of_retail_set?: boolean; + /** @description A flag indicating whether the product is a retail set. */ + retail_set?: boolean; + /** @description A flag indicating whether the product is a set. */ + set?: boolean; + /** @description A flag indicating whether the product is a variant. */ + variant?: boolean; + /** @description A flag indicating whether the product is a variation group. */ + variation_group?: boolean; + }; + /** + * @description

Document representing a promotion. Unless otherwise stated, attributes of this document are not supported when using + * the Open Commerce API to update multiple promotions at once.

+ */ + promotion: { + /** + * @description Determines whether or not this promotion is archived. This attribute is allowed to be updated when using the Open + * Commerce API to update multiple promotions at once. + */ + archived?: boolean; + assignment_information?: components['schemas']['promotion_assignment_information']; + /** + * Format: localized + * @description The localized callout message of the promotion. + */ + callout_msg?: { + [key: string]: components['schemas']['markup_text']; + }; + /** + * Format: date-time + * @description Returns the value of attribute 'creationDate'. + */ + readonly creation_date?: string; + /** + * @description The ISO 4217 mnemonic code of the currency this promotion is restricted to. If not populated, then there is no + * currency restriction on the promotion. + */ + currency_code?: string; + /** + * @description Determines whether or not this promotion ignores the global product exclusions for promotions. This attribute is + * allowed to be updated when using the Open Commerce API to update multiple promotions at once. + */ + disable_globally_excluded?: boolean; + /** + * @description Determines whether or not this promotion is enabled. This attribute is allowed to be updated when using the Open + * Commerce API to update multiple promotions at once. + */ + enabled?: boolean; + /** + * @description Determines if the promotion can be combined with other promotions of the same promotion class or if it cannot be + * combined with any other promotions. This attribute is allowed to be updated when using the Open Commerce API to + * update multiple promotions at once. + * @enum {string} + */ + exclusivity?: 'no' | 'class' | 'global'; + /** @description The id for the promotion. */ + id?: string; + /** + * Format: date-time + * @description Returns the value of attribute 'lastModified'. + */ + readonly last_modified?: string; + /** @description A URL that is used to get the details of this promotion. */ + link?: string; + /** + * Format: localized + * @description The user supplied name of this promotion, which can be localized + */ + name?: { + [key: string]: string; + }; + /** + * @description The class of the promotion. If the promotion class is modified, then the promotion rule and all of its values, + * such as whether or not to disable global product exclusions, will be reset. + * @enum {string} + */ + promotion_class?: 'product' | 'shipping' | 'order'; + /** + * @description Returns the list of tags assigned to this promotion. If used to set the tags on a promotion, the promotion will + * only have the tags passed in the input. Any existing tags will be removed. + */ + tags?: components['schemas']['tag'][]; + }; + promotion_abtest_group_assignment: { + abtest_description?: string; + abtest_id?: string; + enabled?: boolean; + schedule?: components['schemas']['schedule']; + segment_description?: string; + segment_id?: string; + }; + promotion_assignment_information: { + /** + * @description If there is only one assignment, and that assignment is an A/B test segment, the id of the A/B test the segment + * belongs to. Otherwise, empty. + */ + abtest_id?: string; + /** + * @description If there is only one assignment, and that assignment is an A/B test segment, the id of the A/B test segment. + * Otherwise, empty. + */ + abtest_segment_id?: string; + /** @description true if the individual assignment or the multiple assignments are currently active (applicable only for non default schedule assignments i.e. either campaign or A/B test schedule). */ + active?: boolean; + /** @description A list of currently active A/B tests this is assigned to. */ + active_abtest_assignments?: components['schemas']['promotion_abtest_group_assignment'][]; + /** @description A list of currently active campaigns this is assigned to. */ + active_campaign_assignments?: components['schemas']['promotion_campaign_assignment'][]; + /** @description If there is only one assignment, and that assignment is a campaign, the id of the campaign. Otherwise, empty. */ + campaign_id?: string; + enabled?: boolean; + /** + * Format: date-time + * @description The end date of the container of the assignment (a Campaign or ABTest). If schedule_type is + * schedule_type : "multiple" or schedule_type : "none", then then result will be null. Also, a null + * date will also return null. + */ + end_date?: string; + schedule?: components['schemas']['schedule']; + /** + * @description If there is only one active assignment, or no active assignments and one upcoming assignment, this is that type + * of assignment (schedule_type : "campaign" or schedule_type : "abtest"). If there are no + * assignments, it will be schedule_type : "none", otherwise, schedule_type : "multiple". + * @enum {string} + */ + schedule_type?: 'none' | 'campaign' | 'abtest' | 'multiple'; + /** + * Format: date-time + * @description The start date of the container of the assignment (a Campaign or ABTest). If schedule_type is + * schedule_type : "multiple" or schedule_type : "none", then then result will be null. Also, a null + * date will also return null. + */ + start_date?: string; + /** @description A list of upcoming A/B tests this is assigned to. */ + upcoming_abtest_assignments?: components['schemas']['promotion_abtest_group_assignment'][]; + /** @description A list of upcoming campaigns this is assigned to. */ + upcoming_campaign_assignments?: components['schemas']['promotion_campaign_assignment'][]; + }; + /** @description

Document representing a promotion campaign assignment.

*/ + promotion_campaign_assignment: { + campaign?: components['schemas']['campaign']; + /** @description The id of the campaign. */ + campaign_id?: string; + /** @description The sorted array of assigned coupon ids. */ + coupons?: string[]; + /** + * @description True if the assigned promotion is coupon based. When set to false, Coupons in the campaign and on the + * PromotionCampaignAssignment are ignored. The default value is true. + */ + coupons_based?: boolean; + /** Format: date-time */ + creation_date?: string; + /** @description The sorted array of assigned customer groups. */ + customer_groups?: string[]; + /** + * @description True if the assigned promotion is customer group based. When set to false, Customer Groups in the campaign and on + * the PromotionCampaignAssignment are ignored. The default value is true. + */ + customer_groups_based?: boolean; + /** @description The description of the promotion campaign assignment. */ + description?: string; + /** @description True if the assignment resource is enabled */ + enabled?: boolean; + /** Format: date-time */ + last_modified?: string; + /** @description link for convenience */ + link?: string; + promotion?: components['schemas']['promotion']; + /** @description The id of the Promotion. */ + promotion_id?: string; + /** + * Format: int32 + * @description The rank of promotion campaign assignment + */ + rank?: number; + /** + * @description A constant indicating that one or all qualifier conditions must be + * met in order for the promotion to apply for a given customer. + * Valid values are "any" and "all". + * @enum {string} + */ + required_qualifier?: 'any' | 'all'; + schedule?: components['schemas']['schedule']; + /** + * @description True if the assigned promotion is source code group based. When set to false, Source Code Groups in the campaign and on + * the PromotionCampaignAssignment are ignored. The default value is true. + */ + source_code_based?: boolean; + /** @description The sorted array of assigned source code groups. */ + source_code_groups?: string[]; + }; + /** @description

Document representing a promotion campaign assignment search result.

*/ + promotion_campaign_assignment_search_result: { + /** + * Format: int32 + * @description The number of returned documents + */ + count?: number; + data?: Record[]; + /** + * Format: int32 + * @description The zero-based index of the record that we want to start with, used to optimize special handling + */ + db_start_record_?: number; + /** @description List of expansions to be applied to each search results. Expands are optional */ + expand?: string[]; + /** @description The sorted array of search hits. Can be empty. */ + hits?: components['schemas']['promotion_campaign_assignment'][]; + next?: components['schemas']['result_page']; + previous?: components['schemas']['result_page']; + query?: components['schemas']['query']; + /** @description The field to be selected. */ + select?: string; + /** @description The list of sort clauses configured for the search request. Sort clauses are optional. */ + sorts?: components['schemas']['sort'][]; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The number of returned documents + */ + total?: number; + }; + /** @description

Document representing a promotion search result.

*/ + promotion_search_result: { + /** + * Format: int32 + * @description The number of returned documents + */ + count?: number; + data?: Record[]; + /** + * Format: int32 + * @description The zero-based index of the record that we want to start with, used to optimize special handling + */ + db_start_record_?: number; + /** @description List of expansions to be applied to each search results. Expands are optional */ + expand?: string[]; + /** @description The sorted array of search hits. Can be empty. */ + hits?: components['schemas']['promotion'][]; + next?: components['schemas']['result_page']; + previous?: components['schemas']['result_page']; + query?: components['schemas']['query']; + /** @description The field to be selected. */ + select?: string; + /** @description The list of sort clauses configured for the search request. Sort clauses are optional. */ + sorts?: components['schemas']['sort'][]; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The number of returned documents + */ + total?: number; + }; + /** @description

A set of promotions

*/ + promotions: { + /** Format: int32 */ + count?: number; + /** @description The set of promotions */ + data?: components['schemas']['promotion'][]; + expand?: string[]; + next?: string; + previous?: string; + select?: string; + /** Format: int32 */ + start?: number; + /** Format: int32 */ + total?: number; + }; + /** + * @description

Document representing a query. A query contains a set of objects that define criteria + * used to select records. A query can contain one of the following: + *

    + *
  • match_all_query - returns all records.
  • + *
  • term_query - matches records where a field (or fields) exactly match some simple value (including null).
  • + *
  • text_query - matches records where a field (or fields) contain a search phrase.
  • + *
  • boolean_query - formulates a complex boolean expression using query objects as criteria.
  • + *
  • filtered_query - allows for filtering of records based on both a query and a filter.
  • + *

+ */ + query: unknown; + /** + * @description

Document representing a query filter. A query filter wraps any query and allows it to be used as a filter. + * + * Example: (coupon_id contains "disabled" AND (enabled=false OR active=false)) + *

+     *      query : {
+     *         filtered_query: {
+     *             query: { text_query: { fields: ["coupon_id"], search_phrase: "disabled" } },
+     *             filter: {
+     *                 query_filter: {
+     *                     query: {
+     *                         term_query: { fields: ["enabled","active"], operator: "is", values: [ false ] }
+     *                     }
+     *                 }
+     *             }
+     *         }
+     *      }
+     *       

+ */ + query_filter: { + query: components['schemas']['query']; + }; + /** + * @description

Document representing a range comparison with a range filter, named Range2Filter.

+ * + *

A Range2Filter allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range.

+ *

The first range (R1) is defined by a pair of attributes ("from_field" and "to_field") that specify the extent of a range, such as the attributes "valid_from" and "valid_to".

+ *

The second range (R2) is defined by "from_value" and "to_value".

+ *

The filter mode specifies the method used to compare the two ranges:

+ *
    + *
  • overlap: R1 overlaps fully or partially with R2
  • + *
  • containing: R1 contains R2
  • + *
  • contained: R1 is contained in R2
  • + *
+ *

The range filter supports several value types, and relies on the natural sorting of the value type + * for range interpretation. Value ranges can be open-ended (at one end only). You can configure whether the + * lower and upper bounds are inclusive or exclusive.

+ *

A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because + * the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for + * every query (for example, if the user controls the date range down to the hour via a UI control). Range filters + * are inclusive by default.

+ * + *

Example: (valid dates overlap with the range January 1, 2007 through January 1, 2017) + *

+     *      "query" : {
+     *             "filtered_query": {
+     *                "filter": {
+     *                     "range2_filter": {
+     *                         "from_field": "valid_from",
+     *                         "to_field": "valid_to",
+     *                         "filter_mode":"overlap",
+     *                         "from_value": "2007-01-01T00:00:00.000Z",
+     *                         "to_value": "2017-01-01T00:00:00.000Z"
+     *                     }
+     *                },
+     *                "query": { "match_all_query": {} }
+     *            }
+     *        }
+     *       

+ */ + range2_filter: { + /** + * @description Compare mode: overlap, containing, or contained. If not specified, the default is overlap. + * @enum {string} + */ + filter_mode?: 'overlap' | 'containing' | 'contained'; + /** @description The field name of the field that starts the first range. */ + from_field: string; + /** @description Indicates whether the lower bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. */ + from_inclusive?: boolean; + /** @description The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. */ + from_value?: Record; + /** @description The field name of the field that ends the first range. */ + to_field: string; + /** @description Indicates whether the upper bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. */ + to_inclusive?: boolean; + /** @description The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. */ + to_value?: Record; + }; + /** + * @description

Document representing a range filter. + * + * A range filter allows you to restrict a search result to hits that have values for a given attribute that fall into a + * given value range. The range filter supports several value types, and relies on the natural sorting of the value type + * for range interpretation. Value ranges can be open-ended (at one end only). You can configure whether the + * lower and upper bounds are inclusive or exclusive. + * + * A range filter is useful for general restrictions that can be shared between searches (like a static date range) because + * the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for + * every query (for example, if the user controls the date range down to the hour via a UI control). Range filters + * are inclusive by default. + * + * Example: ( redemption_count BETWEEN (0,10] ) + *

+     *         query: {
+     *             filtered_query: {
+     *                 query: { match_all_query: {} },
+     *                 filter: {
+     *                     range_filter: {
+     *                         field: "redemption_count",
+     *                         from: 0,
+     *                         to: 10,
+     *                         from_inclusive: false
+     *                     }
+     *                 }
+     *             }
+     *         }
+     *       

+ */ + range_filter: { + /** @description The search field. */ + field: string; + /** @description The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. */ + from?: Record; + /** @description Indicates whether the lower bound of the range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. */ + from_inclusive?: boolean; + /** @description The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. */ + to?: Record; + /** @description Indicates whether the upper bound of the range is inclusive. If not specified, the default is true. Set to false to made the upper bound exclusive. */ + to_inclusive?: boolean; + }; + /** @description

The recommender object

*/ + recommender: { + /** @description The description of the recommender */ + description?: string; + /** @description The name of the recommender */ + name?: string; + }; + /** @description

A list of recommenders available for use in recommendation requests.

*/ + recommenders_result: { + /** @description The recommender objects */ + recommenders?: components['schemas']['recommender'][]; + }; + /** @description

Document representing a schedule recurrence.

*/ + recurrence: { + /** + * @description The days of week for recurrence. + * @enum {array} + */ + day_of_week?: 'monday' | 'tuesday' | 'wednesday' | 'thursday' | 'friday' | 'saturday' | 'sunday'; + time_of_day?: components['schemas']['time_of_day']; + }; + /** @description

Document representing a coupon redemption limit.

*/ + redemption_limit_per_period: { + /** + * Format: int32 + * @description The limit on the number of times a coupon can be redeemed for a specified redemption time period. + */ + limit?: number; + /** + * Format: int32 + * @description The redemption time period. + */ + redemption_time_frame?: number; + }; + /** @description

Document representing a coupon.

*/ + redemption_limits: { + /** + * Format: int32 + * @description The redemption limit per code + */ + limit_per_code?: number; + /** + * Format: int32 + * @description The redemption limit per customer + */ + limit_per_customer?: number; + limit_per_time_frame?: components['schemas']['redemption_limit_per_period']; + }; + resource_info: { + /** @description Allowed Origins */ + allowed_origins?: string[]; + /** + * @description API Type + * @enum {string} + */ + api_type: 'data' | 'shop'; + /** @description An array of resources */ + resources: components['schemas']['resource_object'][]; + /** @description Response Header */ + response_headers?: { + [key: string]: string; + }; + }; + /** @description

Object to represent a resource in ocapi_config_api_request

*/ + resource_object: { + /** + * Format: int32 + * @description Resource Cache time + */ + cache_time?: number; + /** @description Configuration of the resource */ + config?: { + [key: string]: string; + }; + /** @description Allowed methods of the resource */ + methods: string[]; + /** @description Indicate if the personalized caching is enabled for the resource */ + personalized_caching_enabled?: boolean; + /** @description Read attributes of the resource */ + read_attributes?: string; + /** @description Resource ID */ + resource_id: string; + version_range?: components['schemas']['version_range_object']; + /** @description Write attributes of the resource */ + write_attributes?: string; + }; + /** @description

Data that can be used to get the next and previous page of a Data API results object.

*/ + result_page: { + /** + * Format: int32 + * @description The number of returned documents. + */ + count?: number; + /** + * Format: int32 + * @description The zero-based index of the record that we want to start with, used to optimize special handling + */ + db_start_record_?: number; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + }; + /** @description

Document representing an access role.

*/ + role: { + /** Format: date-time */ + creation_date?: string; + /** @description The role description. */ + description?: string; + /** @description The role ID. */ + id?: string; + /** Format: date-time */ + last_modified?: string; + /** @description URL that is used to get this instance. This property is computed and cannot be modified. */ + link?: string; + permissions?: components['schemas']['role_permissions']; + /** + * Format: int32 + * @description Number of users assigned to the role. + */ + user_count?: number; + /** @description Flag whether this role is allowed to manage users or other access roles. */ + user_manager?: boolean; + /** @description The users assigned to the access role. Available through expands. */ + users?: components['schemas']['user'][]; + }; + /** @description

Document representing a functional permission.

*/ + role_functional_permission: { + /** @description The name of the functional permission. */ + name: string; + /** @description The permission type ("functional"). */ + type: string; + /** @description The non domain specific value for the functional permission, e.g. ACCESS or READONLY. */ + value?: string; + /** @description The map of value per domain for the functional permission, e.g. ACCESS or READONLY per domain name. */ + values?: { + [key: string]: string; + }; + }; + /** @description

Document listing the functional permissions assigned to a certain role.

*/ + role_functional_permissions: { + /** @description The list of organization functional permissions. */ + organization?: components['schemas']['role_functional_permission'][]; + /** @description The list of site functional permissions. */ + site?: components['schemas']['role_functional_permission'][]; + }; + /** @description

Document representing a locale permission.

*/ + role_locale_permission: { + /** @description The related locale id of the locale permission. */ + locale_id: string; + /** @description The permission type ("locale"). */ + type: string; + /** @description The non domain specific value for the locale permission, e.g. ACCESS or READONLY. */ + value?: string; + /** @description The map of value per domain for the locale permission, e.g. ACCESS or READONLY per domain name. */ + values?: { + [key: string]: string; + }; + }; + /** @description

Document listing the locale permissions assigned to a certain role.

*/ + role_locale_permissions: { + /** @description The list of unscoped locale permissions. */ + unscoped?: components['schemas']['role_locale_permission'][]; + }; + /** @description

Document representing a module permission.

*/ + role_module_permission: { + /** @description The permission application (e.g. "bm", "csc"). */ + application: string; + /** @description The related menu action name of the module permission. */ + name: string; + /** @description Flag to indicate a system menu action. This is false for custom menu actions. */ + system?: boolean; + /** @description The permission type ("module"). */ + type: string; + /** @description The non domain specific value for the module permission, e.g. ACCESS or READONLY. */ + value?: string; + /** @description The map of value per domain for the module permission, e.g. ACCESS or READONLY per domain name. */ + values?: { + [key: string]: string; + }; + }; + /** @description

Document listing the module permissions assigned to a certain role.

*/ + role_module_permissions: { + /** @description The list of organization module permissions. */ + organization?: components['schemas']['role_module_permission'][]; + /** @description The list of site module permissions. */ + site?: components['schemas']['role_module_permission'][]; + }; + /** @description

Document listing the permissions assigned to a certain role (accessible by type).

*/ + role_permissions: { + functional?: components['schemas']['role_functional_permissions']; + locale?: components['schemas']['role_locale_permissions']; + module?: components['schemas']['role_module_permissions']; + webdav?: components['schemas']['role_webdav_permissions']; + }; + /** + * @description

Document representing an role search. + * + * Note that only either an user ID or a permission can be provided (or none), but not both. When one of them is provided, + * the further query elements will filter the respective role set (meaning the user ID / permission is AND-connected to the query definition). + * + * When a permission definition is using a site scope, it can contain only one site. + * + * When optional fields in the permission definitions are not provided, they will be treated as 'don't care' (so its e.g. possible so search for + * permission to site-specific BM modules without providing a site, and the search will return all roles having that permission for any site).

+ */ + role_search_request: { + /** + * Format: int32 + * @description The number of returned documents + */ + count?: number; + /** + * Format: int32 + * @description The zero-based index of the record that we want to start with, used to optimize special handling + */ + db_start_record_?: number; + /** @description List of expansions to be applied to each search results. Expands are optional */ + expand?: string[]; + permissions?: components['schemas']['role_permissions']; + query: components['schemas']['query']; + /** @description The field to be selected. */ + select?: string; + /** @description The list of sort clauses configured for the search request. Sort clauses are optional. */ + sorts?: components['schemas']['sort'][]; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** @description The id of the user whose roles are to be searched. */ + user_id?: string; + }; + /** @description

Document representing an access role search result.

*/ + role_search_result: { + /** + * Format: int32 + * @description The number of returned documents + */ + count?: number; + data?: Record[]; + /** + * Format: int32 + * @description The zero-based index of the record that we want to start with, used to optimize special handling + */ + db_start_record_?: number; + /** @description List of expansions to be applied to each search results. Expands are optional */ + expand?: string[]; + /** @description The sorted array of search hits. Can be empty. */ + hits?: components['schemas']['role'][]; + next?: components['schemas']['result_page']; + previous?: components['schemas']['result_page']; + query?: components['schemas']['query']; + /** @description The field to be selected. */ + select?: string; + /** @description The list of sort clauses configured for the search request. Sort clauses are optional. */ + sorts?: components['schemas']['sort'][]; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The number of returned documents + */ + total?: number; + }; + /** @description

Document representing a WebDAV permission.

*/ + role_webdav_permission: { + /** @description The related folder of the WebDAV permission. */ + folder: string; + /** @description The permission type ("webdav"). */ + type: string; + /** @description The non domain specific value for the WebDAV permission, e.g. ACCESS or READONLY. */ + value?: string; + /** @description The map of value per domain for the WebDAV permission, e.g. ACCESS or READONLY per domain name. */ + values?: { + [key: string]: string; + }; + }; + /** @description

Document listing the WebDAV permissions assigned to a certain role.

*/ + role_webdav_permissions: { + /** @description The list of unscoped WebDAV permissions. */ + unscoped?: components['schemas']['role_webdav_permission'][]; + }; + /** @description

Document representing a list of access roles.

*/ + roles: { + /** Format: int32 */ + count?: number; + /** @description The list of access roles. */ + data?: components['schemas']['role'][]; + expand?: string[]; + next?: string; + previous?: string; + select?: string; + /** Format: int32 */ + start?: number; + /** Format: int32 */ + total?: number; + }; + /** @description

Document representing a customer group rule

*/ + rule: { + /** @description The description of the rule, describing its conditions in natural language. Property is read-only. */ + description?: string; + }; + /** @description

Document representing a time schedule for slots.

*/ + schedule: { + /** + * Format: date-time + * @description The date to end of validity. ISO8601 date time format: yyyy-MM-dd'T'HH:mm:ssZ. + */ + end_date?: string; + recurrence?: components['schemas']['recurrence']; + /** + * Format: date-time + * @description The date to start validity. ISO8601 date time format: yyyy-MM-dd'T'HH:mm:ssZ. + */ + start_date?: string; + }; + /** @description

Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields that each query supports are defined within the search resource.

*/ + search_request: { + /** + * Format: int32 + * @description The number of returned documents + */ + count?: number; + /** + * Format: int32 + * @description The zero-based index of the record that we want to start with, used to optimize special handling + */ + db_start_record_?: number; + /** @description List of expansions to be applied to each search results. Expands are optional */ + expand?: string[]; + query: components['schemas']['query']; + /** @description The field to be selected. */ + select?: string; + /** @description The list of sort clauses configured for the search request. Sort clauses are optional. */ + sorts?: components['schemas']['sort'][]; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + }; + /** @description

Request body to update the order shipping address.

*/ + shipping_address_update_request: { + address1?: string; + address2?: string; + city?: string; + company_name?: string; + country_code?: string; + first_name?: string; + full_name?: string; + id?: string; + job_title?: string; + last_name?: string; + phone?: string; + post_box?: string; + postal_code?: string; + salutation?: string; + second_name?: string; + state_code?: string; + suffix?: string; + suite?: string; + title?: string; + }; + /** @description

Document representing a site.

*/ + site: { + /** @description The cartridge Path of the site */ + cartridges?: string; + /** Format: date-time */ + creation_date?: string; + customer_list_link?: components['schemas']['customer_list_link']; + /** + * Format: localized + * @description The description of this site. + */ + description?: { + [key: string]: string; + }; + /** + * Format: localized + * @description The display name entered by the user. + */ + display_name?: { + [key: string]: string; + }; + /** @description The id of this site. */ + id: string; + /** @description The deletion status of this site, true if in deletion */ + in_deletion?: boolean; + /** Format: date-time */ + last_modified?: string; + /** @description A link directly to the site */ + link?: string; + /** @enum {string} */ + storefront_status?: 'online' | 'maintenance' | 'to_be_deleted' | 'protected'; + }; + /** @description

Represents a set of preferences attached at the organization level.

*/ + site_preferences: { + /** @description A URL that returns the full details for a custom preference */ + link?: string; + site?: components['schemas']['site']; + }; + /** @description

Object to represent a site configuration and available resources in the site configuration.

*/ + site_resource_info: { + /** @description Site configuration */ + site_configs: components['schemas']['resource_info'][]; + /** @description Site ID */ + site_id?: string; + }; + /** @description

Document representing a site search result.

*/ + site_search_result: { + /** + * Format: int32 + * @description The number of returned documents + */ + count?: number; + data?: Record[]; + /** + * Format: int32 + * @description The zero-based index of the record that we want to start with, used to optimize special handling + */ + db_start_record_?: number; + /** @description List of expansions to be applied to each search results. Expands are optional */ + expand?: string[]; + /** @description The sorted array of search hits. Can be empty. */ + hits?: components['schemas']['site'][]; + next?: components['schemas']['result_page']; + previous?: components['schemas']['result_page']; + query?: components['schemas']['query']; + /** @description The field to be selected. */ + select?: string; + /** @description The list of sort clauses configured for the search request. Sort clauses are optional. */ + sorts?: components['schemas']['sort'][]; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The number of returned documents + */ + total?: number; + }; + /** @description

Document representing an unfiltered list of sites.

*/ + sites: { + /** + * Format: int32 + * @description The number of returned documents. + */ + count?: number; + data?: components['schemas']['site'][]; + /** @description The list of expands set for the search request. Expands are optional. */ + expand?: string[]; + /** @description The URL of the next result page. */ + next?: string; + /** @description The URL of the previous result page. */ + previous?: string; + /** @description The fields that you want to select. */ + select?: string; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The total number of documents. + */ + total?: number; + }; + /** @description

Document representing a slot

*/ + slot: { + /** + * @description A slot context + * @enum {string} + */ + context_type?: 'global' | 'category' | 'folder'; + /** Format: date-time */ + creation_date?: string; + /** @description The user supplied description of the slot */ + description?: string; + /** Format: date-time */ + last_modified?: string; + /** @description A link to the slot */ + link?: string; + /** @description A preview URL the slot */ + preview_url?: string; + /** @description A list of slotconfigurations this slot has */ + slot_configurations?: components['schemas']['slot_configuration'][]; + /** @description The id for the slot */ + slot_id: string; + }; + /** @description

Document representing a slot configuration.

*/ + slot_configuration: { + assignment_information?: components['schemas']['slot_configuration_assignment_information']; + /** + * Format: localized + * @description The call out message. + */ + callout_msg?: { + [key: string]: components['schemas']['markup_text']; + }; + /** @description The id of this configuration. */ + configuration_id?: string; + /** + * @description The context of the slot. Ignored in input documents. + * @enum {string} + */ + context?: 'global' | 'category' | 'folder'; + /** + * @description When the context is category, this is a category_id; when + * the context is folder, this is a folder_id; and when the + * context is global, this is obsolete. This is ignored in input documents. + */ + context_id?: string; + /** + * Format: date-time + * @description Returns the value of attribute 'creationDate'. + */ + readonly creation_date?: string; + /** @description The customer groups ids. */ + customer_groups?: string[]; + /** @description A flag indicating whether the configuration is the default one for the slot. */ + default?: boolean; + /** @description The configuration description. */ + description?: string; + /** @description A flag indicating whether the slot is enabled. */ + enabled?: boolean; + /** + * Format: date-time + * @description Returns the value of attribute 'lastModified'. + */ + readonly last_modified?: string; + /** @description The link. */ + link?: string; + /** + * Format: int32 + * @description The rank of the slot configuration on its slot. This rank has nothing to do with the rank + * on any campaign-assignment, because these are completely different objects. These must be + * updated separately. + * @enum {integer} + */ + rank?: 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100; + schedule?: components['schemas']['schedule']; + slot_content: components['schemas']['slot_content']; + /** @description The ID of the slot. Ignored in input documents. */ + slot_id?: string; + /** @description The template. */ + template?: string; + /** + * @description The uuid of the slot configuration. This property cannot be written + * and is ignored in input documents. + */ + readonly uuid?: string; + }; + slot_configuration_abtest_group_assignment: { + abtest_description?: string; + abtest_id?: string; + enabled?: boolean; + schedule?: components['schemas']['schedule']; + segment_description?: string; + segment_id?: string; + }; + slot_configuration_assignment_information: { + /** + * @description If there is only one assignment, and that assignment is an A/B test segment, the id of the A/B test the segment + * belongs to. Otherwise, empty. + */ + abtest_id?: string; + /** + * @description If there is only one assignment, and that assignment is an A/B test segment, the id of the A/B test segment. + * Otherwise, empty. + */ + abtest_segment_id?: string; + /** @description true if the individual assignment or the multiple assignments are currently active (applicable only for non default schedule assignments i.e. either campaign or A/B test schedule). */ + active?: boolean; + /** @description A list of currently active A/B tests this is assigned to. */ + active_abtest_assignments?: components['schemas']['slot_configuration_abtest_group_assignment'][]; + /** @description A list of currently active campaigns this is assigned to. */ + active_campaign_assignments?: components['schemas']['slot_configuration_campaign_assignment'][]; + /** @description If there is only one assignment, and that assignment is a campaign, the id of the campaign. Otherwise, empty. */ + campaign_id?: string; + enabled?: boolean; + /** + * Format: date-time + * @description The end date of the container of the assignment (a Campaign or ABTest). If schedule_type is + * schedule_type : "multiple" or schedule_type : "none", then then result will be null. Also, a null + * date will also return null. + */ + end_date?: string; + schedule?: components['schemas']['schedule']; + /** + * @description If there is only one active assignment, or no active assignments and one upcoming assignment, this is that type + * of assignment (schedule_type : "campaign" or schedule_type : "abtest"). If there are no + * assignments, it will be schedule_type : "none", otherwise, schedule_type : "multiple". + * @enum {string} + */ + schedule_type?: 'none' | 'campaign' | 'abtest' | 'multiple'; + /** + * Format: date-time + * @description The start date of the container of the assignment (a Campaign or ABTest). If schedule_type is + * schedule_type : "multiple" or schedule_type : "none", then then result will be null. Also, a null + * date will also return null. + */ + start_date?: string; + /** @description A list of upcoming A/B tests this is assigned to. */ + upcoming_abtest_assignments?: components['schemas']['slot_configuration_abtest_group_assignment'][]; + /** @description A list of upcoming campaigns this is assigned to. */ + upcoming_campaign_assignments?: components['schemas']['slot_configuration_campaign_assignment'][]; + }; + /** @description

Document representing a slot_configuration_campaign_assignment

*/ + slot_configuration_campaign_assignment: { + campaign?: components['schemas']['campaign']; + /** @description The id of the campaign that has the slot configuration assigned to it. */ + campaign_id?: string; + /** + * @description The slot context. + * @enum {string} + */ + context: 'global' | 'category' | 'folder'; + /** Format: date-time */ + creation_date?: string; + /** @description The list of customer groups. */ + customer_groups?: string[]; + /** @description The description of the slot configuration. */ + description?: string; + /** @description True if the assignment resource is enabled */ + enabled?: boolean; + /** Format: date-time */ + last_modified?: string; + /** @description The URL to the slot configuration-campaign assignment. */ + link?: string; + /** + * Format: int32 + * @description The rank of the slot confiuration-campaign assignment. + * This is different than the rank of the slot configuration. + */ + rank?: number; + schedule?: components['schemas']['schedule']; + slot_configuration?: components['schemas']['slot_configuration']; + /** @description The ID of the slot configuration. */ + slot_configuration_id: string; + /** @description The UUID of the slot configuration. */ + slot_configuration_uuid?: string; + /** @description The ID of the slot's context, for example, the category ID for a slot with category context. */ + slot_context_id?: string; + /** @description The ID of the slot. */ + slot_id: string; + }; + slot_configuration_campaign_assignment_search_result: { + /** + * Format: int32 + * @description The number of returned documents + */ + count?: number; + data?: Record[]; + /** + * Format: int32 + * @description The zero-based index of the record that we want to start with, used to optimize special handling + */ + db_start_record_?: number; + /** @description List of expansions to be applied to each search results. Expands are optional */ + expand?: string[]; + /** @description The sorted array of search hits. Can be empty. */ + hits?: components['schemas']['slot_configuration_campaign_assignment'][]; + next?: components['schemas']['result_page']; + previous?: components['schemas']['result_page']; + query?: components['schemas']['query']; + /** @description The field to be selected. */ + select?: string; + /** @description The list of sort clauses configured for the search request. Sort clauses are optional. */ + sorts?: components['schemas']['sort'][]; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The number of returned documents + */ + total?: number; + }; + /** @description

Document representing a slot configuration search result.

*/ + slot_configuration_search_result: { + /** + * Format: int32 + * @description The number of returned documents + */ + count?: number; + data?: Record[]; + /** + * Format: int32 + * @description The zero-based index of the record that we want to start with, used to optimize special handling + */ + db_start_record_?: number; + /** @description List of expansions to be applied to each search results. Expands are optional */ + expand?: string[]; + /** @description The sorted array of search hits. This array can be empty. */ + hits?: components['schemas']['slot_configuration'][]; + next?: components['schemas']['result_page']; + previous?: components['schemas']['result_page']; + query?: components['schemas']['query']; + /** @description The field to be selected. */ + select?: string; + /** @description The list of sort clauses configured for the search request. Sort clauses are optional. */ + sorts?: components['schemas']['sort'][]; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The number of returned documents + */ + total?: number; + }; + /** @description

Document representing an unfiltered list of slot configurations.

*/ + slot_configurations: { + /** + * Format: int32 + * @description The number of returned documents. + */ + count?: number; + data?: components['schemas']['slot_configuration'][]; + /** @description The list of expands set for the search request. Expands are optional. */ + expand?: string[]; + /** @description The URL of the next result page. */ + next?: string; + /** @description The URL of the previous result page. */ + previous?: string; + /** @description The fields that you want to select. */ + select?: string; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The total number of documents. + */ + total?: number; + }; + /** @description

Document representing the content type for a slot.

*/ + slot_content: { + /** + * Format: localized + * @description The HTML body (valid only for type 'html'). + */ + body?: { + [key: string]: components['schemas']['markup_text']; + }; + /** @description The category ids (valid only for type 'categories'). */ + category_ids?: string[]; + /** @description The content asset ids (valid only for type 'content_assets'). */ + content_asset_ids?: string[]; + /** @description The product ids (valid only for type 'products'). */ + product_ids?: string[]; + /** + * @description The type of content in the slot. + * @enum {string} + */ + type: 'products' | 'categories' | 'content_assets' | 'html' | 'recommended_products'; + }; + /** @description

Document representing a slot search result.

*/ + slot_search_result: { + /** + * Format: int32 + * @description The number of returned documents + */ + count?: number; + data?: Record[]; + /** + * Format: int32 + * @description The zero-based index of the record that we want to start with, used to optimize special handling + */ + db_start_record_?: number; + /** @description List of expansions to be applied to each search results. Expands are optional */ + expand?: string[]; + /** @description The sorted array of search hits. Can be empty. */ + hits?: components['schemas']['slot'][]; + next?: components['schemas']['result_page']; + previous?: components['schemas']['result_page']; + query?: components['schemas']['query']; + /** @description The field to be selected. */ + select?: string; + /** @description The list of sort clauses configured for the search request. Sort clauses are optional. */ + sorts?: components['schemas']['sort'][]; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The number of returned documents + */ + total?: number; + }; + /** @description

Document representing an unfiltered list of slots.

*/ + slots: { + /** + * Format: int32 + * @description The number of returned documents. + */ + count?: number; + data?: components['schemas']['slot'][]; + /** @description The list of expands set for the search request. Expands are optional. */ + expand?: string[]; + /** @description The URL of the next result page. */ + next?: string; + /** @description The URL of the previous result page. */ + previous?: string; + /** @description The fields that you want to select. */ + select?: string; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The total number of documents. + */ + total?: number; + }; + /** @description

Document representing a sort request.

*/ + sort: { + /** @description The name of the field to sort on. */ + field: string; + /** + * @description The sort order to be applied when sorting. When omitted, the default sort order (ASC) is used. + * @enum {string} + */ + sort_order?: 'asc' | 'desc'; + }; + /** @description

Document representing a product sorting rule

*/ + sorting_rule: { + /** Format: date-time */ + creation_date?: string; + /** @description The description of the product sorting rule. */ + description?: string; + /** @description the id of product sorting rule. */ + id?: string; + /** Format: date-time */ + last_modified?: string; + /** @description the steps involved in sorting by this rule. */ + product_sorting_rule_steps?: components['schemas']['sorting_rule_step'][]; + /** @description The context of the rule, either site or global */ + rule_context?: string; + site?: string; + }; + /** @description

Document representing a source code group search result.

*/ + sorting_rule_search_result: { + /** + * Format: int32 + * @description The number of returned documents + */ + count?: number; + data?: Record[]; + /** + * Format: int32 + * @description The zero-based index of the record that we want to start with, used to optimize special handling + */ + db_start_record_?: number; + /** @description List of expansions to be applied to each search results. Expands are optional */ + expand?: string[]; + /** @description The sorted array of search hits. Can be empty. */ + hits?: components['schemas']['sorting_rule'][]; + next?: components['schemas']['result_page']; + previous?: components['schemas']['result_page']; + query?: components['schemas']['query']; + /** @description The field to be selected. */ + select?: string; + /** @description The list of sort clauses configured for the search request. Sort clauses are optional. */ + sorts?: components['schemas']['sort'][]; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The number of returned documents + */ + total?: number; + }; + /** @description

Document representing a product sorting rule step

*/ + sorting_rule_step: { + /** @description the id for sorting attribute. */ + attribute_id?: string; + /** + * @description the direction of the sorting attribute + * @enum {string} + */ + direction?: 'asc' | 'desc'; + /** @description whether or not the attribute is a system attribute. */ + is_system?: boolean; + /** + * Format: int32 + * @description the position of product sorting rule step. + */ + position?: number; + /** @description The text relevance included. */ + text_relevance_included?: boolean; + /** @description the sorting type for sorting attribute. */ + type_id?: string; + }; + /** @description

Document representing a source code group

*/ + source_code_group: { + /** @description The active flag, a computed value based on start and end time */ + active?: boolean; + active_redirect?: components['schemas']['source_code_redirect_info']; + /** + * Format: int32 + * @description The cookie duration in days + */ + cookie_duration?: number; + /** + * Format: date-time + * @description Returns the value of attribute 'creationDate'. + */ + readonly creation_date?: string; + /** @description The description */ + description?: string; + /** @description The enabled flag for storefront to consider the source code group, default to false. */ + enabled?: boolean; + /** + * Format: date-time + * @description The end time + */ + end_time?: string; + /** @description The id of source code group */ + id?: string; + inactive_redirect?: components['schemas']['source_code_redirect_info']; + /** + * Format: date-time + * @description Returns the value of attribute 'lastModified'. + */ + readonly last_modified?: string; + /** @description URL that is used to get this instance, read only */ + link?: string; + /** @description Source Code specifications */ + specifications?: components['schemas']['source_code_specification'][]; + /** + * Format: date-time + * @description The start time + */ + start_time?: string; + }; + /** @description

Document representing a source code group search result.

*/ + source_code_group_search_result: { + /** + * Format: int32 + * @description The number of returned documents + */ + count?: number; + data?: Record[]; + /** + * Format: int32 + * @description The zero-based index of the record that we want to start with, used to optimize special handling + */ + db_start_record_?: number; + /** @description List of expansions to be applied to each search results. Expands are optional */ + expand?: string[]; + /** @description The sorted array of search hits. Can be empty. */ + hits?: components['schemas']['source_code_group'][]; + next?: components['schemas']['result_page']; + previous?: components['schemas']['result_page']; + query?: components['schemas']['query']; + /** @description The field to be selected. */ + select?: string; + /** @description The list of sort clauses configured for the search request. Sort clauses are optional. */ + sorts?: components['schemas']['sort'][]; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The number of returned documents + */ + total?: number; + }; + /** @description

Document representing an unfiltered list of source code groups.

*/ + source_code_groups: { + /** + * Format: int32 + * @description The number of returned documents. + */ + count?: number; + data?: components['schemas']['source_code_group'][]; + /** @description The list of expands set for the search request. Expands are optional. */ + expand?: string[]; + /** @description The URL of the next result page. */ + next?: string; + /** @description The URL of the previous result page. */ + previous?: string; + /** @description The fields that you want to select. */ + select?: string; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The total number of documents. + */ + total?: number; + }; + /** @description

Document representing a source code redirect info

*/ + source_code_redirect_info: { + /** @description The location of redirect, based on the type, this can be a product location, category location, home page, content page, or just a URL */ + location?: string; + /** + * @description The type of redirect location, e.g. product (for a product page), category (a category page), home (for home page), page (for content), url (for a URL location) + * @enum {string} + */ + location_type?: 'default' | 'home' | 'product' | 'category' | 'page' | 'url'; + }; + /** @description

Document representing a source code specification

*/ + source_code_specification: { + /** + * @description

Expression is a value for the "Source Code Specification" may be a literal source code, or it may contain wildcards.

+ *

A literal code is simply the literal code. Valid characters are letters and numbers (no spaces).

+ *

A wildcard allows a single source code specification to match multiple source codes. The following wildcards are supported:

+ *
  • ? - Matches any single alpha-numeric character. For example: the source code specification 'ABC?' would match 'ABCD' or 'ABC3', but not 'ABCDE'.
  • + *
  • * - Matches any sequence of alpha-numeric characters. For example: the source code specification 'ABC*' would match 'ABCD', 'ABCDE', or 'ABC123'.
  • + *
  • [n1..n2] - Matches any number from n1 through and including n2. + * For example: the source code specification 'ABC[3..22]' would match 'ABC3', 'ABC4' or 'ABC22', but not 'ABC33' or 'ABCD'.
+ */ + expression?: string; + }; + status: { + /** @description Status code. */ + code?: string; + /** @description Status message. */ + message?: string; + /** + * @description Status shows successful operation end. + * @enum {string} + */ + status?: 'ok' | 'error'; + }; + status_metadata: { + /** @description The client ID that is responsible for the status. */ + client_id?: string; + /** @description The reason of the status. */ + reason?: string; + /** @description The user login that is responsible for the status. */ + user_login?: string; + }; + /** @description

Document representing a store

*/ + store: { + /** @description Returns the first address. */ + address1?: string; + /** @description Returns the second address value. */ + address2?: string; + /** @description Country Code Value - for the form values */ + c_countryCodeValue?: string; + /** @description Store Inventory List ID */ + c_inventoryListId?: string; + /** @description Returns the city. */ + city?: string; + /** + * @description The two-character country code per ISO 3166-1 alpha-2. + * @enum {string} + */ + country_code?: 'CA' | 'DE' | 'US'; + /** + * Format: date-time + * @description Returns the value of attribute 'creationDate'. + */ + readonly creation_date?: string; + /** @description Email address to contact the store */ + email?: string; + /** @description Returns the fax number . */ + fax?: string; + /** @description The id for the store */ + id?: string; + image?: components['schemas']['media_file']; + /** @description The inventory list associated with the store */ + inventory_id?: string; + /** + * Format: date-time + * @description Returns the value of attribute 'lastModified'. + */ + readonly last_modified?: string; + /** + * Format: double + * @description The latitude of the store + */ + latitude?: number; + /** @description a URL that is used to get this instance. The property is computed and cannot be changed. */ + link?: string; + /** + * Format: double + * @description The longitude of the store + */ + longitude?: number; + /** @description The name of the store */ + name?: string; + /** @description Returns the phone number. */ + phone?: string; + /** @description Whether this store uses our Store product for Point-of-Sale */ + pos_enabled?: boolean; + /** @description The postal code for the store */ + postal_code?: string; + /** @description Returns the customer's state. */ + state_code?: string; + /** + * Format: localized + * @description The store events (localized) + */ + store_events?: { + [key: string]: components['schemas']['markup_text']; + }; + /** + * Format: localized + * @description The store opening hours (localized) + */ + store_hours?: { + [key: string]: components['schemas']['markup_text']; + }; + /** @description Whether this store should appear in store locator searches */ + store_locator_enabled?: boolean; + }; + /** @description

Document representing a store search result.

*/ + store_search_result: { + /** + * Format: int32 + * @description The number of returned documents + */ + count?: number; + data?: Record[]; + /** + * Format: int32 + * @description The zero-based index of the record that we want to start with, used to optimize special handling + */ + db_start_record_?: number; + /** @description List of expansions to be applied to each search results. Expands are optional */ + expand?: string[]; + /** @description The sorted array of search hits. Can be empty. */ + hits?: components['schemas']['store'][]; + next?: components['schemas']['result_page']; + previous?: components['schemas']['result_page']; + query?: components['schemas']['query']; + /** @description The field to be selected. */ + select?: string; + /** @description The list of sort clauses configured for the search request. Sort clauses are optional. */ + sorts?: components['schemas']['sort'][]; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The number of returned documents + */ + total?: number; + }; + /** @description

Document representing an unfiltered list of stores.

*/ + stores: { + /** + * Format: int32 + * @description The number of returned documents. + */ + count?: number; + data?: components['schemas']['store'][]; + /** @description The list of expands set for the search request. Expands are optional. */ + expand?: string[]; + /** @description The URL of the next result page. */ + next?: string; + /** @description The URL of the previous result page. */ + previous?: string; + /** @description The fields that you want to select. */ + select?: string; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The total number of documents. + */ + total?: number; + }; + /** @description

Document representing a tag

*/ + tag: { + /** @description The id of the tag. */ + tag_id?: string; + }; + /** + * @description

Document representing a term filter. + * + * A term filter allows you to restrict a search result to hits that match (exactly) one of the values configured for the + * filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters + * whenever the criterion you filter on is a shared property of multiple searches (for example, like filtering by an + * order status). Use term filters for fields that have a discrete and small set of values only. + * + * Example: (id="my_id") + *

+     *         query: {
+     *             filtered_query: {
+     *                 query: { match_all_query: {} },
+     *                 filter: {
+     *                     term_filter: {
+     *                         field: "id",
+     *                         operator: "is",
+     *                         values: ["my_id"]
+     *                     }
+     *                 }
+     *             }
+     *         }
+     *       
+ * + * Example: (id IN ("my_id","other_id")) + *
+     *         query: {
+     *             filtered_query: {
+     *                 query: { match_all_query: {} },
+     *                 filter: {
+     *                     term_filter: {
+     *                         field: "id",
+     *                         operator: "one_of",
+     *                         values: ["my_id","other_id"]
+     *                     }
+     *                 }
+     *             }
+     *         }
+     *       
+ * + * Example: (description=NULL) + *
+     *         query: {
+     *             filtered_query: {
+     *                 query: { match_all_query: {} },
+     *                 filter: {
+     *                     term_filter: {
+     *                         field: "description",
+     *                         operator: "is_null"
+     *                     }
+     *                 }
+     *             }
+     *         }
+     *       

+ */ + term_filter: { + /** @description The filter field. */ + field: string; + /** + * @description The operator to compare the field's values with the given ones. + * @enum {string} + */ + operator: 'is' | 'one_of' | 'is_null' | 'is_not_null' | 'less' | 'greater' | 'not_in' | 'neq'; + /** @description The filter values. */ + values?: Record[]; + }; + /** + * @description

A term query matches one (or more) value(s) against one (or more) document field(s). A document is considered a hit + * if one of the values matches (exactly) with at least one of the given fields. The operator "is" can only take + * one value, while "one_of" can take multiple values. If multiple fields are specified, they are combined using the OR operator. + * The less and greater operators are not compatible with some search types. + * To query based on numeric bounds in those cases, you can use a range filter on a + * filtered query . + * + * Elastic only : If used with multiple fields, the query is internally handled as a boolean OR of DisjointMaxQueries (with the dismax + * matching a value against all fields). The dismax makes sure that a document carrying a single term in + * multiple fields does not get higher scores than a document matching multiple terms in multiple fields. + * + * Example: (id="my_id") + *

+     *      query: {
+     *          term_query: {
+     *              fields: ["id"],
+     *              operator: "is",
+     *              values: ["my_id"]
+     *          }
+     *      }
+     *       
+ * + * Example: (id IN ("my_id","other_id")) + *
+     *      query: {
+     *          term_query: {
+     *              fields: ["id"],
+     *              operator: "one_of",
+     *              values: ["my_id","other_id"]
+     *          }
+     *      }
+     *       
+ * + * Example: (id=null) + *
+     *      query: {
+     *          term_query: {
+     *             fields: ["description"],
+     *             operator: "is_null"
+     *         }
+     *      }
+     *       
+ * + * Example: ((id IN ('generic', 'keyword')) OR (description IN ('generic', 'keyword')) + *
+     *      query: {
+     *         term_query: {
+     *             fields: ["id", "description"],
+     *             operator: "one_of",
+     *             values: ["generic","keyword"]
+     *         }
+     *      }
+     *       

+ */ + term_query: { + /** @description The document field(s) the value(s) are matched against, combined with the operator. */ + fields: string[]; + /** + * @description Returns the operator to use for the term query. + * @enum {string} + */ + operator: 'is' | 'one_of' | 'is_null' | 'is_not_null' | 'less' | 'greater' | 'not_in' | 'neq'; + /** @description The values the field(s) are compared against, combined with the operator. */ + values?: Record[]; + }; + /** + * @description

A text query is used to match some text (i.e. a search phrase possibly consisting of multiple terms) against one or + * multiple fields. In case multiple fields are provided, the phrase conceptually forms a logical OR over the fields. In + * this case, the terms of the phrase basically have to match the text that would result from concatenating all + * given fields. + * + * Example: (coupon_id contains "xmas" ) + *

+     *         query: {
+     *             text_query: {
+     *                 fields: ["coupon_id"],
+     *                 search_phrase: "xmas"
+     *             }
+     *         }
+     *       
+ * + * Example: (coupon_id contains "xmas" OR description contains "xmas") + *
+     *         query: {
+     *             text_query: {
+     *                 fields: ["description", "coupon_id"],
+     *                 search_phrase: "xmas"
+     *             }
+     *         }
+     *       
+ * + * Example: (description contains "holiday" AND description contains "bojo") + *
+     *         query: {
+     *             text_query: {
+     *                 fields: ["description"],
+     *                 search_phrase: "holiday bogo"
+     *             }
+     *         }
+     *       

+ */ + text_query: { + /** @description The document fields the search phrase has to match. */ + fields: string[]; + /** @description A search phrase which may consist of multiple terms. */ + search_phrase: string; + }; + /** @description

Document representing a time schedule within a single day.

*/ + time_of_day: { + /** + * Format: time + * @description The time to start from. Time format: HH:mm:ss. Seconds + * are ignored and set to 0. + */ + time_from?: string; + /** + * Format: time + * @description The time to end on. Time format: HH:mm:ss. Seconds + * are ignored and set to 0. + */ + time_to?: string; + }; + /** @description

Document representing a user.

*/ + user: { + /** Format: date-time */ + creation_date?: string; + /** @description Flag whether the user is disabled. */ + disabled?: boolean; + /** @description The email address. */ + email: string; + /** @description The external id. This attribute is only valid when the user uses centralized authentication. */ + external_id?: string; + /** @description The first name. */ + first_name?: string; + /** + * Format: date + * @description Last login of the user. + */ + last_login_date?: string; + /** Format: date-time */ + last_modified?: string; + /** @description The last name. */ + last_name: string; + /** @description URL that is used to get this instance. This property is computed and cannot be modified. */ + link?: string; + /** @description Flag whether the user is locked. */ + locked?: boolean; + /** @description The user login. */ + login?: string; + /** + * @description The password. This attribute is only used to set the password upon user creation. + * This attribute is only valid when the user does not use centralized authentication. + */ + password?: string; + /** + * Format: date-time + * @description The user password expiration time + */ + password_expiration_date?: string; + /** + * Format: date-time + * @description The time, where the password was last modified + */ + password_modification_date?: string; + /** + * @description The effective preferred data locale of the user. A locale is only considered if the user has at least read + * permission on the locale. + */ + preferred_data_locale?: string; + /** @description The preferred UI locale of the user. */ + preferred_ui_locale?: string; + /** @description List of role ids the user is assigned to. */ + roles?: string[]; + }; + /** @description

Document representing an user search result.

*/ + user_search_result: { + /** + * Format: int32 + * @description The number of returned documents + */ + count?: number; + data?: Record[]; + /** + * Format: int32 + * @description The zero-based index of the record that we want to start with, used to optimize special handling + */ + db_start_record_?: number; + /** @description List of expansions to be applied to each search results. Expands are optional */ + expand?: string[]; + /** @description The sorted array of search hits. Can be empty. */ + hits?: components['schemas']['user'][]; + next?: components['schemas']['result_page']; + previous?: components['schemas']['result_page']; + query?: components['schemas']['query']; + /** @description The field to be selected. */ + select?: string; + /** @description The list of sort clauses configured for the search request. Sort clauses are optional. */ + sorts?: components['schemas']['sort'][]; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The number of returned documents + */ + total?: number; + }; + /** @description

Document representing a list of users.

*/ + users: { + /** + * Format: int32 + * @description The number of returned documents. + */ + count?: number; + /** @description The list of users. */ + data?: components['schemas']['user'][]; + /** @description The list of expands set for the search request. Expands are optional. */ + expand?: string[]; + /** @description The URL of the next result page. */ + next?: string; + /** @description The URL of the previous result page. */ + previous?: string; + /** @description The fields that you want to select. */ + select?: string; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The total number of documents. + */ + total?: number; + }; + /** @description

Document representing a product variation.

*/ + variant: { + /** + * Format: double + * @description Inventory "Available to Sell" of the product. + */ + ats?: number; + default_product_variation?: boolean; + image?: components['schemas']['media_file']; + /** @description true if the product is in stock, or false if not. */ + in_stock?: boolean; + /** @description The URL addressing the product. */ + link?: string; + /** + * @description If the product is currently online. + * true if online + * false if not + */ + online?: boolean; + /** @description A flag indicating whether the variant is orderable. */ + orderable?: boolean; + /** + * Format: double + * @description The sales price of the variant. + */ + price?: number; + /** @description Currency code for the price of the product. */ + price_currency?: string; + /** + * Format: double + * @description The sales price of the variant. + */ + price_per_unit?: number; + /** @description The id (SKU) of the variant. */ + product_id: string; + /** Format: site-specific */ + searchable?: { + [key: string]: boolean; + }; + /** @description variation attributes */ + variation_attributes?: components['schemas']['variation_attribute'][]; + /** @description The actual variation attribute id - value pairs. */ + variation_values?: { + [key: string]: string; + }; + }; + /** @description

Document that represents a search on certificates and keys.

*/ + variant_search_result: { + /** + * Format: int32 + * @description The number of returned documents + */ + count?: number; + data?: Record[]; + /** + * Format: int32 + * @description The zero-based index of the record that we want to start with, used to optimize special handling + */ + db_start_record_?: number; + /** @description List of expansions to be applied to each search results. Expands are optional */ + expand?: string[]; + /** @description The hits from the search */ + hits?: components['schemas']['variant'][]; + next?: components['schemas']['result_page']; + previous?: components['schemas']['result_page']; + query?: components['schemas']['query']; + /** @description The field to be selected. */ + select?: string; + /** @description The list of sort clauses configured for the search request. Sort clauses are optional. */ + sorts?: components['schemas']['sort'][]; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The number of returned documents + */ + total?: number; + }; + /** @description

Document representing an unfiltered list of variants.

*/ + variants: { + /** + * Format: int32 + * @description The number of returned documents. + */ + count?: number; + data?: components['schemas']['variant'][]; + /** @description The list of expands set for the search request. Expands are optional. */ + expand?: string[]; + /** @description The URL of the next result page. */ + next?: string; + /** @description The URL of the previous result page. */ + previous?: string; + /** @description The fields that you want to select. */ + select?: string; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The total number of documents. + */ + total?: number; + }; + /** @description

Document representing a variation attribute.

*/ + variation_attribute: { + /** @description The id of the requested attribute definition. */ + attribute_definition_id: string; + /** + * Format: localized + * @description The localized display name of the variation attribute definition. + */ + attribute_definition_name?: { + [key: string]: string; + }; + /** @description default variation attribute value */ + default_value?: string; + /** @description The id of the variation attribute. */ + id?: string; + /** @description URL that is used to get this instance */ + link?: string; + /** + * Format: localized + * @description The localized display name of the variation attribute. + */ + name?: { + [key: string]: string; + }; + /** @description Returns the value of attribute 'shared' if attribute is local or shared */ + shared?: boolean; + /** @description Returns the value of attribute 'slicing'. */ + slicing?: boolean; + /** @description The sorted array of variation values. This array can be empty. */ + values?: components['schemas']['variation_attribute_value'][]; + /** + * @description variation attribute type + * @enum {string} + */ + variation_attribute_type?: 'string' | 'int' | 'unknown'; + }; + /** @description

Document representing a variation attribute value.

*/ + variation_attribute_value: { + /** + * Format: localized + * @description The localized description of the variation value. + */ + description?: { + [key: string]: string; + }; + image?: components['schemas']['media_file']; + image_swatch?: components['schemas']['media_file']; + link?: string; + /** + * Format: localized + * @description The localized display name of the variation value. + */ + name?: { + [key: string]: string; + }; + /** @description A flag indicating whether at least one variant with this variation attribute value is available to sell. */ + orderable?: boolean; + /** + * Format: double + * @description The position of the value among all values of a variation attribute. + */ + position?: number; + /** @description The actual variation value. */ + value: string; + }; + /** @description

Document representing an unfiltered list of variation attribute values.

*/ + variation_attribute_values: { + /** + * Format: int32 + * @description The number of returned documents. + */ + count?: number; + data?: components['schemas']['variation_attribute_value'][]; + /** @description The list of expands set for the search request. Expands are optional. */ + expand?: string[]; + /** @description The URL of the next result page. */ + next?: string; + /** @description The URL of the previous result page. */ + previous?: string; + /** @description The fields that you want to select. */ + select?: string; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The total number of documents. + */ + total?: number; + }; + /** @description

Document representing an unfiltered list of variation attributes.

*/ + variation_attributes: { + /** + * Format: int32 + * @description The number of returned documents. + */ + count?: number; + data?: components['schemas']['variation_attribute'][]; + /** @description The list of expands set for the search request. Expands are optional. */ + expand?: string[]; + /** @description The URL of the next result page. */ + next?: string; + /** @description The URL of the previous result page. */ + previous?: string; + /** @description The fields that you want to select. */ + select?: string; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The total number of documents. + */ + total?: number; + }; + /** @description

Document representing a variation group.

*/ + variation_group: { + /** @description The URL addressing the product. */ + link?: string; + /** @description A flag indicating whether the variation group is orderable. */ + orderable?: boolean; + /** + * Format: double + * @description The sales price of the variation group. + */ + price?: number; + /** + * Format: double + * @description The sales price per unit of the variation group. + */ + price_per_unit?: number; + /** @description The id (SKU) of the variation group. */ + product_id?: string; + /** @description The actual variation attribute id - value pairs. */ + variation_values?: { + [key: string]: string; + }; + }; + /** @description

Document representing an unfiltered list of variation groups.

*/ + variation_groups: { + /** + * Format: int32 + * @description The number of returned documents. + */ + count?: number; + data?: components['schemas']['variation_group'][]; + /** @description The list of expands set for the search request. Expands are optional. */ + expand?: string[]; + /** @description The URL of the next result page. */ + next?: string; + /** @description The URL of the previous result page. */ + previous?: string; + /** @description The fields that you want to select. */ + select?: string; + /** + * Format: int32 + * @description The zero-based index of the first search hit to include in the result. + */ + start?: number; + /** + * Format: int32 + * @description The total number of documents. + */ + total?: number; + }; + /** @description

Object to represent the Version Range. Used in resources_object.

*/ + version_range_object: { + /** @description Starting version */ + from?: string; + /** @description Ending version */ + until?: string; + }; + /** @description

Document representing a WebDAV permission.

*/ + webdav_permission: { + /** + * Format: localized + * @description The description of the WebDAV permission. + */ + description?: { + [key: string]: string; + }; + /** @description The folder of the WebDAV permission. */ + folder?: string; + /** @description The permission type. */ + type?: string; + /** @description The list of possible values for the WebDAV permission, e.g. ACCESS or READONLY. */ + values?: string[]; + }; + /** @description

Document representing the available WebDAV permissions.

*/ + webdav_permissions: { + /** @description The available WebDAV permission scopes (e.g. unscoped). */ + scopes?: string[]; + /** @description The collection of available unscoped WebDAV permissions. */ + unscoped?: components['schemas']['webdav_permission'][]; + }; + }; + responses: never; + parameters: never; + requestBodies: { + variation_attribute: { + content: { + 'application/json': components['schemas']['variation_attribute']; + 'text/xml': components['schemas']['variation_attribute']; + 'application/xml': components['schemas']['variation_attribute']; + }; + }; + variation_attribute_value: { + content: { + 'application/json': components['schemas']['variation_attribute_value']; + 'text/xml': components['schemas']['variation_attribute_value']; + 'application/xml': components['schemas']['variation_attribute_value']; + }; + }; + variant: { + content: { + 'application/json': components['schemas']['variant']; + 'text/xml': components['schemas']['variant']; + 'application/xml': components['schemas']['variant']; + }; + }; + coupon: { + content: { + 'application/json': components['schemas']['coupon']; + 'text/xml': components['schemas']['coupon']; + 'application/xml': components['schemas']['coupon']; + }; + }; + store: { + content: { + 'application/json': components['schemas']['store']; + 'text/xml': components['schemas']['store']; + 'application/xml': components['schemas']['store']; + }; + }; + customer: { + content: { + 'application/json': components['schemas']['customer']; + 'text/xml': components['schemas']['customer']; + 'application/xml': components['schemas']['customer']; + }; + }; + object_attribute_definition: { + content: { + 'application/json': components['schemas']['object_attribute_definition']; + 'text/xml': components['schemas']['object_attribute_definition']; + 'application/xml': components['schemas']['object_attribute_definition']; + }; + }; + product_inventory_record: { + content: { + 'application/json': components['schemas']['product_inventory_record']; + 'text/xml': components['schemas']['product_inventory_record']; + 'application/xml': components['schemas']['product_inventory_record']; + }; + }; + variation_group: { + content: { + 'application/json': components['schemas']['variation_group']; + 'text/xml': components['schemas']['variation_group']; + 'application/xml': components['schemas']['variation_group']; + }; + }; + content_asset: { + content: { + 'application/json': components['schemas']['content_asset']; + 'text/xml': components['schemas']['content_asset']; + 'application/xml': components['schemas']['content_asset']; + }; + }; + source_code_group: { + content: { + 'application/json': components['schemas']['source_code_group']; + 'text/xml': components['schemas']['source_code_group']; + 'application/xml': components['schemas']['source_code_group']; + }; + }; + gift_certificate: { + content: { + 'application/json': components['schemas']['gift_certificate']; + 'text/xml': components['schemas']['gift_certificate']; + 'application/xml': components['schemas']['gift_certificate']; + }; + }; + search_request: { + content: { + 'application/json': components['schemas']['search_request']; + 'text/xml': components['schemas']['search_request']; + 'application/xml': components['schemas']['search_request']; + }; + }; + product_option: { + content: { + 'application/json': components['schemas']['product_option']; + 'text/xml': components['schemas']['product_option']; + 'application/xml': components['schemas']['product_option']; + }; + }; + inventory_list: { + content: { + 'application/json': components['schemas']['inventory_list']; + 'text/xml': components['schemas']['inventory_list']; + 'application/xml': components['schemas']['inventory_list']; + }; + }; + ocapi_configs_api_request: { + content: { + 'application/json': components['schemas']['ocapi_configs_api_request']; + 'text/xml': components['schemas']['ocapi_configs_api_request']; + 'application/xml': components['schemas']['ocapi_configs_api_request']; + }; + }; + user: { + content: { + 'application/json': components['schemas']['user']; + 'text/xml': components['schemas']['user']; + 'application/xml': components['schemas']['user']; + }; + }; + product: { + content: { + 'application/json': components['schemas']['product']; + 'text/xml': components['schemas']['product']; + 'application/xml': components['schemas']['product']; + }; + }; + category: { + content: { + 'application/json': components['schemas']['category']; + 'text/xml': components['schemas']['category']; + 'application/xml': components['schemas']['category']; + }; + }; + category_link: { + content: { + 'application/json': components['schemas']['category_link']; + 'text/xml': components['schemas']['category_link']; + 'application/xml': components['schemas']['category_link']; + }; + }; + product_option_value: { + content: { + 'application/json': components['schemas']['product_option_value']; + 'text/xml': components['schemas']['product_option_value']; + 'application/xml': components['schemas']['product_option_value']; + }; + }; + object_attribute_group: { + content: { + 'application/json': components['schemas']['object_attribute_group']; + 'text/xml': components['schemas']['object_attribute_group']; + 'application/xml': components['schemas']['object_attribute_group']; + }; + }; + custom_object: { + content: { + 'application/json': components['schemas']['custom_object']; + 'text/xml': components['schemas']['custom_object']; + 'application/xml': components['schemas']['custom_object']; + }; + }; + custom_object2: { + content: { + 'application/json': components['schemas']['custom_object']; + 'text/xml': components['schemas']['custom_object']; + 'application/xml': components['schemas']['custom_object']; + }; + }; + customer_address: { + content: { + 'application/json': components['schemas']['customer_address']; + 'text/xml': components['schemas']['customer_address']; + 'application/xml': components['schemas']['customer_address']; + }; + }; + content_folder: { + content: { + 'application/json': components['schemas']['content_folder']; + 'text/xml': components['schemas']['content_folder']; + 'application/xml': components['schemas']['content_folder']; + }; + }; + ab_test: { + content: { + 'application/json': components['schemas']['ab_test']; + 'text/xml': components['schemas']['ab_test']; + 'application/xml': components['schemas']['ab_test']; + }; + }; + ab_test_segment: { + content: { + 'application/json': components['schemas']['ab_test_segment']; + 'text/xml': components['schemas']['ab_test_segment']; + 'application/xml': components['schemas']['ab_test_segment']; + }; + }; + campaign: { + content: { + 'application/json': components['schemas']['campaign']; + 'text/xml': components['schemas']['campaign']; + 'application/xml': components['schemas']['campaign']; + }; + }; + customer_group: { + content: { + 'application/json': components['schemas']['customer_group']; + 'text/xml': components['schemas']['customer_group']; + 'application/xml': components['schemas']['customer_group']; + }; + }; + promotion: { + content: { + 'application/json': components['schemas']['promotion']; + 'text/xml': components['schemas']['promotion']; + 'application/xml': components['schemas']['promotion']; + }; + }; + slot_configuration: { + content: { + 'application/json': components['schemas']['slot_configuration']; + 'text/xml': components['schemas']['slot_configuration']; + 'application/xml': components['schemas']['slot_configuration']; + }; + }; + }; + headers: never; + pathItems: never; +} +export type $defs = Record; +export interface operations { + getAlertsDescriptors: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['alert_descriptors']; + 'text/xml': components['schemas']['alert_descriptors']; + 'application/xml': components['schemas']['alert_descriptors']; + }; + }; + }; + }; + getAlertsDescriptorsByID: { + parameters: { + query?: { + /** @description The application context path (optional). */ + application_context_path?: string; + }; + header?: never; + path: { + /** @description The application ID. */ + application_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['alert_descriptors']; + 'text/xml': components['schemas']['alert_descriptors']; + 'application/xml': components['schemas']['alert_descriptors']; + }; + }; + }; + }; + getAlertsDescriptorsByIDByIDByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The application ID. */ + application_id: string; + /** @description The application context path. */ + application_context_path: string; + /** @description The message ID. */ + message_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `AlertDescriptorNotFoundException` - If no alert descriptor was found for the given path. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['alert_descriptor']; + 'text/xml': components['schemas']['alert_descriptor']; + 'application/xml': components['schemas']['alert_descriptor']; + }; + }; + }; + }; + patchAlertsDescriptorsByIDByIDByIDRevalidate: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The application ID. */ + application_id: string; + /** @description The application context path. */ + application_context_path: string; + /** @description The message ID. */ + message_id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + 'application/json': components['schemas']['alert_descriptors_revalidation_request']; + 'text/xml': components['schemas']['alert_descriptors_revalidation_request']; + 'application/xml': components['schemas']['alert_descriptors_revalidation_request']; + }; + }; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ContextObjectIdRequiredException` - If the descriptor is context specific but no context object id was provided in the request body. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `AlertDescriptorNotFoundException` - If no matching alert descriptor was found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + getAlertsUsersettings: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['alert_settings']; + 'text/xml': components['schemas']['alert_settings']; + 'application/xml': components['schemas']['alert_settings']; + }; + }; + }; + }; + patchAlertsUsersettings: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + 'application/json': components['schemas']['alert_settings']; + 'text/xml': components['schemas']['alert_settings']; + 'application/xml': components['schemas']['alert_settings']; + }; + }; + responses: { + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['alert_settings']; + 'text/xml': components['schemas']['alert_settings']; + 'application/xml': components['schemas']['alert_settings']; + }; + }; + }; + }; + postCatalogSearch: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: components['requestBodies']['search_request']; + responses: { + /** @description `MalformedSearchParameterException` - Thrown if the query is ill-formed. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['catalog_search_result']; + 'text/xml': components['schemas']['catalog_search_result']; + 'application/xml': components['schemas']['catalog_search_result']; + }; + }; + }; + }; + getCatalogs: { + parameters: { + query?: { + /** @description Optional start index for retrieving the items from a given index (default 0). */ + start?: number; + /** @description Optional count for retrieving only a subset of the items (default is 25). */ + count?: number; + /** @description The property selector. */ + select?: string; + expand?: string[]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['catalogs']; + 'text/xml': components['schemas']['catalogs']; + 'application/xml': components['schemas']['catalogs']; + }; + }; + }; + }; + getCatalogsByID: { + parameters: { + query?: { + expand?: string[]; + /** @description the selector for the get. If not passed, the defaultSelector will be used instead. */ + select?: string; + }; + header?: never; + path: { + /** @description The id of the requested catalog. */ + catalog_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `CatalogNotFoundException` - Thrown in case the catalog does not exist matching the given id or the catalog identified was already in deletion. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['catalog']; + 'text/xml': components['schemas']['catalog']; + 'application/xml': components['schemas']['catalog']; + }; + }; + }; + }; + patchCatalogsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the requested catalog. */ + catalog_id: string; + }; + cookie?: never; + }; + requestBody: { + content: { + 'application/json': components['schemas']['catalog']; + 'text/xml': components['schemas']['catalog']; + 'application/xml': components['schemas']['catalog']; + }; + }; + responses: { + /** @description `CatalogNotFoundException` - Thrown in case the catalog id is unknown. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['catalog']; + 'text/xml': components['schemas']['catalog']; + 'application/xml': components['schemas']['catalog']; + }; + }; + }; + }; + getCatalogsByIDCategories: { + parameters: { + query?: { + /** @description Optional start index for retrieving the items from a given index (default 0). */ + start?: number; + /** @description Optional count for retrieving only a subset of the items (default is 25). */ + count?: number; + /** @description The property selector. */ + select?: string; + expand?: string[]; + }; + header?: never; + path: { + catalog_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `CatalogNotFoundException` - Indicates that the catalog is not provided in the request. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['categories']; + 'text/xml': components['schemas']['categories']; + 'application/xml': components['schemas']['categories']; + }; + }; + }; + }; + getCatalogsByIDCategoriesByID: { + parameters: { + query?: { + /** + * @description Specifies how many levels of nested sub-categories you want the server to return. The default value + * is 1. + */ + levels?: number; + /** @description the expansion that client can use to specify and retrieve further information about the category (Internal use only for now). */ + expand?: string[]; + }; + header?: never; + path: { + /** @description the id of the catalog that the category belongs to */ + catalog_id: string; + /** @description the id of the category requested */ + category_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** + * @description `CatalogNotFoundException` - Indicates that the catalog is not provided in the request. or `CategoryNotFoundException` - Indicates that the category does not exist for the catalog provided in + * the request. + */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['category']; + 'text/xml': components['schemas']['category']; + 'application/xml': components['schemas']['category']; + }; + }; + }; + }; + putCatalogsByIDCategoriesByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the catalog. */ + catalog_id: string; + /** @description The id of the category to be created */ + category_id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['category']; + responses: { + /** + * @description `CategoryInvalidException` - Indicates that the category in the request is not valid + * (the argument indicates the field that was invalid). or `IdConflictException` - Indicates that the category ID in the request URL does not match the category ID in the request body. + */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `CatalogNotFoundException` - Indicates that the catalog is not provided in the request. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['category']; + 'text/xml': components['schemas']['category']; + 'application/xml': components['schemas']['category']; + }; + }; + }; + }; + deleteCatalogsByIDCategoriesByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The site context. */ + catalog_id: string; + /** @description The category id to remove */ + category_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** + * @description `CatalogNotFoundException` - Indicates that the catalog is not provided in the request. or `CategoryNotFoundException` - Indicates that the category does not exist for the catalog provided in + * the request. + */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + patchCatalogsByIDCategoriesByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the catalog. */ + catalog_id: string; + /** @description The id of the category */ + category_id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['category']; + responses: { + /** + * @description `CategoryInvalidException` - Indicates that the category in the request is not valid + * (the argument indicates the field that was invalid). + */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** + * @description `CatalogNotFoundException` - Indicates that the catalog is not provided in the request. or `CategoryNotFoundException` - Indicates that the category does not exist for the catalog provided in + * the request. + */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['category']; + 'text/xml': components['schemas']['category']; + 'application/xml': components['schemas']['category']; + }; + }; + }; + }; + getCatalogsByIDCategoriesByIDCategoryLinks: { + parameters: { + query?: { + start?: number; + count?: number; + /** @description Optional select clause for getting fields from the returned JSON document. */ + select?: string; + }; + header?: never; + path: { + /** @description The id of the catalog. */ + catalog_id: string; + /** @description The id of the source category. */ + category_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `CatalogNotFoundException` - Thrown in case the source catalog does not exist or `CategoryNotFoundException` - Thrown in case the source category does not exist */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['category_links']; + 'text/xml': components['schemas']['category_links']; + 'application/xml': components['schemas']['category_links']; + }; + }; + }; + }; + getCatalogsByIDCategoriesByIDCategoryLinksByIDByIDByID: { + parameters: { + query?: { + /** @description Optional select clause for getting fields from the returned JSON document. */ + select?: string; + }; + header?: never; + path: { + /** @description The id of the source catalog. */ + catalog_id: string; + /** @description The id of the source category. */ + category_id: string; + /** @description The id of the target catalog. */ + target_catalog_id: string; + /** @description The id of the target category. */ + target_category_id: string; + /** @description the link type */ + type: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `CatalogNotFoundException` - Thrown in case the source catalog or the target catalog do not exist or `CategoryLinkNotFoundException` - Thrown in case the category link does not exist from the source catalog/category to the destination catalog/category with the given type. or `CategoryNotFoundException` - Thrown in case the source category or the target category do not exist */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['category_link']; + 'text/xml': components['schemas']['category_link']; + 'application/xml': components['schemas']['category_link']; + }; + }; + }; + }; + putCatalogsByIDCategoriesByIDCategoryLinksByIDByIDByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the source catalog. */ + catalog_id: string; + /** @description The id of the source category. */ + category_id: string; + /** @description The id of the target catalog. */ + target_catalog_id: string; + /** @description The id of the target category. */ + target_category_id: string; + /** @description the link type */ + type: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['category_link']; + responses: { + /** @description `CatalogNotFoundException` - Thrown in case the source catalog or the target catalog do not exist or `CategoryNotFoundException` - Thrown in case the source category or the target category do not exist */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['category_link']; + 'text/xml': components['schemas']['category_link']; + 'application/xml': components['schemas']['category_link']; + }; + }; + }; + }; + deleteCatalogsByIDCategoriesByIDCategoryLinksByIDByIDByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the source catalog. */ + catalog_id: string; + /** @description The id of the source category. */ + category_id: string; + /** @description The id of the target catalog. */ + target_catalog_id: string; + /** @description The id of the target category. */ + target_category_id: string; + /** @description the link type */ + type: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `CatalogNotFoundException` - Thrown in case the source catalog or the target catalog do not exist or `CategoryLinkNotFoundException` - Thrown in case the category link does not exist from the source catalog/category to the destination catalog/category with the given type. or `CategoryNotFoundException` - Thrown in case the source category or the target category do not exist */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + patchCatalogsByIDCategoriesByIDCategoryLinksByIDByIDByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the source catalog. */ + catalog_id: string; + /** @description The id of the source category. */ + category_id: string; + /** @description The id of the target catalog. */ + target_catalog_id: string; + /** @description The id of the target category. */ + target_category_id: string; + /** @description the link type */ + type: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['category_link']; + responses: { + /** @description `CatalogNotFoundException` - Thrown in case the source catalog or the target catalog do not exist or `CategoryLinkNotFoundException` - Thrown in case the category link does not exist from the source catalog/category to the destination catalog/category with the given type. or `CategoryNotFoundException` - Thrown in case the source category or the target category do not exist */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['category_link']; + 'text/xml': components['schemas']['category_link']; + 'application/xml': components['schemas']['category_link']; + }; + }; + }; + }; + postCatalogsByIDCategoriesByIDCategoryProductAssignmentSearch: { + parameters: { + query?: { + /** @description The site context. */ + site_id?: string; + }; + header?: never; + path: { + /** @description The id of the catalog. */ + catalog_id: string; + /** @description The id of the category. */ + category_id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + 'application/json': components['schemas']['category_product_assignment_search_request']; + 'text/xml': components['schemas']['category_product_assignment_search_request']; + 'application/xml': components['schemas']['category_product_assignment_search_request']; + }; + }; + responses: { + /** @description `MalformedSearchParameterException` - Thrown if the query is ill-formed. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `CatalogNotFoundException` - Thrown if the catalog does not exist matching the given category_id. or `CategoryNotFoundException` - Thrown if the category does not exist matching the given catalog_id. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['category_product_assignment_search_result']; + 'text/xml': components['schemas']['category_product_assignment_search_result']; + 'application/xml': components['schemas']['category_product_assignment_search_result']; + }; + }; + }; + }; + getCatalogsByIDCategoriesByIDProductsByID: { + parameters: { + query?: { + /** @description The site context. */ + site_id?: string; + /** @description The List of expansion values applied to the product associated to the assignment. */ + expand?: string[]; + /** @description The selector for the get. If not passed, then the defaultSelector will be used instead. */ + select?: string; + }; + header?: never; + path: { + /** @description The catalog of the assignment. */ + catalog_id: string; + /** @description The id of the requested category. */ + category_id: string; + /** @description The id (SKU) of the requested assigned product. */ + product_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `CatalogNotFoundException` - Thrown if the catalog does not exist matching the given id. or `CategoryNotFoundException` - Thrown if the category does not exist matching the given id. or `CategoryProductAssignmentNotFoundException` - Thrown if the category product assignment does not exist matching the given ids. or `ProductNotFoundException` - Thrown if the product does not exist matching the given id. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['category_product_assignment']; + 'text/xml': components['schemas']['category_product_assignment']; + 'application/xml': components['schemas']['category_product_assignment']; + }; + }; + }; + }; + putCatalogsByIDCategoriesByIDProductsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the requested catalog to which to assign the product. */ + catalog_id: string; + /** @description The id of the requested category to which to assign the product. */ + category_id: string; + /** @description The id (SKU) of the requested product to assign. */ + product_id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + 'application/json': components['schemas']['category_product_assignment']; + 'text/xml': components['schemas']['category_product_assignment']; + 'application/xml': components['schemas']['category_product_assignment']; + }; + }; + responses: { + /** @description `IdConflictException` - if the Id in request is not the same as the ID in document. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `CatalogNotFoundException` - Thrown if the catalog does not exist matching the given id. or `CategoryNotFoundException` - Thrown if the category does not exist matching the given id. or `ProductNotFoundException` - Thrown if the product does not exist matching the given id. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['category_product_assignment']; + 'text/xml': components['schemas']['category_product_assignment']; + 'application/xml': components['schemas']['category_product_assignment']; + }; + }; + }; + }; + deleteCatalogsByIDCategoriesByIDProductsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The catalog of the assignment. */ + catalog_id: string; + /** @description The id of the requested category. */ + category_id: string; + /** @description The id of the requested product to un-assign. */ + product_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `CatalogNotFoundException` - Thrown if the catalog does not exist matching the given id. or `CategoryNotFoundException` - Thrown if the category does not exist matching the given id. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + patchCatalogsByIDCategoriesByIDProductsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the requested catalog to which the product is assigned. */ + catalog_id: string; + /** @description The id of the requested category to which the product is assigned. */ + category_id: string; + /** @description The id (SKU) of the requested assigned product. */ + product_id: string; + }; + cookie?: never; + }; + requestBody: { + content: { + 'application/json': components['schemas']['category_product_assignment']; + 'text/xml': components['schemas']['category_product_assignment']; + 'application/xml': components['schemas']['category_product_assignment']; + }; + }; + responses: { + /** @description `CatalogNotFoundException` - Thrown if the catalog does not exist matching the given id. or `CategoryNotFoundException` - Thrown if the category does not exist matching the given id. or `CategoryProductAssignmentNotFoundException` - Thrown if the category product assignment does not exist. or `ProductNotFoundException` - Thrown if the product does not exist matching the given id. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['category_product_assignment']; + 'text/xml': components['schemas']['category_product_assignment']; + 'application/xml': components['schemas']['category_product_assignment']; + }; + }; + }; + }; + postCatalogsByIDCategorySearch: { + parameters: { + query?: { + levels?: number; + }; + header?: never; + path: { + /** @description The id of the catalog. */ + catalog_id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['search_request']; + responses: { + /** @description `MalformedSearchParameterException` - Thrown if the query is ill-formed. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `CatalogNotFoundException` - Thrown if the specified catalog does not exist. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['category_search_result']; + 'text/xml': components['schemas']['category_search_result']; + 'application/xml': components['schemas']['category_search_result']; + }; + }; + }; + }; + getCatalogsByIDSharedProductOptions: { + parameters: { + query?: { + /** @description Optional start index for retrieving the items from a given index (default 0). */ + start?: number; + /** @description Optional count for retrieving only a subset of the items (default is 25). */ + count?: number; + /** @description The property selector. */ + select?: string; + /** @description The currency mnemonic for retrieving the product option values according to the sorting mode.ex:'USD' */ + currency?: string; + }; + header?: never; + path: { + /** @description The id of the catalog. */ + catalog_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `CatalogNotFoundException` - Indicates the catalog is not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['product_options']; + 'text/xml': components['schemas']['product_options']; + 'application/xml': components['schemas']['product_options']; + }; + }; + }; + }; + getCatalogsByIDSharedProductOptionsByID: { + parameters: { + query?: { + /** @description The currency mnemonic for retrieving the product option values according to the sorting mode.ex:'USD' */ + currency?: string; + }; + header?: never; + path: { + /** @description The id of the catalog. */ + catalog_id: string; + /** @description The id of the shared product option. */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `CatalogNotFoundException` - Indicates the catalog is not found. or `ProductOptionNotFoundException` - Indicates the shared product option is not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['product_option']; + 'text/xml': components['schemas']['product_option']; + 'application/xml': components['schemas']['product_option']; + }; + }; + }; + }; + putCatalogsByIDSharedProductOptionsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the catalog. */ + catalog_id: string; + /** @description The id of the shared product option. */ + id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['product_option']; + responses: { + /** @description `ProductOptionDuplicateException` - Indicates the shared product option is a duplicate. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `AttributeDefinitionNotFoundException` - Indicates the id specified is not a valid attribute definition. or `CatalogNotFoundException` - Indicates the catalog is not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['product_option']; + 'text/xml': components['schemas']['product_option']; + 'application/xml': components['schemas']['product_option']; + }; + }; + }; + }; + deleteCatalogsByIDSharedProductOptionsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the catalog. */ + catalog_id: string; + /** @description The id of the shared product option. */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `CatalogNotFoundException` - Indicates the catalog is not found. or `ProductOptionNotFoundException` - Indicates the shared product option is not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + patchCatalogsByIDSharedProductOptionsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the catalog. */ + catalog_id: string; + /** @description The id of the shared product option. */ + id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['product_option']; + responses: { + /** @description `CatalogNotFoundException` - Indicates the catalog is not found. or `ProductOptionNotFoundException` - Indicates the shared product option is not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['product_option']; + 'text/xml': components['schemas']['product_option']; + 'application/xml': components['schemas']['product_option']; + }; + }; + }; + }; + getCatalogsByIDSharedProductOptionsByIDValues: { + parameters: { + query?: { + /** @description Optional start index for retrieving the items from a given index (default 0). */ + start?: number; + /** @description Optional count for retrieving only a subset of the items (default is 25). */ + count?: number; + /** @description The property selector. */ + select?: string; + }; + header?: never; + path: { + /** @description The id of the catalog. */ + catalog_id: string; + /** @description The id of the shared product option. */ + option_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `CatalogNotFoundException` - Indicates the catalog is not found. or `ProductOptionNotFoundException` - Indicates the shared product option is not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['product_option_values']; + 'text/xml': components['schemas']['product_option_values']; + 'application/xml': components['schemas']['product_option_values']; + }; + }; + }; + }; + getCatalogsByIDSharedProductOptionsByIDValuesByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the catalog. */ + catalog_id: string; + /** @description The id of the shared product option. */ + option_id: string; + /** @description the id of shared product option value. */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `CatalogNotFoundException` - Indicates the catalog is not found. or `ProductOptionNotFoundException` - Indicates the shared product option is not found. or `ProductOptionValueNotFoundException` - Indicates the shared product option value is not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['product_option_value']; + 'text/xml': components['schemas']['product_option_value']; + 'application/xml': components['schemas']['product_option_value']; + }; + }; + }; + }; + putCatalogsByIDSharedProductOptionsByIDValuesByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the catalog. */ + catalog_id: string; + /** @description The id of the shared product option. */ + option_id: string; + /** @description The id of the shared product option value. */ + id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['product_option_value']; + responses: { + /** @description `CatalogNotFoundException` - Indicates the catalog is not found. or `ProductOptionNotFoundException` - Indicates the shared product option is not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['product_option_value']; + 'text/xml': components['schemas']['product_option_value']; + 'application/xml': components['schemas']['product_option_value']; + }; + }; + }; + }; + deleteCatalogsByIDSharedProductOptionsByIDValuesByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the catalog. */ + catalog_id: string; + /** @description The id of the shared product option. */ + option_id: string; + /** @description The id of the shared product option value. */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `CatalogNotFoundException` - Indicates the catalog is not found. or `ProductOptionNotFoundException` - Indicates the shared product option is not found. or `ProductOptionValueNotFoundException` - Indicates the shared product option value is not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + patchCatalogsByIDSharedProductOptionsByIDValuesByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the catalog. */ + catalog_id: string; + /** @description The id of the shared product option. */ + option_id: string; + /** @description The id of the shared product option value. */ + id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['product_option_value']; + responses: { + /** @description `CatalogNotFoundException` - Indicates the catalog is not found. or `ProductOptionNotFoundException` - Indicates the shared product option is not found. or `ProductOptionValueNotFoundException` - Indicates the shared product option value is not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['product_option_value']; + 'text/xml': components['schemas']['product_option_value']; + 'application/xml': components['schemas']['product_option_value']; + }; + }; + }; + }; + getCatalogsByIDSharedVariationAttributes: { + parameters: { + query?: { + start?: number; + count?: number; + select?: string; + }; + header?: never; + path: { + /** @description id of the catalog. */ + catalog_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `CatalogNotFoundException` - Indicates the catalog is not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['variation_attributes']; + 'text/xml': components['schemas']['variation_attributes']; + 'application/xml': components['schemas']['variation_attributes']; + }; + }; + }; + }; + getCatalogsByIDSharedVariationAttributesByIDValues: { + parameters: { + query?: { + /** @description the first record to get in the page */ + start?: number; + /** @description the number of records to get */ + count?: number; + /** @description a string that specifies which fields to return (default is all). */ + select?: string; + }; + header?: never; + path: { + /** @description id of the owning catalog. */ + catalog_id: string; + /** @description The variation attribute ID that contains the values. */ + attribute_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `CatalogNotFoundException` - Indicates the catalog is not found. or `VariationAttributeNotFoundException` - Indicate the variation attribute is not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['variation_attribute_values']; + 'text/xml': components['schemas']['variation_attribute_values']; + 'application/xml': components['schemas']['variation_attribute_values']; + }; + }; + }; + }; + getCatalogsByIDSharedVariationAttributesByIDValuesByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The owning catalog ID. */ + catalog_id: string; + /** @description The variation attribute custom ID */ + attribute_id: string; + /** @description The id of the variation attribute value */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `CatalogNotFoundException` - Indicates the catalog is not found. or `VariationAttributeNotFoundException` - Indicate the variation attribute is not found or `VariationAttributeValueNotFoundException` - Indicate the variation attribute value is not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['variation_attribute_value']; + 'text/xml': components['schemas']['variation_attribute_value']; + 'application/xml': components['schemas']['variation_attribute_value']; + }; + }; + }; + }; + putCatalogsByIDSharedVariationAttributesByIDValuesByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The owning catalog ID. */ + catalog_id: string; + /** @description The variation attribute ID */ + attribute_id: string; + /** @description The id of the variation attribute value */ + id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['variation_attribute_value']; + responses: { + /** @description `CatalogNotFoundException` - Indicates the catalog is not found. or `VariationAttributeNotFoundException` - Indicate the variation attribute is not found or `VariationAttributeValueNotFoundException` - Indicate the variation attribute value is not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['variation_attribute_value']; + 'text/xml': components['schemas']['variation_attribute_value']; + 'application/xml': components['schemas']['variation_attribute_value']; + }; + }; + }; + }; + deleteCatalogsByIDSharedVariationAttributesByIDValuesByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the catalog. */ + catalog_id: string; + /** @description The id of the variation attribute that contains the value. */ + attribute_id: string; + /** @description The id of one value to remove */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `CatalogNotFoundException` - if the catalog id specified cannot be found or `VariationAttributeNotFoundException` - if the attribute id specified is not a valid variation attribute or `VariationAttributeValueNotFoundException` - if the value id specified does not a valid value id */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + patchCatalogsByIDSharedVariationAttributesByIDValuesByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the catalog. */ + catalog_id: string; + /** @description The id of the requested variation attribute. */ + attribute_id: string; + /** @description The id of the variation value. */ + id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['variation_attribute_value']; + responses: { + /** @description `CatalogNotFoundException` - if the catalog id specified cannot be found or `VariationAttributeNotFoundException` - if the attribute id specified is not a valid variation attribute or `VariationAttributeValueNotFoundException` - if the value id specified does not a valid value id */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['variation_attribute_value']; + 'text/xml': components['schemas']['variation_attribute_value']; + 'application/xml': components['schemas']['variation_attribute_value']; + }; + }; + }; + }; + getCatalogsByIDSharedVariationAttributesByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the catalog. */ + catalog_id: string; + /** @description The id of the requested variation attribute. */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `CatalogNotFoundException` - Indicates the catalog is not found. or `VariationAttributeNotFoundException` - Thrown if the variation attribute matching the given id does not exist. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['variation_attribute']; + 'text/xml': components['schemas']['variation_attribute']; + 'application/xml': components['schemas']['variation_attribute']; + }; + }; + }; + }; + putCatalogsByIDSharedVariationAttributesByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the catalog. */ + catalog_id: string; + /** @description The id of the variation attribute to create. */ + id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['variation_attribute']; + responses: { + /** @description `SharedVariationAttributeIDNotUniqueException` - if the specified id isn't unique. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `AttributeDefinitionNotFoundException` - if attribute definition supplied is not a product attribute. or `CatalogNotFoundException` - Indicates the catalog is not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['variation_attribute']; + 'text/xml': components['schemas']['variation_attribute']; + 'application/xml': components['schemas']['variation_attribute']; + }; + }; + }; + }; + deleteCatalogsByIDSharedVariationAttributesByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the catalog. */ + catalog_id: string; + /** @description One variation attribute id to remove. */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `CatalogNotFoundException` - Indicates the catalog is not found. or `VariationAttributeNotFoundException` - Thrown if the variation attribute does not exist. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + patchCatalogsByIDSharedVariationAttributesByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the catalog. */ + catalog_id: string; + /** @description The id of the requested variation attribute. */ + id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['variation_attribute']; + responses: { + /** @description `CatalogNotFoundException` - if the specified catalog id cannot be found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['variation_attribute']; + 'text/xml': components['schemas']['variation_attribute']; + 'application/xml': components['schemas']['variation_attribute']; + }; + }; + }; + }; + postCategorySearch: { + parameters: { + query?: { + levels?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: components['requestBodies']['search_request']; + responses: { + /** @description `MalformedSearchParameterException` - Thrown if the query is ill-formed. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['category_search_result']; + 'text/xml': components['schemas']['category_search_result']; + 'application/xml': components['schemas']['category_search_result']; + }; + }; + }; + }; + getCodeVersions: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['code_version_result']; + 'text/xml': components['schemas']['code_version_result']; + 'application/xml': components['schemas']['code_version_result']; + }; + }; + }; + }; + getCodeVersionsByID: { + parameters: { + query?: { + /** @description The expand parameter. Allowed value (size). */ + expand?: string[]; + }; + header?: never; + path: { + /** @description The id of the code version. */ + code_version_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `CodeVersionIdNotFoundException` - Indicates that a code version with the given id was not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['code_version']; + 'text/xml': components['schemas']['code_version']; + 'application/xml': components['schemas']['code_version']; + }; + }; + }; + }; + putCodeVersionsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the code version. */ + code_version_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `CodeVersionIdAlreadyExistsException` - Indicates that a code version with the given id already exists. */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['code_version']; + 'text/xml': components['schemas']['code_version']; + 'application/xml': components['schemas']['code_version']; + }; + }; + }; + }; + deleteCodeVersionsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the code version. */ + code_version_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** + * @description `CodeVersionModificationException` - Indicates that a code version with the given id can't be + * deleted (because it is active). + */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `CodeVersionIdNotFoundException` - Indicates that a code version with the given id was not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + patchCodeVersionsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the code version. */ + code_version_id: string; + }; + cookie?: never; + }; + requestBody: { + content: { + 'application/json': components['schemas']['code_version']; + 'text/xml': components['schemas']['code_version']; + 'application/xml': components['schemas']['code_version']; + }; + }; + responses: { + /** @description `CodeVersionModificationException` - Indicates that a code version with the given id can't be updated (because it is active). */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `CodeVersionIdNotFoundException` - Indicates that a code version with the given id was not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `CodeVersionIdAlreadyExistsException` - Indicates that a code version with the given id already exists. */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['code_version']; + 'text/xml': components['schemas']['code_version']; + 'application/xml': components['schemas']['code_version']; + }; + }; + }; + }; + postCustomObjectDefinitionsByIDAttributeDefinitionSearch: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The type of object */ + object_type: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['search_request']; + responses: { + /** @description `MalformedSearchParameterException` - Indicates the query is ill-formed. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ObjectTypeNotFoundException` - Indicates that the object type cannot be found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['object_attribute_definition_search_result']; + 'text/xml': components['schemas']['object_attribute_definition_search_result']; + 'application/xml': components['schemas']['object_attribute_definition_search_result']; + }; + }; + }; + }; + getCustomObjectDefinitionsByIDAttributeDefinitions: { + parameters: { + query?: { + /** @description Optional start index for retrieving the items from a given index (default 0). */ + start?: number; + /** @description Optional count for retrieving only a subset of the items (default is 25). */ + count?: number; + /** @description The property selector. */ + select?: string; + }; + header?: never; + path: { + object_type: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `ObjectTypeNotFoundException` - Thrown in case the object type cannot be found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['object_attribute_definitions']; + 'text/xml': components['schemas']['object_attribute_definitions']; + 'application/xml': components['schemas']['object_attribute_definitions']; + }; + }; + }; + }; + getCustomObjectDefinitionsByIDAttributeDefinitionsByID: { + parameters: { + query?: { + /** @description The expand "value" is available to retrieve value definitions of the attribute definition. */ + expand?: string[]; + /** @description The selector for the get. If not passed, then the defaultSelector will be used instead. */ + select?: string; + }; + header?: never; + path: { + /** @description The object type id that contains these definitions */ + object_type: string; + /** @description The id of the requested attribute definition. */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `AttributeDefinitionNotFoundException` - Thrown in case the attribute definition does not exist matching the given id or `ObjectTypeNotFoundException` - Thrown in case the object type cannot be found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['object_attribute_definition']; + 'text/xml': components['schemas']['object_attribute_definition']; + 'application/xml': components['schemas']['object_attribute_definition']; + }; + }; + }; + }; + putCustomObjectDefinitionsByIDAttributeDefinitionsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The metadata object that contains these definitions */ + object_type: string; + /** @description The id of the attribute definition to create. */ + id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['object_attribute_definition']; + responses: { + /** @description `AttributeDefinitionCreateException` - if the attribute definition could not be created. or `AttributeDefinitionKeyReadOnlyException` - Thrown when trying to create a key attribute of a custom object or `AttributeDefinitionLocalizableNotAllowedException` - if trying to create a localizable attribute with a non-localizable type or `IdConflictException` - if the Id in request is not the same as the ID in document. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ObjectTypeNotFoundException` - Thrown in case the object type cannot be found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['object_attribute_definition']; + 'text/xml': components['schemas']['object_attribute_definition']; + 'application/xml': components['schemas']['object_attribute_definition']; + }; + }; + }; + }; + deleteCustomObjectDefinitionsByIDAttributeDefinitionsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The metadata object that contains these definitions */ + object_type: string; + /** @description Attribute definition id to remove */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `AttributeDefinitionKeyReadOnlyException` - Thrown when trying to delete a key attribute of custom object or `AttributeDefinitionReadOnlyException` - Thrown when trying to delete a internal attribute of custom object */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `AttributeDefinitionNotFoundException` - Thrown in case the attribute definition does not exist matching the given id or `ObjectTypeNotFoundException` - Thrown in case the object type cannot be found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + patchCustomObjectDefinitionsByIDAttributeDefinitionsByID: { + parameters: { + query?: never; + header?: { + 'If-Match'?: string; + }; + path: { + /** @description The object type id that contains these definitions */ + object_type: string; + /** @description The id of the requested attribute definition. */ + id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['object_attribute_definition']; + responses: { + /** @description `AttributeDefinitionKeyReadOnlyException` - Thrown when trying to modify a key attribute of custom object or `AttributeDefinitionPropertyReadOnlyException` - Thrown in case a read only system attribute it tried to be changed, which is not allowed. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `AttributeDefinitionNotFoundException` - Thrown in case the attribute definition does not exist matching the given id or `ObjectTypeNotFoundException` - Thrown in case the object type cannot be found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['object_attribute_definition']; + 'text/xml': components['schemas']['object_attribute_definition']; + 'application/xml': components['schemas']['object_attribute_definition']; + }; + }; + }; + }; + postCustomObjectDefinitionsByIDAttributeGroupSearch: { + parameters: { + query?: never; + header?: never; + path: { + object_type: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['search_request']; + responses: { + /** @description `MalformedSearchParameterException` - Thrown if the query is ill-formed. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ObjectTypeNotFoundException` - Thrown in case the object type cannot be found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['object_attribute_group_search_result']; + 'text/xml': components['schemas']['object_attribute_group_search_result']; + 'application/xml': components['schemas']['object_attribute_group_search_result']; + }; + }; + }; + }; + getCustomObjectDefinitionsByIDAttributeGroups: { + parameters: { + query?: { + /** @description Optional start index for retrieving the items from a given index (default 0). */ + start?: number; + /** @description Optional count for retrieving only a subset of the items (default is 25). */ + count?: number; + /** @description The property selector. */ + select?: string; + expand?: string[]; + }; + header?: never; + path: { + object_type: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `ObjectTypeNotFoundException` - Thrown in case the object type cannot be found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['object_attribute_groups']; + 'text/xml': components['schemas']['object_attribute_groups']; + 'application/xml': components['schemas']['object_attribute_groups']; + }; + }; + }; + }; + putCustomObjectDefinitionsByIDAttributeGroupsByIDAttributeDefinitionsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The ID of the custom object that contains the attribute definition and attribute group. */ + object_type: string; + /** @description The ID of the attribute group. */ + group_id: string; + /** @description The ID of the attribute definition. */ + def_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `AttributeDefinitionNotFoundException` - Indicates the specified attribute definition is not found. or `AttributeGroupNotFoundException` - Indicates the specified attribute group is not found. or `ObjectTypeNotFoundException` - Indicates the specified custom object is not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + deleteCustomObjectDefinitionsByIDAttributeGroupsByIDAttributeDefinitionsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The ID of the custom object that contains the attribute definition and attribute group. */ + object_type: string; + /** @description The ID of the attribute group. */ + group_id: string; + /** @description The ID of the attribute definition. */ + def_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `AttributeDefinitionNotFoundException` - Indicates the specified attribute definition is not found. or `AttributeGroupNotFoundException` - Indicates the specified attribute group is not found. or `ObjectTypeNotFoundException` - Indicates the specified custom object is not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + getCustomObjectDefinitionsByIDAttributeGroupsByID: { + parameters: { + query?: { + select?: string; + expand?: string[]; + }; + header?: never; + path: { + /** @description the object type id that contains this attribute group */ + object_type: string; + /** @description The id of the requested attribute group. */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `AttributeGroupNotFoundException` - Thrown in case the attribute group does not exist matching the given id or `ObjectTypeNotFoundException` - Thrown in case the object type cannot be found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['object_attribute_group']; + 'text/xml': components['schemas']['object_attribute_group']; + 'application/xml': components['schemas']['object_attribute_group']; + }; + }; + }; + }; + putCustomObjectDefinitionsByIDAttributeGroupsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description the object type id that contains this attribute group */ + object_type: string; + /** @description The id of the attribute group to create. */ + id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['object_attribute_group']; + responses: { + /** @description `IdConflictException` - when the id in the body does not match that provided in the URL */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ObjectTypeNotFoundException` - Thrown in case the object type cannot be found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['object_attribute_group']; + 'text/xml': components['schemas']['object_attribute_group']; + 'application/xml': components['schemas']['object_attribute_group']; + }; + }; + }; + }; + deleteCustomObjectDefinitionsByIDAttributeGroupsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description the object type id that contains this attribute group */ + object_type: string; + /** @description One attribute group id to remove */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `AttributeGroupNotFoundException` - Thrown in case the attribute group does not exist matching the given id or `ObjectTypeNotFoundException` - Thrown in case the object type cannot be found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + patchCustomObjectDefinitionsByIDAttributeGroupsByID: { + parameters: { + query?: never; + header?: { + 'If-Match'?: string; + }; + path: { + /** @description the object type id that contains this attribute group */ + object_type: string; + /** @description The id of the requested attribute group. */ + id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['object_attribute_group']; + responses: { + /** @description `AttributeGroupNotFoundException` - Thrown in case the attribute group does not exist matching the given id or `ObjectTypeNotFoundException` - Thrown in case the object type cannot be found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['object_attribute_group']; + 'text/xml': components['schemas']['object_attribute_group']; + 'application/xml': components['schemas']['object_attribute_group']; + }; + }; + }; + }; + getCustomObjectsByIDByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description the ID of the object type */ + object_type: string; + /** @description the key attribute value of the Custom Object */ + key: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `MalformedKeyParameterException` - If the object key must be an integer, but the path parameter has an invalid format */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ObjectTypeNotFoundException` - For an unknown object type ID or `CustomObjectNotFoundException` - For an unknown object key */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['custom_object']; + 'text/xml': components['schemas']['custom_object']; + 'application/xml': components['schemas']['custom_object']; + }; + }; + }; + }; + putCustomObjectsByIDByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description the ID of the object type */ + object_type: string; + /** @description the key attribute value of the Custom Object */ + key: string; + }; + cookie?: never; + }; + requestBody?: components['requestBodies']['custom_object2']; + responses: { + /** @description `MalformedKeyParameterException` - If the object key must be an integer, but the path parameter has an invalid format */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ObjectTypeNotFoundException` - For an unknown object type ID or `CustomObjectNotFoundException` - For an unknown object key */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['custom_object']; + 'text/xml': components['schemas']['custom_object']; + 'application/xml': components['schemas']['custom_object']; + }; + }; + }; + }; + deleteCustomObjectsByIDByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description the ID of the object type */ + object_type: string; + /** @description the key attribute value of the Custom Object */ + key: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `MalformedKeyParameterException` - If the object key must be an integer, but the path parameter has an invalid format */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ObjectTypeNotFoundException` - For an unknown object type ID */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + patchCustomObjectsByIDByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description the ID of the object type */ + object_type: string; + /** @description the key attribute value of the Custom Object */ + key: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['custom_object']; + responses: { + /** @description `MalformedKeyParameterException` - If the object key must be an integer, but the path parameter has an invalid format */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ObjectTypeNotFoundException` - For an unknown object type ID or `CustomObjectNotFoundException` - For an unknown object key */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['custom_object']; + 'text/xml': components['schemas']['custom_object']; + 'application/xml': components['schemas']['custom_object']; + }; + }; + }; + }; + postCustomObjectsSearchByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description ID of the object type to search objects for */ + object_type: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['search_request']; + responses: { + /** + * @description `TypeMissmatchException` - Indicates that the value to search with does not match the + * type of the search field. + */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ObjectTypeNotFoundException` - In case of an unknown object type. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['custom_object_search_result']; + 'text/xml': components['schemas']['custom_object_search_result']; + 'application/xml': components['schemas']['custom_object_search_result']; + }; + }; + }; + }; + postCustomerListsByIDCustomerSearch: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The customer list id to search in */ + customer_list_id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['search_request']; + responses: { + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['customer_search_result']; + 'text/xml': components['schemas']['customer_search_result']; + 'application/xml': components['schemas']['customer_search_result']; + }; + }; + }; + }; + getCustomerListsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description the id of the customerlist */ + list_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `CustomerListNotFoundException` - Indicates that there was no customerlist found for the customerlist id. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['customer_list']; + 'text/xml': components['schemas']['customer_list']; + 'application/xml': components['schemas']['customer_list']; + }; + }; + }; + }; + postCustomerListsByIDCustomers: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The customer list id */ + list_id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['customer']; + responses: { + /** @description `CredentialsMissingException` - Indicates that the mandatory credentials are missing in the input document. or `InvalidLoginException` - Indicates the login does not match the login acceptance criteria. or `LoginAlreadyInUseException` - Indicates the login is already in use. or `LoginMissingException` - Indicates that the mandatory login property is missing in the input document. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `CustomerListNotFoundException` - Indicates that the customer list with the given customer list id is unknown. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['customer']; + 'text/xml': components['schemas']['customer']; + 'application/xml': components['schemas']['customer']; + }; + }; + }; + }; + getCustomerListsByIDCustomersByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The customer list id */ + list_id: string; + /** @description The customer number */ + customer_no: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `CustomerListCustomerNotFoundException` - Indicates that the customer with the given customer number is unknown. or `CustomerListNotFoundException` - Indicates that the customer list with the given customer list id is unknown. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['customer']; + 'text/xml': components['schemas']['customer']; + 'application/xml': components['schemas']['customer']; + }; + }; + }; + }; + putCustomerListsByIDCustomersByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The customer list id */ + list_id: string; + /** @description The customer number */ + customer_no: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['customer']; + responses: { + /** @description `CredentialsMissingException` - Indicates that the mandatory credentials are missing in the input document. or `InvalidLoginException` - Indicates the login does not match the login acceptance criteria. or `LoginAlreadyInUseException` - Indicates that the given login is already in use. or `LoginMissingException` - Indicates that the mandatory login property is missing in the input document. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `CustomerListNotFoundException` - Indicates that the customer list with the given customer list id is unknown. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['customer']; + 'text/xml': components['schemas']['customer']; + 'application/xml': components['schemas']['customer']; + }; + }; + }; + }; + deleteCustomerListsByIDCustomersByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The customer list id */ + list_id: string; + /** @description The customer number */ + customer_no: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** + * @description `CustomerListCustomerNotFoundException` - Indicates that the customer with the given customer number is + * unknown. or `CustomerListNotFoundException` - Indicates that the customer list with the given customer list id is + * unknown. + */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + patchCustomerListsByIDCustomersByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The customer list id */ + list_id: string; + /** @description The customer number */ + customer_no: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['customer']; + responses: { + /** @description `InvalidLoginException` - Indicates the login does not match the login acceptance criteria. or `LoginAlreadyInUseException` - Indicates the login is already in use. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `CustomerListCustomerNotFoundException` - Indicates that the customer with the given customer number is unknown. or `CustomerListNotFoundException` - Indicates that the customer list with the given customer list id is unknown. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['customer']; + 'text/xml': components['schemas']['customer']; + 'application/xml': components['schemas']['customer']; + }; + }; + }; + }; + getCustomerListsByIDCustomersByIDAddresses: { + parameters: { + query?: { + /** @description The result set index to return the first instance for. Default value is 0. */ + start?: number; + /** @description The maximum number of instances per request. Default value is 25. */ + count?: number; + }; + header?: never; + path: { + /** @description The customer list id */ + list_id: string; + /** @description The customer number */ + customer_no: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `CustomerListCustomerNotFoundException` - Indicates that the customer with the given customer number is unknown. or `CustomerListNotFoundException` - Indicates that the customer list with the given customer list id is unknown. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['customer_address_result']; + 'text/xml': components['schemas']['customer_address_result']; + 'application/xml': components['schemas']['customer_address_result']; + }; + }; + }; + }; + postCustomerListsByIDCustomersByIDAddresses: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The customer list id */ + list_id: string; + /** @description The customer number */ + customer_no: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['customer_address']; + responses: { + /** @description `AddressIdAlreadyInUseException` - If the address id is already in use. or `InvalidAddressIdException` - If the address id is null or empty. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `CustomerListCustomerNotFoundException` - Indicates that the customer with the given customer number is unknown. or `CustomerListNotFoundException` - Indicates that the customer list with the given customer list id is unknown. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['customer_address']; + 'text/xml': components['schemas']['customer_address']; + 'application/xml': components['schemas']['customer_address']; + }; + }; + }; + }; + getCustomerListsByIDCustomersByIDAddressesByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The customer list id */ + list_id: string; + /** @description The customer number */ + customer_no: string; + /** @description The address id */ + address_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `CustomerListCustomerAddressNotFoundException` - Indicates that the customer address id is unknown. or `CustomerListCustomerNotFoundException` - Indicates that the customer with the given customer number is unknown. or `CustomerListNotFoundException` - Indicates that the customer list with the given customer list id is unknown. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['customer_address']; + 'text/xml': components['schemas']['customer_address']; + 'application/xml': components['schemas']['customer_address']; + }; + }; + }; + }; + deleteCustomerListsByIDCustomersByIDAddressesByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The customer list id */ + list_id: string; + /** @description The customer number */ + customer_no: string; + /** @description The address id */ + address_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `CustomerListCustomerNotFoundException` - Indicates that the customer with the given customer number is unknown. or `CustomerListNotFoundException` - Indicates that the customer list with the given customer list id is unknown. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + patchCustomerListsByIDCustomersByIDAddressesByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The customer list id */ + list_id: string; + /** @description The customer number */ + customer_no: string; + /** @description The address id */ + address_id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['customer_address']; + responses: { + /** @description `AddressIdAlreadyInUseException` - If the new address id is already in use. or `InvalidAddressIdException` - If the new address id is empty. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `CustomerListCustomerAddressNotFoundException` - Indicates that the customer address id is unknown. or `CustomerListCustomerNotFoundException` - Indicates that the customer with the given customer number is unknown. or `CustomerListNotFoundException` - Indicates that the customer list with the given customer list id is unknown. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['customer_address']; + 'text/xml': components['schemas']['customer_address']; + 'application/xml': components['schemas']['customer_address']; + }; + }; + }; + }; + getGlobalPreferencesPreferenceGroupsByIDByID: { + parameters: { + query?: { + /** @description Set to true to mask the values of preferences of type Password. */ + mask_passwords?: boolean; + /** @description The expansion "sites" retrieves the custom preferences in the preference group for all the available sites. */ + expand?: string[]; + }; + header?: never; + path: { + /** @description One of {staging,development,sandbox,production,current}. */ + instance_type: string; + /** @description The ID of the preference group. */ + group_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `CustomPreferenceGroupNotFoundException` - Indicates the preference group is not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['organization_preferences']; + 'text/xml': components['schemas']['organization_preferences']; + 'application/xml': components['schemas']['organization_preferences']; + }; + }; + }; + }; + patchGlobalPreferencesPreferenceGroupsByIDByID: { + parameters: { + query?: { + /** @description Set to true to mask the values of preferences of type Password. */ + mask_passwords?: boolean; + }; + header?: never; + path: { + /** @description One of {staging,development,sandbox,production}. */ + instance_type: string; + /** @description The ID of the preference group. */ + group_id: string; + }; + cookie?: never; + }; + requestBody: { + content: { + 'application/json': components['schemas']['organization_preferences']; + 'text/xml': components['schemas']['organization_preferences']; + 'application/xml': components['schemas']['organization_preferences']; + }; + }; + responses: { + /** @description `CustomPreferenceGroupNotFoundException` - Indicates the preference group is not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['organization_preferences']; + 'text/xml': components['schemas']['organization_preferences']; + 'application/xml': components['schemas']['organization_preferences']; + }; + }; + }; + }; + postInventoryListSearch: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: components['requestBodies']['search_request']; + responses: { + /** @description `MalformedSearchParameterException` - Thrown if the query is ill-formed. or `MalformedSelectorException` - Thrown if the given selector is invalid. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['inventory_list_search_result']; + 'text/xml': components['schemas']['inventory_list_search_result']; + 'application/xml': components['schemas']['inventory_list_search_result']; + }; + }; + }; + }; + getInventoryLists: { + parameters: { + query?: { + /** @description Optional start index for retrieving the items from a given index (default 0). */ + start?: number; + /** @description Optional count for retrieving only a subset of the items (default is 25). */ + count?: number; + /** @description The property selector. */ + select?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['inventory_lists']; + 'text/xml': components['schemas']['inventory_lists']; + 'application/xml': components['schemas']['inventory_lists']; + }; + }; + }; + }; + getInventoryListsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the requested inventory list. */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `InventoryListNotFoundException` - Thrown in case the inventory list does not exist matching the given id */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['inventory_list']; + 'text/xml': components['schemas']['inventory_list']; + 'application/xml': components['schemas']['inventory_list']; + }; + }; + }; + }; + putInventoryListsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the inventory list to create. */ + id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['inventory_list']; + responses: { + /** @description `IdConflictException` - if the Id in request is not the same as the ID in document. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['inventory_list']; + 'text/xml': components['schemas']['inventory_list']; + 'application/xml': components['schemas']['inventory_list']; + }; + }; + }; + }; + deleteInventoryListsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description One inventory list id to remove */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + patchInventoryListsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the requested inventory list. */ + id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['inventory_list']; + responses: { + /** @description `InventoryListNotFoundException` - Thrown in case the inventory list does not exist matching the given id */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['inventory_list']; + 'text/xml': components['schemas']['inventory_list']; + 'application/xml': components['schemas']['inventory_list']; + }; + }; + }; + }; + getInventoryListsByIDProductInventoryRecords: { + parameters: { + query?: { + /** @description Optional start index for retrieving the items from a given index (default 0). */ + start?: number; + /** @description Optional count for retrieving only a subset of the items (default is 25). */ + count?: number; + /** @description The property selector. */ + select?: string; + }; + header?: never; + path: { + /** @description The inventory list ID */ + inventory_list_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `InventoryListNotFoundException` - Indicates the inventory list does not exist. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['product_inventory_records']; + 'text/xml': components['schemas']['product_inventory_records']; + 'application/xml': components['schemas']['product_inventory_records']; + }; + }; + }; + }; + getInventoryListsByIDProductInventoryRecordsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The inventory list ID */ + inventory_list_id: string; + /** @description The product ID */ + product_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `InventoryListNotFoundException` - Indicates the inventory list does not exist. or `ProductInventoryRecordNotFoundException` - Indicates the product inventory record does not exist. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['product_inventory_record']; + 'text/xml': components['schemas']['product_inventory_record']; + 'application/xml': components['schemas']['product_inventory_record']; + }; + }; + }; + }; + putInventoryListsByIDProductInventoryRecordsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The inventory list ID */ + inventory_list_id: string; + /** @description The product ID */ + product_id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['product_inventory_record']; + responses: { + /** @description `InventoryListNotFoundException` - Indicates the inventory list does not exist. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ConflictException` - Indicates a concurrent update */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['product_inventory_record']; + 'text/xml': components['schemas']['product_inventory_record']; + 'application/xml': components['schemas']['product_inventory_record']; + }; + }; + }; + }; + deleteInventoryListsByIDProductInventoryRecordsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The inventory list ID */ + inventory_list_id: string; + /** @description The product ID */ + product_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `InventoryListNotFoundException` - Indicates the inventory list does not exist. or `ProductInventoryRecordNotFoundException` - Indicates the product inventory record does not exist. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + patchInventoryListsByIDProductInventoryRecordsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The inventory list ID */ + inventory_list_id: string; + /** @description The product ID */ + product_id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['product_inventory_record']; + responses: { + /** @description `InventoryListNotFoundException` - Indicates the inventory list does not exist. or `ProductInventoryRecordNotFoundException` - Indicates the product inventory record does not exist. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ConflictException` - Indicates a concurrent update */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['product_inventory_record']; + 'text/xml': components['schemas']['product_inventory_record']; + 'application/xml': components['schemas']['product_inventory_record']; + }; + }; + }; + }; + postJobExecutionSearch: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: components['requestBodies']['search_request']; + responses: { + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['job_execution_search_result']; + 'text/xml': components['schemas']['job_execution_search_result']; + 'application/xml': components['schemas']['job_execution_search_result']; + }; + }; + }; + }; + postJobsByIDExecutions: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The ID of the job to execute. */ + job_id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + 'application/json': components['schemas']['string']; + 'text/xml': components['schemas']['string']; + 'application/xml': components['schemas']['string']; + }; + }; + responses: { + /** + * @description `JobAlreadyRunningException` - if the job is + * already running. or `JobExecutionException` - if the job could + * not be executed. or `JobInvalidException` - if the job is invalid + * and is therefore not executable. or `JobNotRestartableException` - if the job + * does not support restarting. or `JobRestartException` - if the job could not + * be restarted. + */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** + * @description `JobNotFoundException` - if the job with the given job ID + * doesn't exist. + */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['job_execution']; + 'text/xml': components['schemas']['job_execution']; + 'application/xml': components['schemas']['job_execution']; + }; + }; + }; + }; + getJobsByIDExecutionsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description the ID of the job. */ + job_id: string; + /** @description the ID of the job execution */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** + * @description `JobExecutionNotFoundException` - for an + * unknown job ID or job execution ID + */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['job_execution']; + 'text/xml': components['schemas']['job_execution']; + 'application/xml': components['schemas']['job_execution']; + }; + }; + }; + }; + deleteJobsByIDExecutionsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description the ID of the job. */ + job_id: string; + /** @description the ID of the job execution */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** + * @description `JobExecutionNotFinishedException` - if the + * job execution is not finished. + */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** + * @description `JobExecutionNotFoundException` - for an + * unknown job ID or job execution ID + */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + getLibrariesByIDContentByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description ID of the shared library or the site-id in case of a private library. */ + library_id: string; + /** @description the ID of the content asset to retrieve. */ + content_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `ContentNotFoundException` - Indicates that the content asset with the given id is unknown. or `LibraryNotFoundException` - Indicates that library with the given id is unknown. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['content_asset']; + 'text/xml': components['schemas']['content_asset']; + 'application/xml': components['schemas']['content_asset']; + }; + }; + }; + }; + putLibrariesByIDContentByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description ID of the shared library or the site-id in case of a private library. */ + library_id: string; + /** @description the ID of the content asset to retrieve. */ + content_id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['content_asset']; + responses: { + /** @description `IdConflictException` - Indicates that the ID from the request body doesn't match the URL-Id. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ContentNotFoundException` - Indicates that the content asset with the given id is unknown. or `LibraryNotFoundException` - Indicates that library with the given id is unknown. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ResourceLockedException` - Indicates that the ID from the request body doesn't match the URL-Id. */ + 412: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['content_asset']; + 'text/xml': components['schemas']['content_asset']; + 'application/xml': components['schemas']['content_asset']; + }; + }; + }; + }; + deleteLibrariesByIDContentByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description ID of the shared library or the site-id in case of a private library. */ + library_id: string; + /** @description the ID of the content asset to remove. */ + content_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ContentNotFoundException` - Indicates that the content asset with the given id is unknown. or `LibraryNotFoundException` - Indicates that library with the given id is unknown. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ResourceLockedException` - Indicates that the ID from the request body doesn't match the URL-Id. */ + 412: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + patchLibrariesByIDContentByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description ID of the shared library or the site-id in case of a private library. */ + library_id: string; + /** @description the ID of the content asset to retrieve. */ + content_id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['content_asset']; + responses: { + /** @description `ContentIdAlreadyInUseException` - Indicates that a content asset with the ID to change to is already existing. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ContentNotFoundException` - Indicates that the content asset with the given id is unknown. or `LibraryNotFoundException` - Indicates that library with the given id is unknown. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ResourceLockedException` - Indicates that the ID from the request body doesn't match the URL-Id. */ + 412: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['content_asset']; + 'text/xml': components['schemas']['content_asset']; + 'application/xml': components['schemas']['content_asset']; + }; + }; + }; + }; + getLibrariesByIDContentByIDFolders: { + parameters: { + query?: { + /** @description The result set index to return the first instance for. Default value is 0. */ + start?: number; + /** @description The maximum number of instances per request. Default value is 25. */ + count?: number; + }; + header?: never; + path: { + /** @description ID of the shared library or the site-id in case of a private library. */ + library_id: string; + /** @description The content id of the assignment. */ + content_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `ContentNotFoundException` - Indicates that the content asset with the given id is unknown. or `LibraryNotFoundException` - Indicates that library with the given id is unknown. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['content_folder_result']; + 'text/xml': components['schemas']['content_folder_result']; + 'application/xml': components['schemas']['content_folder_result']; + }; + }; + }; + }; + getLibrariesByIDFolderAssignmentsByIDByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description ID of the shared library or the site-id in case of a private library. */ + library_id: string; + /** @description the ID of the content asset to retrieve. */ + content_id: string; + /** @description ID of a target folder. */ + folder_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `AssignmentNotFoundException` - Indicates that no assignment between the given content asset and folder exists or `ContentNotFoundException` - Indicates that the content asset with the given id is unknown. or `LibraryNotFoundException` - Indicates that library with the given id is unknown. or `ParentFolderNotFoundException` - Indicates that the parent folder with the given id is unknown. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['content_folder_assignment']; + 'text/xml': components['schemas']['content_folder_assignment']; + 'application/xml': components['schemas']['content_folder_assignment']; + }; + }; + }; + }; + putLibrariesByIDFolderAssignmentsByIDByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description the ID of the shared library or the site-id in case of a private library */ + library_id: string; + /** @description the content id */ + content_id: string; + /** @description the folder id */ + folder_id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + 'application/json': components['schemas']['content_folder_assignment']; + 'text/xml': components['schemas']['content_folder_assignment']; + 'application/xml': components['schemas']['content_folder_assignment']; + }; + }; + responses: { + /** @description `ContentNotFoundException` - Indicates that the content asset with the given id is unknown. or `LibraryNotFoundException` - Indicates that library with the given id is unknown. or `ParentFolderNotFoundException` - Indicates that the parent folder with the given id is unknown. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['content_folder_assignment']; + 'text/xml': components['schemas']['content_folder_assignment']; + 'application/xml': components['schemas']['content_folder_assignment']; + }; + }; + }; + }; + deleteLibrariesByIDFolderAssignmentsByIDByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description ID of the shared library or the site-id in case of a private library. */ + library_id: string; + /** @description the ID of the content asset to retrieve. */ + content_id: string; + /** @description ID of a target folder. */ + folder_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `AssignmentNotFoundException` - Indicates that no assignment between the given content asset and folder exists or `ContentNotFoundException` - Indicates that the content asset with the given id is unknown. or `LibraryNotFoundException` - Indicates that library with the given id is unknown. or `ParentFolderNotFoundException` - Indicates that the parent folder with the given id is unknown. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + patchLibrariesByIDFolderAssignmentsByIDByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description ID of the shared library or the site-id in case of a private library. */ + library_id: string; + /** @description the content id of the assignment */ + content_id: string; + /** @description ID of a target folder. */ + folder_id: string; + }; + cookie?: never; + }; + requestBody: { + content: { + 'application/json': components['schemas']['content_folder_assignment']; + 'text/xml': components['schemas']['content_folder_assignment']; + 'application/xml': components['schemas']['content_folder_assignment']; + }; + }; + responses: { + /** @description `AssignmentNotFoundException` - Indicates that no assignment between the given content asset and folder exists. or `ContentNotFoundException` - Indicates that the content asset with the given id is unknown. or `FolderNotFoundException` - Indicates that the folder with the given id is unknown. or `LibraryNotFoundException` - Indicates that library with the given id is unknown. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['content_folder_assignment']; + 'text/xml': components['schemas']['content_folder_assignment']; + 'application/xml': components['schemas']['content_folder_assignment']; + }; + }; + }; + }; + getLibrariesByIDFoldersByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description ID of the shared library or the site-id in case of a private library. */ + library_id: string; + /** @description ID of a target folder. */ + folder_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `FolderNotFoundException` - Indicates that the folder with the given id is unknown. or `LibraryNotFoundException` - Indicates that library with the given id is unknown. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['content_folder']; + 'text/xml': components['schemas']['content_folder']; + 'application/xml': components['schemas']['content_folder']; + }; + }; + }; + }; + putLibrariesByIDFoldersByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description ID of the shared library or the site-id in case of a private library. */ + library_id: string; + /** @description ID of a target folder. */ + folder_id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['content_folder']; + responses: { + /** @description `IdConflictException` - Indicates that the ID from the request body doesn't match the URL-Id. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `LibraryNotFoundException` - Indicates that library with the given id is unknown. or `ParentFolderNotFoundException` - Indicates that the parent folder with the given id is unknown. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['content_folder']; + 'text/xml': components['schemas']['content_folder']; + 'application/xml': components['schemas']['content_folder']; + }; + }; + }; + }; + deleteLibrariesByIDFoldersByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description ID of the shared library or the site-id in case of a private library. */ + library_id: string; + /** @description ID of a target folder. */ + folder_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `LibraryNotFoundException` - Indicates that library with the given id is unknown. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + patchLibrariesByIDFoldersByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description ID of the shared library or the site-id in case of a private library. */ + library_id: string; + /** @description ID of a target folder. */ + folder_id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['content_folder']; + responses: { + /** @description `ContentFolderIdAlreadyInUseException` - Indicates that a content folder with the ID to change to is already existing. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `FolderNotFoundException` - Indicates that the folder with the given id is unknown. or `LibraryNotFoundException` - Indicates that library with the given id is unknown. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['content_folder']; + 'text/xml': components['schemas']['content_folder']; + 'application/xml': components['schemas']['content_folder']; + }; + }; + }; + }; + getLibrariesByIDFoldersByIDContent: { + parameters: { + query?: { + /** @description The result set index to return the first instance for. Default value is 0. */ + start?: number; + /** @description The maximum number of instances per request. Default value is 25. */ + count?: number; + }; + header?: never; + path: { + /** @description ID of the shared library or the site-id in case of a private library. */ + library_id: string; + /** @description ID of a target folder. */ + folder_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `FolderNotFoundException` - Indicates that the folder with the given id is unknown. or `LibraryNotFoundException` - Indicates that library with the given id is unknown. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['content_asset_result']; + 'text/xml': components['schemas']['content_asset_result']; + 'application/xml': components['schemas']['content_asset_result']; + }; + }; + }; + }; + getLibrariesByIDFoldersByIDSubFolders: { + parameters: { + query?: { + /** @description The result set index to return the first instance for. Default value is 0. */ + start?: number; + /** @description The maximum number of instances per request. Default value is 25. */ + count?: number; + }; + header?: never; + path: { + /** @description ID of the shared library or the site-id in case of a private library. */ + library_id: string; + /** @description ID of a target folder. */ + folder_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `FolderNotFoundException` - Indicates that the folder with the given id is unknown. or `LibraryNotFoundException` - Indicates that library with the given id is unknown. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['content_sub_folder_result']; + 'text/xml': components['schemas']['content_sub_folder_result']; + 'application/xml': components['schemas']['content_sub_folder_result']; + }; + }; + }; + }; + getLocaleInfoLocales: { + parameters: { + query?: { + /** + * @description optional locale to return by id. If specified, that locale is looked up and returned, otherwise the + * list is returned. + */ + id?: string; + /** @description the set of fields to return from the request. Default is only the locale id. */ + select?: string; + /** @description the start index for paging. Default is 0. */ + start?: number; + /** @description the count of the records to return in this page. Default is 25. */ + count?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['locale_result']; + 'text/xml': components['schemas']['locale_result']; + 'application/xml': components['schemas']['locale_result']; + }; + }; + }; + }; + postLogRequestsEcdn: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Request body */ + requestBody: { + content: { + 'application/json': components['schemas']['ecdn_log_fetch_request']; + 'text/xml': components['schemas']['ecdn_log_fetch_request']; + 'application/xml': components['schemas']['ecdn_log_fetch_request']; + }; + }; + responses: { + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['ecdn_log_fetch_response']; + 'text/xml': components['schemas']['ecdn_log_fetch_response']; + 'application/xml': components['schemas']['ecdn_log_fetch_response']; + }; + }; + }; + }; + getLogRequestsEcdnByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description ID of the log fetching execution */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['ecdn_log_fetch_response']; + 'text/xml': components['schemas']['ecdn_log_fetch_response']; + 'application/xml': components['schemas']['ecdn_log_fetch_response']; + }; + }; + }; + }; + getMetricsByID: { + parameters: { + query?: { + /** @description Optional offset of the result set not counting commentaries or empty lines. */ + offset?: number; + /** @description Optional limit of the result set not counting commentaries or empty lines. */ + limit?: number; + }; + header?: never; + path: { + /** @description Type of the api. Values are data or shop . */ + apitype: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `TooManyRequestsException` - Too many requests. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `FeatureNotEnabledException` - Feature not enabled. */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['metric_response']; + 'text/xml': components['schemas']['metric_response']; + 'application/xml': components['schemas']['metric_response']; + }; + }; + }; + }; + getOcapiConfigsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description client ID */ + clientId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `InvalidOCAPIConfigException` - Indicates that at least one of the existing configs can not be parsed */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['ocapi_configs_api_response']; + 'text/xml': components['schemas']['ocapi_configs_api_response']; + 'application/xml': components['schemas']['ocapi_configs_api_response']; + }; + }; + }; + }; + putOcapiConfigsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description client ID */ + clientId: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['ocapi_configs_api_request']; + responses: { + /** @description `InvalidOCAPIConfigException` - Indicates that the resulting config is not valid or `SelfUpdateException` - Write operation on self is not allowed. (The clientId being used for calling this API should be different from target clientId) */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `SiteNotFoundException` - Indicates that at least one of the target sites is unknown */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['ocapi_configs_api_response']; + 'text/xml': components['schemas']['ocapi_configs_api_response']; + 'application/xml': components['schemas']['ocapi_configs_api_response']; + }; + }; + }; + }; + postOcapiConfigsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description client ID */ + clientId: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['ocapi_configs_api_request']; + responses: { + /** @description `InvalidOCAPIConfigException` - Indicates that the resulting config is not valid or `SelfUpdateException` - Write operation on self is not allowed. (The clientId being used for calling this API should be different from target clientId) */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `SiteNotFoundException` - Indicates that at least one of the target sites is unknown */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `DuplicateClientIdException` - Indicates that the client id already exists in original OCAPI configuration */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['ocapi_configs_api_response']; + 'text/xml': components['schemas']['ocapi_configs_api_response']; + 'application/xml': components['schemas']['ocapi_configs_api_response']; + }; + }; + }; + }; + deleteOcapiConfigsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description Id of the client to be deleted. */ + clientId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `InvalidOCAPIConfigException` - Indicates that the resulting config is not valid or `SelfUpdateException` - Write operation on self is not allowed. (The clientId being used for calling this API should be different from target clientId) */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + getPermissions: { + parameters: { + query?: { + /** @description The permission expand. A comma separated list with the allowed values (bm, csc). */ + expand?: string[]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['application_permissions']; + 'text/xml': components['schemas']['application_permissions']; + 'application/xml': components['schemas']['application_permissions']; + }; + }; + }; + }; + getPermissionsBm: { + parameters: { + query?: { + /** + * @description The permission expand. A comma separated list with the allowed values + * (module, functional, webdav, locale). + */ + expand?: string[]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['bmpermissions']; + 'text/xml': components['schemas']['bmpermissions']; + 'application/xml': components['schemas']['bmpermissions']; + }; + }; + }; + }; + getPermissionsBmFunctional: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['functional_permissions']; + 'text/xml': components['schemas']['functional_permissions']; + 'application/xml': components['schemas']['functional_permissions']; + }; + }; + }; + }; + getPermissionsBmLocale: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['locale_permissions']; + 'text/xml': components['schemas']['locale_permissions']; + 'application/xml': components['schemas']['locale_permissions']; + }; + }; + }; + }; + getPermissionsBmModule: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['module_permissions']; + 'text/xml': components['schemas']['module_permissions']; + 'application/xml': components['schemas']['module_permissions']; + }; + }; + }; + }; + getPermissionsBmWebdav: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['webdav_permissions']; + 'text/xml': components['schemas']['webdav_permissions']; + 'application/xml': components['schemas']['webdav_permissions']; + }; + }; + }; + }; + getPermissionsCsc: { + parameters: { + query?: { + /** + * @description The permission expand. A comma separated list with the allowed values + * (module, functional, webdav, locale). + */ + expand?: string[]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['cscpermissions']; + 'text/xml': components['schemas']['cscpermissions']; + 'application/xml': components['schemas']['cscpermissions']; + }; + }; + }; + }; + getPermissionsCscModule: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['module_permissions']; + 'text/xml': components['schemas']['module_permissions']; + 'application/xml': components['schemas']['module_permissions']; + }; + }; + }; + }; + postProductSearch: { + parameters: { + query?: { + /** @description The site context. */ + site_id?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + 'application/json': components['schemas']['search_request']; + 'text/xml': components['schemas']['search_request']; + 'application/xml': components['schemas']['search_request']; + }; + }; + responses: { + /** @description `MalformedSearchParameterException` - Indicates the search query is ill-formed. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['product_search_result']; + 'text/xml': components['schemas']['product_search_result']; + 'application/xml': components['schemas']['product_search_result']; + }; + }; + }; + }; + getProductsByID: { + parameters: { + query?: { + /** @description The site context. */ + site_id?: string; + /** + * @description The list of expansions that can be applied to the product. They are: + *
    + *
  • 'all' will retrieve all the product properties.
  • + *
  • 'availability' will retrieve the following properties: + *
    • ats
    • + *
    • in_stock
    • + *
    • online
    + *
  • + *
  • 'images' will retrieve the following properties: + *
    • image
    • + *
    • image_groups
    + *
  • + *
  • 'all_images' used with images will retrieve the following properties, including the images specified for its variants and variation groups: + *
    • image
    • + *
    • image_groups
    + *
  • + *
  • 'categories' will retrieve the following properties: + *
    • assigned_categories
    • + *
    • primary_category
    • + *
    • classification_category
    • + *
    + *
  • + *
  • 'options' will retrieve the following properties: + *
    • product_options
    + *
  • + *
  • 'prices' will retrieve the following properties: + *
    • price
    • + *
    • price_currency
    + *
  • + *
  • 'variations' will retrieve the following properties: + *
    • master
    • + *
    • variation_attributes
    • + *
    • variation_groups
    • + *
    • variation_values
    • + *
    • variants
    + *
  • + *
  • 'sets' will retrieve the following properties: + *
    • set_products
    • + *
    • product_sets
    • + *
    + *
  • + *
  • 'bundles' will retrieve the following properties: + *
    • product_bundles
    • + *
    • bundled_products
    • + *
    + *
  • + *
+ * Note that only variants with variation values are retrieved for a product of type variation master. + */ + expand?: string[]; + }; + header?: never; + path: { + /** @description The product ID. */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `ProductNotFoundException` - Indicates the product is not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['product']; + 'text/xml': components['schemas']['product']; + 'application/xml': components['schemas']['product']; + }; + }; + }; + }; + putProductsByID: { + parameters: { + query?: never; + header?: { + 'x-dw-validate-existing'?: boolean; + }; + path: { + /** @description The product ID. */ + id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['product']; + responses: { + /** @description `IdConflictException` - Indicates the ID in request URL does not match the ID in the product document. or `ProductDuplicateException` - Indicate the product is already existed. or `ProductInvalidException` - Indicates the catalog is not provided in the request. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `CatalogNotFoundException` - Indicates the catalog is not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['product']; + 'text/xml': components['schemas']['product']; + 'application/xml': components['schemas']['product']; + }; + }; + }; + }; + deleteProductsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The product ID. */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ProductNotFoundException` - Indicates the product is not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + patchProductsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The product ID. */ + id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['product']; + responses: { + /** @description `IdConflictException` - Indicates the ID in request URL does not match the ID in the product document. or `ProductDefaultVariantException` - Indicates there is a problem to set default variant for a product. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ProductNotFoundException` - Indicates the product to be updated is not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['product']; + 'text/xml': components['schemas']['product']; + 'application/xml': components['schemas']['product']; + }; + }; + }; + }; + postProductsByIDVariantSearch: { + parameters: { + query?: { + /** @description The id of the site to get site specific product attributes. */ + site_id?: string; + }; + header?: never; + path: { + /** @description The product id of master product or variation group product */ + id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['search_request']; + responses: { + /** @description `MalformedSearchParameterException` - Thrown if the query is ill-formed. or `ProductNotMasterGroupException` - Thrown if the id is not the product id of a Variation Master product or Variation Group product. or `SiteIdMissingForSiteSpecificFilterException` - Thrown if the Site ID query parameter is missing in the search of Variants by a site-specific product attribute. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ProductNotFoundException` - Thrown if the product is not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['variant_search_result']; + 'text/xml': components['schemas']['variant_search_result']; + 'application/xml': components['schemas']['variant_search_result']; + }; + }; + }; + }; + getProductsByIDVariationGroups: { + parameters: { + query?: { + /** @description The site context. */ + site_id?: string; + /** @description The start index of the variation groups to return (defaults to 0). */ + start?: number; + /** @description The maximum number of variation groups to return (defaults to 25). */ + count?: number; + /** @description A selector that specifies the fields to return in the variation groups document. */ + select?: string; + /** @description The valid expands are {price,availability} */ + expand?: string[]; + }; + header?: never; + path: { + /** @description The id of the master product. */ + master_product_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `ProductNotMasterException` - Indicates that the given product is not a variation master. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ProductNotFoundException` - Indicates the master product is not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['variation_groups']; + 'text/xml': components['schemas']['variation_groups']; + 'application/xml': components['schemas']['variation_groups']; + }; + }; + }; + }; + getProductsByIDVariationGroupsByID: { + parameters: { + query?: { + site_id?: string; + /** @description The valid expands are {price,availability} */ + expand?: string[]; + }; + header?: never; + path: { + /** @description The id of the master product that contains the variation group. */ + master_product_id: string; + /** @description The id of the variation group product. */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `ProductIsNotVariationGroupException` - Indicates the product specified is not a variation group. or `ProductNotMasterException` - Indicates the master product id does not represent a master product. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ProductNotFoundException` - Indicates either the master product or the variation group product cannot be found. or `VariationGroupNotFoundException` - Indicates the product does not belong to the master product. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['variation_group']; + 'text/xml': components['schemas']['variation_group']; + 'application/xml': components['schemas']['variation_group']; + }; + }; + }; + }; + putProductsByIDVariationGroupsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the master product that contains the variation group. */ + master_product_id: string; + /** @description The id of the variation group product. */ + id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['variation_group']; + responses: { + /** @description `ProductNotMasterException` - Indicates the master product id does not represent a master product. or `VariationValueNotValidException` - Indicates the values passed are not valid for the variation attributes. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ProductNotFoundException` - Indicates either the master product or the variation group product cannot be found. or `VariationAttributeValueNotFoundException` - Indicates the value passed into a variation attribute is not one found in the valid values. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['variation_group']; + 'text/xml': components['schemas']['variation_group']; + 'application/xml': components['schemas']['variation_group']; + }; + }; + }; + }; + deleteProductsByIDVariationGroupsByID: { + parameters: { + query?: never; + header?: never; + path: { + master_product_id: string; + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ProductIsNotVariationGroupException` - Indicates product specified is not a variation group. or `ProductNotMasterException` - Indicates the master product id does not represent a master product. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ProductNotFoundException` - Indicates either the master product or the variation group product cannot be found. or `VariationGroupNotFoundException` - Indicates the product does not belong to the master product. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + patchProductsByIDVariationGroupsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the master product that contains the variation group. */ + master_product_id: string; + /** @description The id of the variation group product. */ + id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['variation_group']; + responses: { + /** @description `ProductIsNotVariationGroupException` - Indicates product specified is not a variation group. or `ProductNotMasterException` - Indicates the master product id does not represent a master product. or `VariationValueNotValidException` - Indicates the values passed are not valid for the variation attributes. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ProductNotFoundException` - Indicates either the master product or the variation group product cannot be found. or `VariationGroupNotFoundException` - Indicates the product does not belong to the master product. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['variation_group']; + 'text/xml': components['schemas']['variation_group']; + 'application/xml': components['schemas']['variation_group']; + }; + }; + }; + }; + getProductsByIDVariations: { + parameters: { + query?: { + /** @description The site context. */ + site_id?: string; + /** @description The start index of the variations to return (defaults to 0). */ + start?: number; + /** @description The maximum number of variations to return (defaults to 25). */ + count?: number; + /** @description A selector that specifies the fields to return in the variations document. */ + select?: string; + /** @description The valid expands are {price,availability} */ + expand?: string[]; + }; + header?: never; + path: { + /** @description The id of the master product. */ + master_product_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `ProductNotMasterException` - Indicates that the given product is not a variation master. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ProductNotFoundException` - Indicates the master product is not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['variants']; + 'text/xml': components['schemas']['variants']; + 'application/xml': components['schemas']['variants']; + }; + }; + }; + }; + getProductsByIDVariationsByID: { + parameters: { + query?: { + site_id?: string; + /** @description The valid expands are {variation,attributes,availability,prices} */ + expand?: string[]; + }; + header?: never; + path: { + /** @description The id of the master product that contains the variation. */ + master_product_id: string; + /** @description The id of the variation product. */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `ProductIsNotVariationException` - Indicates the product specified is not a variation. or `ProductNotMasterException` - Indicates the master product id does not represent a master product. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ProductNotFoundException` - Indicates either the master product or the variation product cannot be found. or `VariationNotFoundException` - Indicates the product does not belong to the master product. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['variant']; + 'text/xml': components['schemas']['variant']; + 'application/xml': components['schemas']['variant']; + }; + }; + }; + }; + putProductsByIDVariationsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the master product that contains the variation. */ + master_product_id: string; + /** @description The id of the variation product. */ + id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['variant']; + responses: { + /** @description `ProductNotMasterException` - Indicates the master product id does not represent a master product. or `VariationValueNotValidException` - Indicates the values passed are not valid for the variation attributes. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ProductNotFoundException` - Indicates either the master product or the variation product cannot be found. or `VariationAttributeValueNotFoundException` - Indicates the value passed into a variation attribute is not one found in the valid values. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['variant']; + 'text/xml': components['schemas']['variant']; + 'application/xml': components['schemas']['variant']; + }; + }; + }; + }; + deleteProductsByIDVariationsByID: { + parameters: { + query?: never; + header?: never; + path: { + master_product_id: string; + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ProductIsNotVariationException` - Indicates product specified is not a variation. or `ProductNotMasterException` - Indicates the master product id does not represent a master product. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ProductNotFoundException` - Indicates either the master product or the variation product cannot be found. or `VariationNotFoundException` - Indicates the product does not belong to the master product. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + patchProductsByIDVariationsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the master product that contains the variation. */ + master_product_id: string; + /** @description The id of the variation product. */ + id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['variant']; + responses: { + /** @description `ProductIsNotVariationException` - Indicates product specified is not a variation. or `ProductNotMasterException` - Indicates the master product id does not represent a master product. or `VariationValueNotValidException` - Indicates the values passed are not valid for the variation attributes. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ProductNotFoundException` - Indicates either the master product or the variation product cannot be found. or `VariationNotFoundException` - Indicates the product does not belong to the master product. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['variant']; + 'text/xml': components['schemas']['variant']; + 'application/xml': components['schemas']['variant']; + }; + }; + }; + }; + getProductsByIDProductOptions: { + parameters: { + query?: { + /** @description Optional start index for retrieving the items from a given index (default 0). */ + start?: number; + /** @description Optional count for retrieving only a subset of the items (default is 25). */ + count?: number; + /** @description The property selector. */ + select?: string; + /** @description The currency mnemonic for retrieving the product option values according to the sorting mode.ex:'USD' */ + currency?: string; + }; + header?: never; + path: { + /** @description The id of the product. */ + product_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `ProductNotFoundException` - Indicates the product is not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['product_options']; + 'text/xml': components['schemas']['product_options']; + 'application/xml': components['schemas']['product_options']; + }; + }; + }; + }; + getProductsByIDProductOptionsByID: { + parameters: { + query?: { + /** @description The currency mnemonic for retrieving the product option values according to the sorting mode.ex:'USD' */ + currency?: string; + }; + header?: never; + path: { + /** @description The id of the product. */ + product_id: string; + /** @description The id of the local or shared product option. */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `ProductNotFoundException` - Indicates the product is not found. or `ProductOptionNotFoundException` - Indicates the local or shared product option is not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['product_option']; + 'text/xml': components['schemas']['product_option']; + 'application/xml': components['schemas']['product_option']; + }; + }; + }; + }; + putProductsByIDProductOptionsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the product. */ + product_id: string; + /** @description The id of the local or shared product option. */ + id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['product_option']; + responses: { + /** @description `ProductOptionCreateException` - Indicates the local product option cannot be created for a product of type variation group. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ProductNotFoundException` - Indicates the product is not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['product_option']; + 'text/xml': components['schemas']['product_option']; + 'application/xml': components['schemas']['product_option']; + }; + }; + }; + }; + deleteProductsByIDProductOptionsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the product. */ + product_id: string; + /** @description The id of the local or shared product option. */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ProductNotFoundException` - Indicates the product is not found. or `ProductOptionNotFoundException` - Indicates the local or shared product option is not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + patchProductsByIDProductOptionsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the product. */ + product_id: string; + /** @description The id of the local product option. */ + id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['product_option']; + responses: { + /** @description `ProductOptionUpdateException` - Indicates the shared product option cannot be updated. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ProductNotFoundException` - Indicates the product is not found. or `ProductOptionNotFoundException` - Indicates the local product option is not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['product_option']; + 'text/xml': components['schemas']['product_option']; + 'application/xml': components['schemas']['product_option']; + }; + }; + }; + }; + getProductsByIDProductOptionsByIDValues: { + parameters: { + query?: { + /** @description Optional start index for retrieving the items from a given index (default 0). */ + start?: number; + /** @description Optional count for retrieving only a subset of the items (default is 25). */ + count?: number; + /** @description The property selector. */ + select?: string; + }; + header?: never; + path: { + /** @description The id of the product. */ + product_id: string; + /** @description The id of the local product option. */ + option_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `ProductNotFoundException` - Indicates the product is not found. or `ProductOptionNotFoundException` - Indicates the local product option is not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['product_option_values']; + 'text/xml': components['schemas']['product_option_values']; + 'application/xml': components['schemas']['product_option_values']; + }; + }; + }; + }; + getProductsByIDProductOptionsByIDValuesByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the product. */ + product_id: string; + /** @description The id of the local product option. */ + option_id: string; + /** @description the id of local product option value. */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `ProductNotFoundException` - Indicates the product is not found. or `ProductOptionNotFoundException` - Indicates the local product option is not found. or `ProductOptionValueNotFoundException` - Indicates the local product option value is not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['product_option_value']; + 'text/xml': components['schemas']['product_option_value']; + 'application/xml': components['schemas']['product_option_value']; + }; + }; + }; + }; + putProductsByIDProductOptionsByIDValuesByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the product. */ + product_id: string; + /** @description The id of the local product option. */ + option_id: string; + /** @description The id of the local product option value. */ + id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['product_option_value']; + responses: { + /** @description `ProductNotFoundException` - Indicates the product is not found. or `ProductOptionNotFoundException` - Indicates the local product option is not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['product_option_value']; + 'text/xml': components['schemas']['product_option_value']; + 'application/xml': components['schemas']['product_option_value']; + }; + }; + }; + }; + deleteProductsByIDProductOptionsByIDValuesByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the product. */ + product_id: string; + /** @description The id of the local product option. */ + option_id: string; + /** @description The id of the local product option value. */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ProductNotFoundException` - Indicates the product is not found. or `ProductOptionNotFoundException` - Indicates the local product option is not found. or `ProductOptionValueNotFoundException` - Indicates the local product option value is not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + patchProductsByIDProductOptionsByIDValuesByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the product. */ + product_id: string; + /** @description The id of the local product option. */ + option_id: string; + /** @description The id of the local product option value. */ + id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['product_option_value']; + responses: { + /** @description `ProductNotFoundException` - Indicates the product is not found. or `ProductOptionNotFoundException` - Indicates the local product option is not found. or `ProductOptionValueNotFoundException` - Indicates the local product option value is not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['product_option_value']; + 'text/xml': components['schemas']['product_option_value']; + 'application/xml': components['schemas']['product_option_value']; + }; + }; + }; + }; + getProductsByIDVariationAttributes: { + parameters: { + query?: { + start?: number; + count?: number; + select?: string; + }; + header?: never; + path: { + /** @description The product ID of a variant or a variation master or a variation group. */ + product_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `ProductNotFoundException` - Indicates the product is not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['variation_attributes']; + 'text/xml': components['schemas']['variation_attributes']; + 'application/xml': components['schemas']['variation_attributes']; + }; + }; + }; + }; + getProductsByIDVariationAttributesByIDValues: { + parameters: { + query?: { + site_id?: string; + /** @description the first record to get in the page */ + start?: number; + /** @description the number of records to get */ + count?: number; + /** @description a string that specifies which fields to return (default is all). */ + select?: string; + /** @description set of expands to retrieve additional information: {availability, image} */ + expand?: string[]; + }; + header?: never; + path: { + /** @description id of the product */ + product_id: string; + /** @description The variation attribute ID that contains the values. */ + attribute_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `ProductNotMasterException` - Indicates the master product is not found. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ProductNotFoundException` - Indicates the product is not found. or `VariationAttributeNotFoundException` - If the attribute id specified is not a valid product attribute. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['variation_attribute_values']; + 'text/xml': components['schemas']['variation_attribute_values']; + 'application/xml': components['schemas']['variation_attribute_values']; + }; + }; + }; + }; + getProductsByIDVariationAttributesByIDValuesByID: { + parameters: { + query?: { + /** @description The site context. */ + site_id?: string; + /** @description set of expands to retrieve additional information: {availability, image} */ + expand?: string[]; + }; + header?: never; + path: { + /** @description The master product ID. */ + product_id: string; + /** @description The variation attribute custom ID */ + attribute_id: string; + /** @description The id of the variation attribute value */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `ProductNotMasterException` - Indicates the master product is not found. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ProductNotFoundException` - Indicates the product is not found. or `VariationAttributeValueNotFoundException` - If the value id specified is not a valid value id. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['variation_attribute_value']; + 'text/xml': components['schemas']['variation_attribute_value']; + 'application/xml': components['schemas']['variation_attribute_value']; + }; + }; + }; + }; + putProductsByIDVariationAttributesByIDValuesByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The master product ID. */ + product_id: string; + /** @description The variation attribute ID */ + attribute_id: string; + /** @description The id of the variation attribute value */ + id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['variation_attribute_value']; + responses: { + /** @description `ProductNotMasterException` - Indicates the master product is not found. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ProductNotFoundException` - Indicates the product is not found. or `VariationAttributeNotFoundException` - If the attribute id specified is not a valid product attribute. or `VariationAttributeValueNotFoundException` - If the value id specified is not a valid value id. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['variation_attribute_value']; + 'text/xml': components['schemas']['variation_attribute_value']; + 'application/xml': components['schemas']['variation_attribute_value']; + }; + }; + }; + }; + deleteProductsByIDVariationAttributesByIDValuesByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the product. */ + product_id: string; + /** @description The id of the variation attribute that contains the value. */ + attribute_id: string; + /** @description The id of one value to remove */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ProductNotFoundException` - If the product id specified cannot be found. or `VariationAttributeNotFoundException` - If the attribute id specified is not a valid product attribute. or `VariationAttributeValueNotFoundException` - If the value id specified is not a valid value id. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + patchProductsByIDVariationAttributesByIDValuesByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the product. */ + product_id: string; + /** @description The id of the requested variation attribute. */ + attribute_id: string; + /** @description The id of the variation value. */ + id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['variation_attribute_value']; + responses: { + /** @description `ProductNotFoundException` - If the product id specified cannot be found. or `VariationAttributeNotFoundException` - If the attribute id specified is not a valid product attribute. or `VariationAttributeValueNotFoundException` - If the value id specified is not a valid value id. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['variation_attribute_value']; + 'text/xml': components['schemas']['variation_attribute_value']; + 'application/xml': components['schemas']['variation_attribute_value']; + }; + }; + }; + }; + getProductsByIDVariationAttributesByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The product ID of a variant or a variation master or a variation group. */ + product_id: string; + /** @description The id of the requested variation attribute. */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `ProductNotMasterException` - Indicates the master product is not found. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ProductNotFoundException` - Indicates the product is not found. or `VariationAttributeNotFoundException` - Indicates that the variation attribute is not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['variation_attribute']; + 'text/xml': components['schemas']['variation_attribute']; + 'application/xml': components['schemas']['variation_attribute']; + }; + }; + }; + }; + putProductsByIDVariationAttributesByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the product. */ + product_id: string; + /** @description The id of the variation attribute to create. */ + id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['variation_attribute']; + responses: { + /** @description `ProductNotMasterException` - Indicates the master product is not found. or `ProductVariationAttributeDefinitionNotUniqueException` - Indicates that the variation attribute definition is not unique. or `ProductVariationAttributeIDNotUniqueException` - Indicates that the variation attribute id is not unique. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `AttributeDefinitionNotFoundException` - If attribute definition supplied is not a product attribute. or `ProductNotFoundException` - Indicates the product is not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['variation_attribute']; + 'text/xml': components['schemas']['variation_attribute']; + 'application/xml': components['schemas']['variation_attribute']; + }; + }; + }; + }; + deleteProductsByIDVariationAttributesByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the product. */ + product_id: string; + /** @description One variation attribute id to remove. */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ProductNotMasterException` - Indicates the master product is not found. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ProductNotFoundException` - Indicates the product is not found. or `VariationAttributeNotFoundException` - Indicates that the variation attribute is not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + patchProductsByIDVariationAttributesByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the product. */ + product_id: string; + /** @description The id of the requested variation attribute. */ + id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['variation_attribute']; + responses: { + /** @description `ProductNotMasterException` - Indicates the master product is not found. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ProductNotFoundException` - Indicates the product is not found. or `VariationAttributeNotFoundException` - Indicates that the variation attribute is not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['variation_attribute']; + 'text/xml': components['schemas']['variation_attribute']; + 'application/xml': components['schemas']['variation_attribute']; + }; + }; + }; + }; + postRoleSearch: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + 'application/json': components['schemas']['role_search_request']; + 'text/xml': components['schemas']['role_search_request']; + 'application/xml': components['schemas']['role_search_request']; + }; + }; + responses: { + /** @description `InvalidSearchQueryException` - Throws when one of the search request restrictions is violated or `MalformedSearchParameterException` - Thrown if the query is ill-formed. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['role_search_result']; + 'text/xml': components['schemas']['role_search_result']; + 'application/xml': components['schemas']['role_search_result']; + }; + }; + }; + }; + getRoles: { + parameters: { + query?: { + /** @description Optional start index for retrieving the items from a given index (default 0). */ + start?: number; + /** @description Optional count for retrieving only a subset of the items (default is 25). */ + count?: number; + /** @description The property selector. */ + select?: string; + /** @description List of expansions. */ + expand?: string[]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['roles']; + 'text/xml': components['schemas']['roles']; + 'application/xml': components['schemas']['roles']; + }; + }; + }; + }; + getRolesByID: { + parameters: { + query?: { + /** @description The list of expansions. */ + expand?: string[]; + }; + header?: never; + path: { + /** @description The id of the requested access role. */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `RoleNotFoundException` - Thrown if the access role with the given id does not exist. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['role']; + 'text/xml': components['schemas']['role']; + 'application/xml': components['schemas']['role']; + }; + }; + }; + }; + putRolesByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the access role to create. */ + id: string; + }; + cookie?: never; + }; + requestBody: { + content: { + 'application/json': components['schemas']['role']; + 'text/xml': components['schemas']['role']; + 'application/xml': components['schemas']['role']; + }; + }; + responses: { + /** @description `IdConflictException` - Thrown when id in query parameter is different from the id in the body. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `RoleOperationNotAllowedException` - Thrown when an access role with the id "Support" or "Business Support" should be created. */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `RoleAlreadyExistsException` - Thrown when an access role with the given id already exists. */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['role']; + 'text/xml': components['schemas']['role']; + 'application/xml': components['schemas']['role']; + }; + }; + }; + }; + deleteRolesByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the access role to delete. */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `RoleOperationNotAllowedException` - Thrown if deletion of the given role is not allowed */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `RoleNotFoundException` - Thrown if the given role does not exist */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + getRolesByIDPermissions: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the requested access role. */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `RoleNotFoundException` - If the specified access role does not exist. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['role_permissions']; + 'text/xml': components['schemas']['role_permissions']; + 'application/xml': components['schemas']['role_permissions']; + }; + }; + }; + }; + putRolesByIDPermissions: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the access role for which the permissions will be set. */ + id: string; + }; + cookie?: never; + }; + requestBody: { + content: { + 'application/json': components['schemas']['role_permissions']; + 'text/xml': components['schemas']['role_permissions']; + 'application/xml': components['schemas']['role_permissions']; + }; + }; + responses: { + /** @description `DefaultLocalePermissionMissingException` - If no permission for the 'default' locale is given (permission for 'default' locale is mandatory). or `DuplicatePermissionException` - If a permission is listed more than once within a scope. or `InvalidPermissionTypeException` - If the type of a given permission does not match the expected type. or `InvalidPermissionValueException` - If a permission value is given that is either unknown or not supported for a certain permission. or `InvalidPermissionValueScopeException` - If values are given permission multi values are used where only single values are support or vice versa (e.g. setting 'values' attribute of ModulePermissionWO in organization scope). or `SystemFlagMissingException` - If the 'system' flag is not set for a module permission. or `UnknownPermissionException` - If the id of a given permission could not be resolved to a permission. or `UnknownSiteIdException` - If a site specific permission is given for a site that is not known. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `RoleNotFoundException` - If the specified access role does not exist. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ResourceStateConflictException` - In case of state token conflicts. */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['role_permissions']; + 'text/xml': components['schemas']['role_permissions']; + 'application/xml': components['schemas']['role_permissions']; + }; + }; + }; + }; + postRolesByIDUserSearch: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['search_request']; + responses: { + /** @description `MalformedSearchParameterException` - Thrown if the query is ill-formed. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `RoleNotFoundException` - If the specified access role does not exist. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['user_search_result']; + 'text/xml': components['schemas']['user_search_result']; + 'application/xml': components['schemas']['user_search_result']; + }; + }; + }; + }; + getRolesByIDUsers: { + parameters: { + query?: { + /** @description Optional start index for retrieving the items from a given index (default 0). */ + start?: number; + /** @description Optional count for retrieving only a subset of the items (default is 25). */ + count?: number; + /** @description The property selector. */ + select?: string; + }; + header?: never; + path: { + /** @description ID of the access role. */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `RoleNotFoundException` - Thrown if the access role with the given id does not exist. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['users']; + 'text/xml': components['schemas']['users']; + 'application/xml': components['schemas']['users']; + }; + }; + }; + }; + putRolesByIDUsersByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description ID of the access role. */ + id: string; + /** @description Login of the user. */ + login: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `InvalidRoleException` - Thrown if the access role with the given id does not exist. or `InvalidUserLoginException` - Thrown if a user with the given login does not exist. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `UserOperationNotAllowedException` - Thrown if the operation is not allowed. */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['user']; + 'text/xml': components['schemas']['user']; + 'application/xml': components['schemas']['user']; + }; + }; + }; + }; + deleteRolesByIDUsersByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description ID of the access role. */ + id: string; + /** @description Login of the user. */ + login: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `UserOperationNotAllowedException` - Thrown if the admin user is unassigned from the Administrator role. */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `RoleNotFoundException` - Thrown if the access role with the given id does not exist. or `UserNotFoundException` - Thrown if a user with the given login does not exist. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + getSettingsLoggingCustom: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['custom_log_settings']; + 'text/xml': components['schemas']['custom_log_settings']; + 'application/xml': components['schemas']['custom_log_settings']; + }; + }; + }; + }; + patchSettingsLoggingCustom: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + 'application/json': components['schemas']['custom_log_settings']; + 'text/xml': components['schemas']['custom_log_settings']; + 'application/xml': components['schemas']['custom_log_settings']; + }; + }; + responses: { + /** @description `InvalidCustomLogCategoryException` - if one of the categories names are invalid. or `InvalidLogLevelException` - if on a production instance the configured level is DEBUG. or `InvalidRecipientEmailException` - if the email addresses are invalid. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['custom_log_settings']; + 'text/xml': components['schemas']['custom_log_settings']; + 'application/xml': components['schemas']['custom_log_settings']; + }; + }; + }; + }; + postSitePreferencesPreferenceGroupsByIDByIDPreferenceSearch: { + parameters: { + query?: { + /** @description The preference values of type Password are masked when set. */ + mask_passwords?: boolean; + /** @description The expand "value" is available to retrieve value definitions of the attribute definition. */ + expand?: string[]; + }; + header?: never; + path: { + /** @description An instance type, one of {staging,development,sandbox,production}. */ + instance_type: string; + /** @description The ID of the preference group. */ + group_id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['search_request']; + responses: { + /** @description `MalformedSearchParameterException` - Indicates the query is ill-formed. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `CustomPreferenceGroupNotFoundException` - Indicates the preference group is not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['preference_value_search_result']; + 'text/xml': components['schemas']['preference_value_search_result']; + 'application/xml': components['schemas']['preference_value_search_result']; + }; + }; + }; + }; + getSitePreferencesPreferenceGroupsByIDByIDPreferencesByID: { + parameters: { + query?: { + /** @description The preference values of type Password are masked when set. */ + mask_passwords?: boolean; + }; + header?: never; + path: { + /** @description An instance type, one of {staging,development,sandbox,production}. */ + instance_type: string; + /** @description The ID of the preference group. */ + group_id: string; + /** @description The ID of the preference to retrieve. */ + preference_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `CustomPreferenceGroupNotFoundException` - Indicates the preference group is not found. or `PreferenceNotFoundException` - Indicates the preference is not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['preference_value']; + 'text/xml': components['schemas']['preference_value']; + 'application/xml': components['schemas']['preference_value']; + }; + }; + }; + }; + postSiteSearch: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: components['requestBodies']['search_request']; + responses: { + /** @description `EnumConstraintViolationException` - Thrown if the invalid value is entered for access_type or `MalformedSearchParameterException` - Thrown if the query is ill-formed. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['site_search_result']; + 'text/xml': components['schemas']['site_search_result']; + 'application/xml': components['schemas']['site_search_result']; + }; + }; + }; + }; + getSites: { + parameters: { + query?: { + /** @description Optional start index for retrieving the items from a given index (default 0). */ + start?: number; + /** @description Optional count for retrieving only a subset of the items (default is 25). */ + count?: number; + /** @description The property selector. */ + select?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['sites']; + 'text/xml': components['schemas']['sites']; + 'application/xml': components['schemas']['sites']; + }; + }; + }; + }; + getSitesByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description the id of the site */ + site_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['site']; + 'text/xml': components['schemas']['site']; + 'application/xml': components['schemas']['site']; + }; + }; + }; + }; + postSitesByIDAbTestSearch: { + parameters: { + query?: never; + header?: never; + path: { + /** @description ID of the site that the A/B tests are contained within. */ + site_id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['search_request']; + responses: { + /** @description `SiteNotFoundException` - Indicates that site specified with the given id is unknown. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['ab_test_search_result']; + 'text/xml': components['schemas']['ab_test_search_result']; + 'application/xml': components['schemas']['ab_test_search_result']; + }; + }; + }; + }; + getSitesByIDAbTests: { + parameters: { + query?: { + /** @description Optional start index for retrieving the items from a given index (default 0). */ + start?: number; + /** @description Optional count for retrieving only a subset of the items (default is 25). */ + count?: number; + /** @description The property selector. */ + select?: string; + }; + header?: never; + path: { + /** @description ID of the site that the A/B tests are contained within. */ + site_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['ab_tests']; + 'text/xml': components['schemas']['ab_tests']; + 'application/xml': components['schemas']['ab_tests']; + }; + }; + }; + }; + putSitesByIDAbTestsByIDSegmentsByIDPromotionsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The ID of the site that contains the abTest and promotion. */ + site_id: string; + /** @description The ID of the abTest which contains the segment. */ + ab_test_id: string; + /** @description The ID of the segment to to which the promotion is to be assigned. */ + segment_id: string; + /** @description The ID of the promotion that is to be assigned to the abTest. */ + promotion_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ABTestNotFoundException` - Indicates that the abTest with the given abTest ID is not found. or `ABTestSegmentNotFoundException` - thrown when the segment with the given id is not found. or `PromotionNotFoundException` - Indicates that the promotion with the given promotion ID is not found. or `SiteNotFoundException` - thrown when the site with the given id is not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + deleteSitesByIDAbTestsByIDSegmentsByIDPromotionsByID: { + parameters: { + query?: never; + header?: never; + path: { + site_id: string; + /** @description The abTest ID that promotions are to be unbound from */ + ab_test_id: string; + /** @description the segment to bind to */ + segment_id: string; + /** @description The ID of the promotion that is to be assigned to the abTest. */ + promotion_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ABTestNotFoundException` - Indicates that the abTest with the given abTest ID is not found. or `ABTestSegmentNotFoundException` - thrown when the segment with the given id is not found. or `PromotionNotFoundException` - thrown when promotion is not found for one of the specified promotion ids. or `SiteNotFoundException` - thrown when the site with the given id is not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + putSitesByIDAbTestsByIDSegmentsByIDSlotConfigurationsByIDByID: { + parameters: { + query?: { + /** + * @description The context string, which consists of three parts: the context type (which must be folder, + * category or global), an equals sign (=), and the context id (either the category id or folder id). + * If you do not set this query parameter, the global context is used by default. + */ + context?: string; + }; + header?: never; + path: { + /** @description The id of the abTest */ + ab_test_id: string; + segment_id: string; + /** @description The id of the site */ + site_id: string; + /** @description The of the slot */ + slot_id: string; + /** @description The id of the slot configuration */ + slot_config_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `InvalidContextTypeException` - Indicates the slot context type is not one of "global", "category", or "folder" */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ABTestNotFoundException` - Indicates that the abTest with the given abTest ID is not found. or `ABTestSegmentNotFoundException` - thrown when the segment with the given id is not found. or `SiteNotFoundException` - thrown when the site with the given id is not found. or `SlotConfigurationIdentifierNotFoundException` - Indicates that the slot with the given slot ID, slot configuration ID and context type is not found. or `SlotWithContextTypeNotFoundException` - Indicates that the slot with the given slot ID and context type is not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + deleteSitesByIDAbTestsByIDSegmentsByIDSlotConfigurationsByIDByID: { + parameters: { + query?: { + /** + * @description The context string, which consists of three parts: the context type (which must be folder, + * category or global), an equals sign (=), and the context id (either the category id or folder id). + */ + context?: string; + }; + header?: never; + path: { + /** @description The id of the abTest */ + ab_test_id: string; + segment_id: string; + /** @description The id of the site */ + site_id: string; + /** @description The of the slot */ + slot_id: string; + /** @description The id of the slot configuration */ + slot_config_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `InvalidContextTypeException` - Indicates the slot context type is not one of "global", "category", or "folder" */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ABTestNotFoundException` - Indicates that the abTest with the given abTest ID is not found. or `ABTestSegmentNotFoundException` - thrown when the segment with the given id is not found. or `SiteNotFoundException` - thrown when the site with the given id is not found. or `SlotConfigurationIdentifierNotFoundException` - Indicates that the slot with the given slot ID, slot configuration ID and context type is not found. or `SlotWithContextTypeNotFoundException` - Indicates that the slot with the given slot ID and context type is not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + putSitesByIDAbTestsByIDSegmentsByIDSortingRulesByIDByID: { + parameters: { + query?: { + /** @description the optional context of the sorting rule, either "site" (default) or "global" */ + rule_context?: string; + }; + header?: never; + path: { + /** @description The ID of the site that contains the abTest, sorting rule and category. */ + site_id: string; + /** @description The ID of the abTest to which the sorting rule is to be assigned. */ + ab_test_id: string; + segment_id: string; + /** @description The ID of sorting rule that is to be assigned to the abTest. */ + sorting_rule_id: string; + /** @description The ID of the category that is associated with the sorting rule. */ + category_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `InvalidCategoryException` - Indicates that the category with the given category ID is not found. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ABTestNotFoundException` - Indicates that the abTest with the given abTest ID is not found. or `ABTestSegmentNotFoundException` - thrown when the segment with the given id is not found. or `SiteNotFoundException` - thrown when the site with the given id is not found. or `SortingRuleNotFoundException` - Indicates that the sorting rule with the given sorting rule ID is not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** + * @description `SortingRuleCampaignAssignConflictException` - Indicates that there is a sorting rule already assigned to the given abTest ID and category ID. + * The sorting rule with the given sorting rule ID cannot be assigned to the same abTest ID and category ID. + */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + deleteSitesByIDAbTestsByIDSegmentsByIDSortingRulesByIDByID: { + parameters: { + query?: { + /** @description the optional context of the sorting rule, either "site" (default) or "global" */ + rule_context?: string; + }; + header?: never; + path: { + /** @description The ID of the site that contains the abTest, sorting rule and category. */ + site_id: string; + /** @description The ID of the abTest to which the sorting rule is to be assigned. */ + ab_test_id: string; + segment_id: string; + /** @description The ID of sorting rule that is to be assigned to the abTest. */ + sorting_rule_id: string; + /** @description The ID of the category that is associated with the sorting rule. */ + category_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `InvalidCategoryException` - Indicates that the category with the given category ID is not found. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ABTestNotFoundException` - Indicates that the abTest with the given abTest ID is not found. or `ABTestSegmentNotFoundException` - thrown when the segment with the given id is not found. or `SiteNotFoundException` - thrown when the site with the given id is not found. or `SortingRuleNotFoundException` - Indicates that the sorting rule with the given sorting rule ID is not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + getSitesByIDAbTestsByID: { + parameters: { + query?: { + /** @description The expand parameter. A comma separated list with the allowed values (stats, promotions, sorting_rules, slot_configs) */ + expand?: string[]; + }; + header?: never; + path: { + /** @description ID of the site that the A/B tests are contained within. */ + site_id: string; + /** @description The id of the requested A/B Test. */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `SiteNotFoundException` - Indicates that site specified with the given id is unknown. or `ABTestNotFoundException` - Thrown in case the A/B Test does not exist matching the given id */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['ab_test']; + 'text/xml': components['schemas']['ab_test']; + 'application/xml': components['schemas']['ab_test']; + }; + }; + }; + }; + putSitesByIDAbTestsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description ID of the site that the A/B tests are contained within. */ + site_id: string; + /** @description The id of the requested A/B Test. */ + id: string; + }; + cookie?: never; + }; + requestBody?: components['requestBodies']['ab_test']; + responses: { + /** @description `ABTestInvalidEmailException` - Thrown if an invalid email is specified. or `ABTestInvalidPipelineException` - Thrown if an invalid pipeline is specified. or `ABTestInvalidTriggerException` - Thrown if there is missing pipline_call or categories in the specified trigger of type pipeline_call or category_view_page respectively. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `SiteNotFoundException` - Indicates that site specified with the given id is unknown. or `ABTestNotFoundException` - Thrown in case the A/B Test does not exist matching the given id */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** + * @description `ABTestDuplicateException` - If an A/B Test exists already in the site with the given identifier and the header + * x-dw-validate-existing=true is passed in with the request. + */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['ab_test']; + 'text/xml': components['schemas']['ab_test']; + 'application/xml': components['schemas']['ab_test']; + }; + }; + }; + }; + deleteSitesByIDAbTestsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description ID of the site that the A/B tests are contained within. */ + site_id: string; + /** @description The id of the requested A/B Test. */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `SiteNotFoundException` - Indicates that site specified with the given id is unknown. or `ABTestNotFoundException` - Thrown in case the A/B Test does not exist matching the given id */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + patchSitesByIDAbTestsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description ID of the site that the A/B tests are contained within. */ + site_id: string; + /** @description The id of the requested A/B Test. */ + id: string; + }; + cookie?: never; + }; + requestBody?: components['requestBodies']['ab_test']; + responses: { + /** @description `ABTestInvalidEmailException` - Thrown if an invalid email is specified. or `ABTestInvalidPipelineException` - Thrown if an invalid pipeline is specified. or `ABTestInvalidTriggerException` - Thrown if there is missing pipline_call or categories in the specified trigger of type pipeline_call or category_view_page respectively. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `SiteNotFoundException` - Indicates that site specified with the given id is unknown. or `ABTestNotFoundException` - Thrown in case the A/B Test does not exist matching the given id */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ABTestDuplicateException` - Thrown if an A/B Test exists already in the site with the given identifier specified in the body that is different from the identifier in the path. */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['ab_test']; + 'text/xml': components['schemas']['ab_test']; + 'application/xml': components['schemas']['ab_test']; + }; + }; + }; + }; + getSitesByIDAbTestsByIDSegmentsByID: { + parameters: { + query?: { + /** @description The expand parameter. A comma separated list with the allowed values (stats, promotions, sorting_rules, slot_configs) */ + expand?: string[]; + }; + header?: never; + path: { + /** @description ID of the site that the A/B tests are contained within. */ + site_id: string; + /** @description The id of the requested A/B Test. */ + id: string; + /** @description The id of the segment in the test. */ + segment_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `SiteNotFoundException` - Indicates that site specified with the given id is unknown. or `ABTestNotFoundException` - Thrown in case the A/B Test does not exist matching the given id or `ABTestSegmentNotFoundException` - Thrown if the segment cannot be found in the A/B Test provided */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['ab_test_segment']; + 'text/xml': components['schemas']['ab_test_segment']; + 'application/xml': components['schemas']['ab_test_segment']; + }; + }; + }; + }; + putSitesByIDAbTestsByIDSegmentsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description ID of the site that the A/B tests are contained within. */ + site_id: string; + /** @description The id of the requested A/B Test. */ + id: string; + /** @description The id of the segment in the test. */ + segment_id: string; + }; + cookie?: never; + }; + requestBody?: components['requestBodies']['ab_test_segment']; + responses: { + /** @description `SiteNotFoundException` - Indicates that site specified with the given id is unknown. or `ABTestNotFoundException` - Thrown in case the A/B Test does not exist matching the given id or `ABTestSegmentNotFoundException` - Thrown if the segment cannot be found in the A/B Test provided */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['ab_test_segment']; + 'text/xml': components['schemas']['ab_test_segment']; + 'application/xml': components['schemas']['ab_test_segment']; + }; + }; + }; + }; + deleteSitesByIDAbTestsByIDSegmentsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description ID of the site that the A/B tests are contained within. */ + site_id: string; + /** @description The id of the requested A/B Test. */ + id: string; + /** @description The id of the segment in the test. */ + segment_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `SiteNotFoundException` - Indicates that site specified with the given id is unknown. or `ABTestNotFoundException` - Thrown in case the A/B Test does not exist matching the given id or `ABTestSegmentNotFoundException` - Thrown if the segment cannot be found in the A/B Test provided */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + patchSitesByIDAbTestsByIDSegmentsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description ID of the site that the A/B tests are contained within. */ + site_id: string; + /** @description The id of the requested A/B Test. */ + id: string; + /** @description The id of the segment in the test. */ + segment_id: string; + }; + cookie?: never; + }; + requestBody?: components['requestBodies']['ab_test_segment']; + responses: { + /** @description `SiteNotFoundException` - Indicates that site specified with the given id is unknown. or `ABTestNotFoundException` - Thrown in case the A/B Test does not exist matching the given id or `ABTestSegmentNotFoundException` - Thrown if the segment cannot be found in the A/B Test provided */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['ab_test_segment']; + 'text/xml': components['schemas']['ab_test_segment']; + 'application/xml': components['schemas']['ab_test_segment']; + }; + }; + }; + }; + getSitesByIDAiRecommenderNames: { + parameters: { + query?: never; + header?: never; + path: { + /** @description Site ID to get a list of recommenders for. */ + site_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `CQuotientException` - If CQuotient responds with a non-success status code. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `SiteNotFoundException` - If the given site does not exist. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['recommenders_result']; + 'text/xml': components['schemas']['recommenders_result']; + 'application/xml': components['schemas']['recommenders_result']; + }; + }; + }; + }; + postSitesByIDCampaignSearch: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The site context. */ + site_id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['search_request']; + responses: { + /** @description `MalformedSearchParameterException` - Thrown if the query is ill-formed. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['campaign_search_result']; + 'text/xml': components['schemas']['campaign_search_result']; + 'application/xml': components['schemas']['campaign_search_result']; + }; + }; + }; + }; + getSitesByIDCampaignsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The site the requested campaign belongs to. */ + site_id: string; + /** @description The id of the requested campaign. */ + campaign_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `CampaignNotFoundException` - Thrown in case the campaign does not exist matching the given id */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['campaign']; + 'text/xml': components['schemas']['campaign']; + 'application/xml': components['schemas']['campaign']; + }; + }; + }; + }; + putSitesByIDCampaignsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The site context. */ + site_id: string; + /** @description The id of the campaign to create. */ + campaign_id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['campaign']; + responses: { + /** @description `IdConflictException` - if the Id in request is not the same as the ID in document. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['campaign']; + 'text/xml': components['schemas']['campaign']; + 'application/xml': components['schemas']['campaign']; + }; + }; + }; + }; + deleteSitesByIDCampaignsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The site context. */ + site_id: string; + /** @description A campaign id to remove */ + campaign_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + patchSitesByIDCampaignsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The site context. */ + site_id: string; + /** @description The id of the requested campaign. */ + campaign_id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['campaign']; + responses: { + /** @description `CampaignDuplicateException` - if a campaign exists already in the site with the given campaign id. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `CampaignNotFoundException` - Thrown in case the campaign does not exist matching the given id */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['campaign']; + 'text/xml': components['schemas']['campaign']; + 'application/xml': components['schemas']['campaign']; + }; + }; + }; + }; + putSitesByIDCampaignsByIDCouponsByID: { + parameters: { + query?: never; + header?: never; + path: { + site_id: string; + /** @description The campaign ID that coupons are to be bound to */ + campaign_id: string; + /** @description The coupon ID to bind to a campaign */ + coupon_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ConstraintViolationException` - Indicates some parameter constraint violation occurs */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** + * @description `CampaignNotFoundException` - Indicates that the campaign with the given campaign id + * is unknown. + */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + deleteSitesByIDCampaignsByIDCouponsByID: { + parameters: { + query?: { + removeInPCA?: string; + }; + header?: never; + path: { + site_id: string; + /** @description The campaign ID that coupons are to be unbound from */ + campaign_id: string; + /** @description The coupon ID to unbind from a campaign */ + coupon_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ConstraintViolationException` - Indicates some parameter constraint violation occurs */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** + * @description `CampaignNotFoundException` - Indicates that the campaign with the given campaign id + * is unknown. + */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + putSitesByIDCampaignsByIDCustomerGroupsByID: { + parameters: { + query?: never; + header?: never; + path: { + site_id: string; + /** @description The campaign ID that coupons are to be bound to */ + campaign_id: string; + /** @description The customer group ID to bind to a campaign */ + customer_group_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ConstraintViolationException` - Indicates some parameter constraint violation occurs */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** + * @description `CampaignNotFoundException` - Indicates that the campaign with the given campaign id + * is unknown. + */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + deleteSitesByIDCampaignsByIDCustomerGroupsByID: { + parameters: { + query?: never; + header?: never; + path: { + site_id: string; + /** @description The campaign ID that coupons are to be unbound from */ + campaign_id: string; + /** @description The customer group ID to unbind from a campaign */ + customer_group_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ConstraintViolationException` - Indicates some parameter constraint violation occurs */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** + * @description `CampaignNotFoundException` - Indicates that the campaign with the given campaign id + * is unknown. + */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + putSitesByIDCampaignsByIDPromotionsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The ID of the site that contains the campaign and promotion. */ + site_id: string; + /** @description The ID of the campaign to which the promotion is to be assigned. */ + campaign_id: string; + /** @description The ID of the promotion that is to be assigned to the campaign. */ + promotion_id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + 'application/json': components['schemas']['promotion_campaign_assignment']; + 'text/xml': components['schemas']['promotion_campaign_assignment']; + 'application/xml': components['schemas']['promotion_campaign_assignment']; + }; + }; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `CampaignNotFoundException` - Indicates that the campaign with the given campaign ID is not found. or `PromotionNotFoundException` - Indicates that the promotion with the given promotion ID is not found. or `SiteNotFoundException` - thrown when site with the given site id is not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + deleteSitesByIDCampaignsByIDPromotionsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The ID of the site that contains the campaign and promotion. */ + site_id: string; + /** @description The ID of the campaign to which the promotion is to be assigned. */ + campaign_id: string; + /** @description The ID of the promotion that is to be assigned to the campaign. */ + promotion_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `CampaignNotFoundException` - Indicates that the campaign with the given campaign ID is not found. or `PromotionNotFoundException` - Indicates that the campaign with the given promotion ID is not found. or `SiteNotFoundException` - thrown when site with the given site id is not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + patchSitesByIDCampaignsByIDPromotionsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The ID of the campaign. */ + campaign_id: string; + /** @description The ID of the site. */ + site_id: string; + /** @description The ID of the promotion. */ + promotion_id: string; + }; + cookie?: never; + }; + requestBody: { + content: { + 'application/json': components['schemas']['promotion_campaign_assignment']; + 'text/xml': components['schemas']['promotion_campaign_assignment']; + 'application/xml': components['schemas']['promotion_campaign_assignment']; + }; + }; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** + * @description `CampaignNotFoundException` - Indicates that the campaign with the given campaign ID is not found. or `CouponNotFoundException` - Indicates that the coupon with the given coupon ID is not found. or `CustomerGroupNotFoundException` - Indicates that the customer group with the given customer group ID is not + * found. or `PromotionNotFoundException` - Indicates that the promotion with the given promotion ID is not found. or `SiteNotFoundException` - thrown when site with the given site id is not found. or `SourceCodeGroupNotFoundException` - Indicates that the source code group with the given source code group ID + * is not found. + */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + putSitesByIDCampaignsByIDSlotConfigurationsByIDByID: { + parameters: { + query?: { + /** + * @description The context string, which consists of three parts: the context type (which must be folder, + * category or global), an equals sign (=), and the context id (either the category id or folder id). If + * you do not set this query parameter, the global context is used by default. + */ + context?: string; + }; + header?: never; + path: { + /** @description The ID of the campaign. */ + campaign_id: string; + /** @description The ID of the site. */ + site_id: string; + /** @description The ID of the slot. */ + slot_id: string; + /** @description The ID of the slot configuration. */ + slot_config_id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + 'application/json': components['schemas']['slot_configuration_campaign_assignment']; + 'text/xml': components['schemas']['slot_configuration_campaign_assignment']; + 'application/xml': components['schemas']['slot_configuration_campaign_assignment']; + }; + }; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** + * @description `IdConflictException` - Indicates the ID in the URL does not match the ID in the request or `InvalidContextTypeException` - Indicates the slot context type is not one of "global", "category", or + * "folder" + */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** + * @description `CampaignNotFoundException` - Indicates that the campaign with the given campaign ID is not found. or `SiteNotFoundException` - thrown when site with the given site id is not found. or `SlotConfigurationIdentifierNotFoundException` - Indicates that the slot with the given slot ID, slot + * configuration ID and context type is not found. or `SlotWithContextTypeNotFoundException` - Indicates that the slot with the given slot ID and context type is + * not found. + */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + deleteSitesByIDCampaignsByIDSlotConfigurationsByIDByID: { + parameters: { + query?: { + /** + * @description The context string, which consists of three parts: the context type (which must be folder, + * category or global), an equals sign (=), and the context id (either the category id or folder id). + */ + context?: string; + }; + header?: never; + path: { + /** @description The id of the campaign */ + campaign_id: string; + /** @description The id of the site */ + site_id: string; + /** @description The of the slot */ + slot_id: string; + /** @description The id of the slot configuration */ + slot_config_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** + * @description `InvalidContextTypeException` - Indicates the slot context type is not one of "global", "category", or + * "folder" + */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** + * @description `CampaignNotFoundException` - Indicates that the campaign with the given campaign ID is not found. or `SiteNotFoundException` - thrown when site with the given site id is not found. or `SlotConfigurationIdentifierNotFoundException` - Indicates that the slot with the given slot ID, slot + * configuration ID and context type is not found. or `SlotWithContextTypeNotFoundException` - Indicates that the slot with the given slot ID and context type is + * not found. + */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + patchSitesByIDCampaignsByIDSlotConfigurationsByIDByID: { + parameters: { + query?: { + /** + * @description The context string, which consists of three parts: the context type (which must be folder, + * category or global), an equals sign (=), and the context id (either the category id or folder id). If + * you do not set this query parameter, the global context is used by default. + */ + context?: string; + }; + header?: never; + path: { + /** @description The ID of the campaign. */ + campaign_id: string; + /** @description The ID of the site. */ + site_id: string; + /** @description The ID of the slot. */ + slot_id: string; + /** @description The ID of the slot configuration. */ + slot_config_id: string; + }; + cookie?: never; + }; + requestBody: { + content: { + 'application/json': components['schemas']['slot_configuration_campaign_assignment']; + 'text/xml': components['schemas']['slot_configuration_campaign_assignment']; + 'application/xml': components['schemas']['slot_configuration_campaign_assignment']; + }; + }; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** + * @description `InvalidContextTypeException` - Indicates the slot context type is not one of "global", "category", or + * "folder" + */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** + * @description `CampaignNotFoundException` - Indicates that the campaign with the given campaign ID is not found. or `SiteNotFoundException` - thrown when site with the given site id is not found. or `SlotConfigurationIdentifierNotFoundException` - Indicates that the slot with the given slot ID, slot + * configuration ID and context type is not found. or `SlotWithContextTypeNotFoundException` - Indicates that the slot with the given slot ID and context type is + * not found. + */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + putSitesByIDCampaignsByIDSortingRulesByIDByID: { + parameters: { + query?: { + /** @description The context in which the rule lives, either "site" or "global" */ + rule_context?: string; + }; + header?: never; + path: { + /** @description The ID of the site that contains the campaign, sorting rule and category. */ + site_id: string; + /** @description The ID of the campaign to which the sorting rule is to be assigned. */ + campaign_id: string; + /** @description The ID of sorting rule that is to be assigned to the campaign. */ + sorting_rule_id: string; + /** @description The ID of the category that is associated with the sorting rule. */ + category_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `InvalidCategoryException` - Indicates that the category with the given category ID is not found. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `CampaignNotFoundException` - Indicates that the campaign with the given campaign ID is not found. or `SiteNotFoundException` - thrown when site with the given site id is not found. or `SortingRuleNotFoundException` - Indicates that the sorting rule with the given sorting rule ID is not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** + * @description `SortingRuleCampaignAssignConflictException` - Indicates that there is a sorting rule already assigned to the + * given campaign ID and category ID. The sorting rule with the given sorting rule ID cannot be assigned + * to the same campaign ID and category ID. + */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + deleteSitesByIDCampaignsByIDSortingRulesByIDByID: { + parameters: { + query?: { + /** @description The context in which the rule lives, either "site" or "global" */ + rule_context?: string; + }; + header?: never; + path: { + /** @description The ID of the site that contains the campaign, sorting rule and category. */ + site_id: string; + /** @description The ID of the campaign to which the sorting rule is to be assigned. */ + campaign_id: string; + /** @description The ID of sorting rule that is to be assigned to the campaign. */ + sorting_rule_id: string; + /** @description The ID of the category that is associated with the sorting rule. */ + category_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `InvalidCategoryException` - Indicates that the category with the given category ID is not found. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `CampaignNotFoundException` - Indicates that the campaign with the given campaign ID is not found. or `SiteNotFoundException` - thrown when site with the given site id is not found. or `SortingRuleNotFoundException` - Indicates that the sorting rule with the given sorting rule ID is not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + putSitesByIDCampaignsByIDSourceCodeGroupsByID: { + parameters: { + query?: never; + header?: never; + path: { + site_id: string; + /** @description The campaign ID that source code group are to be bound to */ + campaign_id: string; + /** @description The source code group ID to bind to a campaign */ + source_code_group_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ConstraintViolationException` - Indicates some parameter constraint violation occurs */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** + * @description `CampaignNotFoundException` - Indicates that the campaign with the given campaign id + * is unknown. + */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + deleteSitesByIDCampaignsByIDSourceCodeGroupsByID: { + parameters: { + query?: never; + header?: never; + path: { + site_id: string; + /** @description The campaign ID that source code groups are to be unbound from */ + campaign_id: string; + /** @description The source code group ID to unbind from a campaign */ + source_code_group_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ConstraintViolationException` - Indicates some parameter constraint violation occurs */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** + * @description `CampaignNotFoundException` - Indicates that the campaign with the given campaign id + * is unknown. + */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + putSitesByIDCartridges: { + parameters: { + query?: never; + header?: never; + path: { + /** @description ID of the site. */ + site_id: string; + }; + cookie?: never; + }; + requestBody: { + content: { + 'application/json': components['schemas']['cartridge_path_create_request']; + 'text/xml': components['schemas']['cartridge_path_create_request']; + 'application/xml': components['schemas']['cartridge_path_create_request']; + }; + }; + responses: { + /** @description `InvalidCartridgePathException` - Indicates that the cartridge path is invalid */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `SiteNotFoundException` - Indicates that site specified with the given id is unknown. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['cartridge_path_api_response']; + 'text/xml': components['schemas']['cartridge_path_api_response']; + 'application/xml': components['schemas']['cartridge_path_api_response']; + }; + }; + }; + }; + postSitesByIDCartridges: { + parameters: { + query?: never; + header?: never; + path: { + /** @description ID of the site. */ + site_id: string; + }; + cookie?: never; + }; + requestBody: { + content: { + 'application/json': components['schemas']['cartridge_path_add_request']; + 'text/xml': components['schemas']['cartridge_path_add_request']; + 'application/xml': components['schemas']['cartridge_path_add_request']; + }; + }; + responses: { + /** @description `CartridgeAlreadyExistException` - Indicates that the cartridge already exist in cartridge path or `InvalidCartridgeException` - Indicates that the cartridge name is invalid or `InvalidOperationException` - The error may happen when position is either 'after' or 'before'. It indicates either target cartridge is not a existing custom cartridge. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `SiteNotFoundException` - Indicates that site specified with the given id is unknown. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['cartridge_path_api_response']; + 'text/xml': components['schemas']['cartridge_path_api_response']; + 'application/xml': components['schemas']['cartridge_path_api_response']; + }; + }; + }; + }; + deleteSitesByIDCartridgesByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description ID of the site. */ + site_id: string; + /** @description request body */ + cartridge_name: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `InvalidOperationException` - It indicates either the cartridge doesn't exist in cartridge path or the cartridge can not be deleted (e.g. System Cartridge). */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `SiteNotFoundException` - Indicates that site specified with the given id is unknown. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['cartridge_path_api_response']; + 'text/xml': components['schemas']['cartridge_path_api_response']; + 'application/xml': components['schemas']['cartridge_path_api_response']; + }; + }; + }; + }; + postSitesByIDCouponRedemptionSearch: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The site context. */ + site_id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['search_request']; + responses: { + /** @description `MalformedSearchParameterException` - Thrown if the query is ill-formed. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['coupon_redemption_search_result']; + 'text/xml': components['schemas']['coupon_redemption_search_result']; + 'application/xml': components['schemas']['coupon_redemption_search_result']; + }; + }; + }; + }; + postSitesByIDCouponSearch: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The site context. */ + site_id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['search_request']; + responses: { + /** @description `MalformedSearchParameterException` - Thrown if the query is ill-formed. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['coupon_search_result']; + 'text/xml': components['schemas']['coupon_search_result']; + 'application/xml': components['schemas']['coupon_search_result']; + }; + }; + }; + }; + getSitesByIDCoupons: { + parameters: { + query?: { + /** @description Optional start index for retrieving the codes from a given index (default 0). */ + start?: number; + /** @description Optional count for retrieving only a subset of the codes (default is 25). */ + count?: number; + /** @description The property selector. */ + select?: string; + expand?: string[]; + }; + header?: never; + path: { + /** @description The site context. */ + site_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['coupons']; + 'text/xml': components['schemas']['coupons']; + 'application/xml': components['schemas']['coupons']; + }; + }; + }; + }; + getSitesByIDCouponsByID: { + parameters: { + query?: { + /** @description The property selector. */ + select?: string; + /** @description The expand parameter. A comma separated list with the allowed values ( stats ). */ + expand?: string[]; + }; + header?: never; + path: { + /** @description The site context. */ + site_id: string; + /** @description The id of the requested coupon. */ + coupon_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `CouponNotFoundException` - Thrown in case the coupon does not exist matching the given id */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['coupon']; + 'text/xml': components['schemas']['coupon']; + 'application/xml': components['schemas']['coupon']; + }; + }; + }; + }; + putSitesByIDCouponsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The site context. */ + site_id: string; + /** @description The id of the coupon to create. */ + coupon_id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['coupon']; + responses: { + /** + * @description `CouponCodeDuplicateException` - Thrown if the code provided is in use by another coupon. or `CouponCreateSingleCodeException` - Thrown if a single code coupon does not set the coupon code properly. or `CouponInvalidException` - Thrown if the coupon passed in is not valid (the argument indicates + * the field that was invalid). or `IdConflictException` - if the Id in request is not the same as the ID in document. or `SystemGeneratedCouponQuotaException` - Thrown whenever a quota regarding system-generated coupons is violated + */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `SiteAccessForbiddenException` - Thrown if the resource requires global instead of site-specific context. */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['coupon']; + 'text/xml': components['schemas']['coupon']; + 'application/xml': components['schemas']['coupon']; + }; + }; + }; + }; + deleteSitesByIDCouponsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The site context. */ + site_id: string; + /** @description Id of the coupon to delete from the site. */ + coupon_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + patchSitesByIDCouponsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The site context. */ + site_id: string; + /** @description The id of the requested coupon. */ + coupon_id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['coupon']; + responses: { + /** + * @description `CouponCodeDuplicateException` - Thrown if the code provided is in use by another coupon. or `CouponUpdateReadOnlyException` - Thrown if you try to update certain fields in a coupon after + * redeeming or exporting it. or `SystemGeneratedCouponQuotaException` - Thrown whenever a quota regarding system-generated coupons is violated + */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `CouponLegacyUpdateForbiddenException` - Thrown when trying to update a legacy coupon. or `CouponUpdateForbiddenException` - Thrown when trying to update a broken coupon, that should be deleted and re-created. */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `CouponNotFoundException` - Thrown if the coupon does not exist matching the given id. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['coupon']; + 'text/xml': components['schemas']['coupon']; + 'application/xml': components['schemas']['coupon']; + }; + }; + }; + }; + getSitesByIDCouponsByIDCampaigns: { + parameters: { + query?: { + /** @description Optional start index for retrieving the campaigns (default 0). */ + start?: number; + /** @description Optional count for retrieving the campaigns (default is 25). */ + count?: number; + select?: string; + }; + header?: never; + path: { + /** @description The site context. */ + site_id: string; + /** @description The id of the coupon that is assigned to campaigns directly or through promotions. */ + coupon_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `CouponNotFoundException` - Thrown if the coupon does not exist matching the given id. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['campaigns']; + 'text/xml': components['schemas']['campaigns']; + 'application/xml': components['schemas']['campaigns']; + }; + }; + }; + }; + getSitesByIDCouponsByIDCampaignsByIDPromotions: { + parameters: { + query?: { + /** @description Optional start index for retrieving the promotions (default 0). */ + start?: number; + /** @description Optional count for retrieving the promotions (default is 25). */ + count?: number; + select?: string; + }; + header?: never; + path: { + /** @description The site context. */ + site_id: string; + /** @description The id of the coupon that is assigned to promotions directly or through campaigns. */ + coupon_id: string; + /** @description The id of the campaign that we want to restrict the set of promotions for. */ + campaign_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `CampaignNotFoundException` - Thrown if the campaign does not exist matching the given id. or `CouponNotFoundException` - Thrown if the coupon does not exist matching the given id. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['promotions']; + 'text/xml': components['schemas']['promotions']; + 'application/xml': components['schemas']['promotions']; + }; + }; + }; + }; + getSitesByIDCouponsByIDCodes: { + parameters: { + query?: { + /** @description Optional start index for retrieving the codes from a given index (default 0). */ + start?: number; + /** @description Optional count for retrieving only a subset of the codes (default is 25). */ + count?: number; + /** @description Optional select clause for getting fields from the returned JSON document. */ + select?: string; + }; + header?: never; + path: { + /** @description The site context. */ + site_id: string; + /** @description The id of the coupon from which to delete codes (must be a multiple code coupon). */ + coupon_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `CouponNotFoundException` - Thrown if the coupon does not exist matching the given id. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['coupon_codes']; + 'text/xml': components['schemas']['coupon_codes']; + 'application/xml': components['schemas']['coupon_codes']; + }; + }; + }; + }; + postSitesByIDCouponsByIDMultipleCodes: { + parameters: { + query?: { + /** @description Optional parameter for specifying when to delete multiple codes. */ + delete?: boolean; + }; + header?: never; + path: { + /** @description The site context. */ + site_id: string; + /** @description The id of the coupon to modify codes (must be multiple code coupon). */ + coupon_id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + 'application/json': components['schemas']['coupon_multi_codes_request']; + 'text/xml': components['schemas']['coupon_multi_codes_request']; + 'application/xml': components['schemas']['coupon_multi_codes_request']; + }; + }; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `CouponCodeCreateException` - Thrown if the coupon code could not be created. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `CouponNotFoundException` - Thrown if the coupon does not exist matching the given id. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + getSitesByIDCouponsByIDPromotions: { + parameters: { + query?: { + /** @description Optional start index for retrieving the promotions (default 0). */ + start?: number; + /** @description Optional count for retrieving the promotions (default is 25). */ + count?: number; + select?: string; + }; + header?: never; + path: { + /** @description The site context. */ + site_id: string; + /** @description The id of the coupon that is assigned to promotions directly or through campaigns. */ + coupon_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `CouponNotFoundException` - Thrown if the coupon does not exist matching the given id. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['promotions']; + 'text/xml': components['schemas']['promotions']; + 'application/xml': components['schemas']['promotions']; + }; + }; + }; + }; + getSitesByIDCustomObjectsByIDByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description the ID of the site */ + site_id: string; + /** @description the ID of the object type */ + object_type: string; + /** @description the key attribute value of the Custom Object */ + key: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `MalformedKeyParameterException` - If the object key must be an integer, but the path parameter has an invalid format */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ObjectTypeNotFoundException` - For an unknown object type ID or `CustomObjectNotFoundException` - For an unknown object key */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['custom_object']; + 'text/xml': components['schemas']['custom_object']; + 'application/xml': components['schemas']['custom_object']; + }; + }; + }; + }; + putSitesByIDCustomObjectsByIDByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description the ID of the site */ + site_id: string; + /** @description the ID of the object type */ + object_type: string; + /** @description the key attribute value of the Custom Object */ + key: string; + }; + cookie?: never; + }; + requestBody?: components['requestBodies']['custom_object2']; + responses: { + /** @description `MalformedKeyParameterException` - If the object key must be an integer, but the path parameter has an invalid format */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ObjectTypeNotFoundException` - For an unknown object type ID or `CustomObjectNotFoundException` - For an unknown object key */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['custom_object']; + 'text/xml': components['schemas']['custom_object']; + 'application/xml': components['schemas']['custom_object']; + }; + }; + }; + }; + deleteSitesByIDCustomObjectsByIDByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description the ID of the site */ + site_id: string; + /** @description the ID of the object type */ + object_type: string; + /** @description the key attribute value of the Custom Object */ + key: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `MalformedKeyParameterException` - If the object key must be an integer, but the path parameter has an invalid format */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ObjectTypeNotFoundException` - For an unknown object type ID */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + patchSitesByIDCustomObjectsByIDByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description the ID of the site */ + site_id: string; + /** @description the ID of the object type */ + object_type: string; + /** @description the key attribute value of the Custom Object */ + key: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['custom_object']; + responses: { + /** @description `MalformedKeyParameterException` - If the object key must be an integer, but the path parameter has an invalid format */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ObjectTypeNotFoundException` - For an unknown object type ID or `CustomObjectNotFoundException` - For an unknown object key */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['custom_object']; + 'text/xml': components['schemas']['custom_object']; + 'application/xml': components['schemas']['custom_object']; + }; + }; + }; + }; + postSitesByIDCustomerGroupSearch: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the site. */ + site_id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['search_request']; + responses: { + /** @description `CustomerGroupTypeInvalidException` - Thrown if the search term in term query does not match any of the customer group type. or `MalformedSearchParameterException` - Thrown if the query is ill-formed. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['customer_group_search_result']; + 'text/xml': components['schemas']['customer_group_search_result']; + 'application/xml': components['schemas']['customer_group_search_result']; + }; + }; + }; + }; + getSitesByIDCustomerGroups: { + parameters: { + query?: { + /** @description Optional start index for retrieving the items from a given index (default 0). */ + start?: number; + /** @description Optional count for retrieving only a subset of the items (default is 25). */ + count?: number; + /** @description The property selector. */ + select?: string; + }; + header?: never; + path: { + /** @description The site context. */ + site_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['customer_groups']; + 'text/xml': components['schemas']['customer_groups']; + 'application/xml': components['schemas']['customer_groups']; + }; + }; + }; + }; + getSitesByIDCustomerGroupsByID: { + parameters: { + query?: { + /** @description The attribute selector. Include 'member_count' explicitly if member count per customer group is required. */ + select?: string; + }; + header?: never; + path: { + /** @description The id of the site. */ + site_id: string; + /** @description The id of the requested customer group. */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `CustomerGroupNotFoundException` - Thrown in case the customer group does not exist matching the given id */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['customer_group']; + 'text/xml': components['schemas']['customer_group']; + 'application/xml': components['schemas']['customer_group']; + }; + }; + }; + }; + putSitesByIDCustomerGroupsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the site. */ + site_id: string; + /** @description The id of the customer group to create. */ + id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['customer_group']; + responses: { + /** @description `CustomerGroupCreateException` - Thrown when there are system error in creating the customer group. or `IdConflictException` - Thrown when id in query parameter is different from the id in the body. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `SystemCustomerGroupCreateForbiddenException` - Thrown when attempting to create the system customer group. */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `CustomerGroupAlreadyExistsException` - if a customer group exists already in the site with the given identifier. */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['customer_group']; + 'text/xml': components['schemas']['customer_group']; + 'application/xml': components['schemas']['customer_group']; + }; + }; + }; + }; + deleteSitesByIDCustomerGroupsByID: { + parameters: { + query?: { + /** @description The attribute selector for the customer group which is now in deletion */ + select?: string; + }; + header?: never; + path: { + /** @description The id of the site. */ + site_id: string; + /** @description One customer group id to remove */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `SystemCustomerGroupDeleteForbiddenException` - Thrown when attempting to delete the system customer group. */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['customer_group']; + 'text/xml': components['schemas']['customer_group']; + 'application/xml': components['schemas']['customer_group']; + }; + }; + }; + }; + patchSitesByIDCustomerGroupsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the site. */ + site_id: string; + /** @description The id of the requested customer group. */ + id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['customer_group']; + responses: { + /** @description `SystemCustomerGroupUpdateForbiddenException` - Thrown when attempting to update the system customer group. */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `CustomerGroupNotFoundException` - Thrown in case the customer group does not exist matching the given id */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['customer_group']; + 'text/xml': components['schemas']['customer_group']; + 'application/xml': components['schemas']['customer_group']; + }; + }; + }; + }; + postSitesByIDCustomerGroupsByIDMemberSearch: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the site. */ + site_id: string; + /** @description The id of the requested members customer group. */ + id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['search_request']; + responses: { + /** @description `MalformedSearchParameterException` - Thrown if the query is ill-formed. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `CustomerGroupNotFoundException` - Thrown in case the customer group does not exist matching the given id */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['customer_group_member_search_result']; + 'text/xml': components['schemas']['customer_group_member_search_result']; + 'application/xml': components['schemas']['customer_group_member_search_result']; + }; + }; + }; + }; + getSitesByIDCustomerGroupsByIDMembers: { + parameters: { + query?: { + /** @description Optional start index for retrieving the items from a given index (default 0). */ + start?: number; + /** @description Optional count for retrieving only a subset of the items (default is 25). */ + count?: number; + /** @description The property selector. */ + select?: string; + }; + header?: never; + path: { + site_id: string; + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `CustomerGroupNotFoundException` - Thrown in case the customer group does not exist matching the given id */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['customer_group_members']; + 'text/xml': components['schemas']['customer_group_members']; + 'application/xml': components['schemas']['customer_group_members']; + }; + }; + }; + }; + getSitesByIDCustomerGroupsByIDMembersByID: { + parameters: { + query?: { + /** @description The selector for selective response content. */ + select?: string; + }; + header?: never; + path: { + /** @description The id of the site. */ + site_id: string; + /** @description The id of the requested members customer group. */ + id: string; + /** @description The customer number of the requested customer group member. */ + customer_no: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `CustomerGroupMemberNotFoundException` - Thrown in case the customer group member did not exist, or the group is not a static group or `CustomerGroupNotFoundException` - Thrown in case the customer group does not exist matching the given id */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['customer_group_member']; + 'text/xml': components['schemas']['customer_group_member']; + 'application/xml': components['schemas']['customer_group_member']; + }; + }; + }; + }; + putSitesByIDCustomerGroupsByIDMembersByID: { + parameters: { + query?: { + /** @description The selector for selective response content. */ + select?: string; + }; + header?: never; + path: { + /** @description The id of the site. */ + site_id: string; + /** @description The id of the customer group. */ + id: string; + /** @description The customer number of the customer to add to the group. */ + customer_no: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `CustomerGroupUnsupportedAssignmentException` - Thrown when the customer group is not a static group. */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `CustomerGroupNotFoundException` - Thrown in case the customer group does not exist matching the given id. or `CustomerNotFoundException` - Thrown in case the customer list did not exist, or the customer does not exist in in the list. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['customer_group_member']; + 'text/xml': components['schemas']['customer_group_member']; + 'application/xml': components['schemas']['customer_group_member']; + }; + }; + }; + }; + deleteSitesByIDCustomerGroupsByIDMembersByID: { + parameters: { + query?: { + /** @description The selector for selective response content. */ + select?: string; + }; + header?: never; + path: { + /** @description The id of the site. */ + site_id: string; + /** @description The id of the customer group. */ + id: string; + /** @description The customer number of the customer to remove from the group. */ + customer_no: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `CustomerGroupUnsupportedAssignmentException` - Thrown when the customer group is not a static group. */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `CustomerGroupNotFoundException` - Thrown in case the customer group does not exist matching the given id. or `CustomerNotFoundException` - Thrown in case the customer list did not exist, or the customer does not exist in the list. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + postSitesByIDGiftCertificateSearch: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the site. */ + site_id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['search_request']; + responses: { + /** @description `MalformedSearchParameterException` - Thrown if the query is ill-formed. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['gift_certificate_search_result']; + 'text/xml': components['schemas']['gift_certificate_search_result']; + 'application/xml': components['schemas']['gift_certificate_search_result']; + }; + }; + }; + }; + getSitesByIDGiftCertificates: { + parameters: { + query?: { + /** @description Optional start index for retrieving the items from a given index (default 0). */ + start?: number; + /** @description Optional count for retrieving only a subset of the items (default is 25). */ + count?: number; + /** @description The property selector. */ + select?: string; + }; + header?: never; + path: { + /** @description The site context. */ + site_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['gift_certificates']; + 'text/xml': components['schemas']['gift_certificates']; + 'application/xml': components['schemas']['gift_certificates']; + }; + }; + }; + }; + postSitesByIDGiftCertificates: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the site. */ + site_id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['gift_certificate']; + responses: { + /** + * @description `GiftCertificateAmountOutOfRangeException` - If the amount specified is out of range or `GiftCertificateCreateMerchantIDNotUniqueException` - If merchant id is not unique or `InvalidGiftCertificateException` - if the gift certificate passed in is not valid (the + * argument indicates the field that was invalid). or `InvalidGiftCertificateStatusException` - If gift certificate status specified is invalid or `InvalidRecipientEmailException` - If recipient email address is invalid + */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['gift_certificate']; + 'text/xml': components['schemas']['gift_certificate']; + 'application/xml': components['schemas']['gift_certificate']; + }; + }; + }; + }; + getSitesByIDGiftCertificatesByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the site. */ + site_id: string; + /** @description The merchant id of the requested gift certificate. */ + merchant_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `GiftCertificateNotFoundException` - Thrown in case the gift certificate does not exist matching the given merchant id */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['gift_certificate']; + 'text/xml': components['schemas']['gift_certificate']; + 'application/xml': components['schemas']['gift_certificate']; + }; + }; + }; + }; + deleteSitesByIDGiftCertificatesByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the site. */ + site_id: string; + /** @description One gift certificate merchant id to remove */ + merchant_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + patchSitesByIDGiftCertificatesByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the site. */ + site_id: string; + /** @description The merchant id of the requested gift certificate. */ + merchant_id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['gift_certificate']; + responses: { + /** @description `InvalidGiftCertificateStatusException` - If gift certificate status specified is invalid or `InvalidRecipientEmailException` - If recipient email address is invalid */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `GiftCertificateNotFoundException` - Thrown in case the gift certificate does not exist matching the given merchant id */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['gift_certificate']; + 'text/xml': components['schemas']['gift_certificate']; + 'application/xml': components['schemas']['gift_certificate']; + }; + }; + }; + }; + getSitesByIDLocaleInfoLocales: { + parameters: { + query?: { + /** @description true if we want to include all the locales. Default is false. */ + include_all?: boolean; + /** + * @description optional locale to return by id. If specified, that locale is looked up and returned, otherwise the + * list is returned. + */ + id?: string; + /** @description the set of fields to return from the request. Default is only the locale id. */ + select?: string; + /** @description the start index for paging. Default is 0. */ + start?: number; + /** @description the count of the records to return in this page. Default is 25. */ + count?: number; + }; + header?: never; + path: { + /** @description Only locales specified for the site are returned */ + site_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['locale_result']; + 'text/xml': components['schemas']['locale_result']; + 'application/xml': components['schemas']['locale_result']; + }; + }; + }; + }; + patchSitesByIDOrdersByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description ID of the site */ + site_id: string; + /** @description The order number */ + order_no: string; + }; + cookie?: never; + }; + requestBody: { + content: { + 'application/json': components['schemas']['order_update_request']; + 'text/xml': components['schemas']['order_update_request']; + 'application/xml': components['schemas']['order_update_request']; + }; + }; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `OrderNotFoundException` - In case of the given order_no does not reference an existing order. or `SiteNotFoundException` - In case of the given site_id does not reference an existing site. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + putSitesByIDOrdersByIDConfirmationStatus: { + parameters: { + query?: never; + header?: never; + path: { + /** @description ID of the site. */ + site_id: string; + /** @description The order number */ + order_no: string; + }; + cookie?: never; + }; + requestBody: { + content: { + 'application/json': components['schemas']['order_confirmation_status_update_request']; + 'text/xml': components['schemas']['order_confirmation_status_update_request']; + 'application/xml': components['schemas']['order_confirmation_status_update_request']; + }; + }; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `OrderNotFoundException` - In case of the given order_no does not reference an existing order. or `SiteNotFoundException` - In case of the given site_id does not reference an existing site. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + putSitesByIDOrdersByIDExportStatus: { + parameters: { + query?: never; + header?: never; + path: { + /** @description ID of the site. */ + site_id: string; + /** @description The order number */ + order_no: string; + }; + cookie?: never; + }; + requestBody: { + content: { + 'application/json': components['schemas']['order_export_status_update_request']; + 'text/xml': components['schemas']['order_export_status_update_request']; + 'application/xml': components['schemas']['order_export_status_update_request']; + }; + }; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `OrderNotFoundException` - In case of the given order_no does not reference an existing order. or `SiteNotFoundException` - In case of the given site_id does not reference an existing site. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + putSitesByIDOrdersByIDExternalStatus: { + parameters: { + query?: never; + header?: never; + path: { + /** @description ID of the site. */ + site_id: string; + /** @description The order number */ + order_no: string; + }; + cookie?: never; + }; + requestBody: { + content: { + 'application/json': components['schemas']['order_external_status_update_request']; + 'text/xml': components['schemas']['order_external_status_update_request']; + 'application/xml': components['schemas']['order_external_status_update_request']; + }; + }; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `OrderNotFoundException` - In case of the given order_no does not reference an existing order. or `SiteNotFoundException` - In case of the given site_id does not reference an existing site. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + patchSitesByIDOrdersByIDPaymentInstrumentsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description ID of the site */ + site_id: string; + /** @description The order number */ + order_no: string; + /** @description ID of the payment instrument */ + payment_instrument_id: string; + }; + cookie?: never; + }; + requestBody: { + content: { + 'application/json': components['schemas']['payment_instrument_update_request']; + 'text/xml': components['schemas']['payment_instrument_update_request']; + 'application/xml': components['schemas']['payment_instrument_update_request']; + }; + }; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `OrderNotFoundException` - In case of the given order_no does not reference an existing order. or `PaymentInstrumentNotFoundException` - In case of the given payment_instrument_id does not reference an existing payment instrument. or `SiteNotFoundException` - In case of the given site_id does not reference an existing site. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + patchSitesByIDOrdersByIDPaymentInstrumentsByIDTransaction: { + parameters: { + query?: never; + header?: never; + path: { + /** @description ID of the site */ + site_id: string; + /** @description The order number */ + order_no: string; + /** @description ID of the payment instrument */ + payment_instrument_id: string; + }; + cookie?: never; + }; + requestBody: { + content: { + 'application/json': components['schemas']['payment_transaction_update_request']; + 'text/xml': components['schemas']['payment_transaction_update_request']; + 'application/xml': components['schemas']['payment_transaction_update_request']; + }; + }; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `OrderNotFoundException` - In case of the given order_no does not reference an existing order. or `PaymentInstrumentNotFoundException` - In case of the given payment_instrument_id does not reference an existing payment instrument. or `PaymentTransactionNotFoundException` - In case of the payment instrument does not reference a payment transaction. or `SiteNotFoundException` - In case of the given site_id does not reference an existing site. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + putSitesByIDOrdersByIDPaymentStatus: { + parameters: { + query?: never; + header?: never; + path: { + /** @description ID of the site. */ + site_id: string; + /** @description The order number */ + order_no: string; + }; + cookie?: never; + }; + requestBody: { + content: { + 'application/json': components['schemas']['order_payment_status_update_request']; + 'text/xml': components['schemas']['order_payment_status_update_request']; + 'application/xml': components['schemas']['order_payment_status_update_request']; + }; + }; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `OrderNotFoundException` - In case of the given order_no does not reference an existing order. or `SiteNotFoundException` - In case of the given site_id does not reference an existing site. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + putSitesByIDOrdersByIDShipmentsByIDShippingAddress: { + parameters: { + query?: never; + header?: never; + path: { + /** @description ID of the site */ + site_id: string; + /** @description The order number */ + order_no: string; + /** @description ID of the shipment */ + shipment_id: string; + }; + cookie?: never; + }; + requestBody: { + content: { + 'application/json': components['schemas']['shipping_address_update_request']; + 'text/xml': components['schemas']['shipping_address_update_request']; + 'application/xml': components['schemas']['shipping_address_update_request']; + }; + }; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `OrderNotFoundException` - In case of the given order_no does not reference an existing order. or `ShipmentNotFoundException` - In case of the given shipment_id does not reference an existing shipment. or `SiteNotFoundException` - In case of the given site_id does not reference an existing site. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + putSitesByIDOrdersByIDShippingStatus: { + parameters: { + query?: never; + header?: never; + path: { + /** @description ID of the site. */ + site_id: string; + /** @description The order number */ + order_no: string; + }; + cookie?: never; + }; + requestBody: { + content: { + 'application/json': components['schemas']['order_shipping_status_update_request']; + 'text/xml': components['schemas']['order_shipping_status_update_request']; + 'application/xml': components['schemas']['order_shipping_status_update_request']; + }; + }; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `OrderNotFoundException` - In case of the given order_no does not reference an existing order. or `SiteNotFoundException` - In case of the given site_id does not reference an existing site. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + putSitesByIDOrdersByIDStatus: { + parameters: { + query?: never; + header?: never; + path: { + /** @description ID of the site */ + site_id: string; + /** @description The order number */ + order_no: string; + }; + cookie?: never; + }; + requestBody: { + content: { + 'application/json': components['schemas']['order_status_update_request']; + 'text/xml': components['schemas']['order_status_update_request']; + 'application/xml': components['schemas']['order_status_update_request']; + }; + }; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `OrderNotFoundException` - In case of the given order_no does not reference an existing order. or `SiteNotFoundException` - In case of the given site_id does not reference an existing site. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `CancelOrderException` - The order could not be cancelled. or `OrderIntegrationStatusException` - The status change is not supported. An external order management system is integrated which has responsibility for further status changes on placed orders. or `OrderPreviouslyIntegratedStatusException` - The status change is not supported. The order was previously integrated with an external order management system which has responsibility for further status changes. or `OrderStatusTransitionException` - The status change is not supported. or `PlaceOrderException` - The order could not be placed. or `UndoCancelOrderException` - The cancelled order can not be reopened. or `UndoFailOrderException` - The failed order can not be reopened. */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + postSitesByIDPromotionCampaignAssignmentSearch: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The site context. */ + site_id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['search_request']; + responses: { + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['promotion_campaign_assignment_search_result']; + 'text/xml': components['schemas']['promotion_campaign_assignment_search_result']; + 'application/xml': components['schemas']['promotion_campaign_assignment_search_result']; + }; + }; + }; + }; + postSitesByIDPromotionSearch: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The site context. */ + site_id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['search_request']; + responses: { + /** @description `MalformedSearchParameterException` - Thrown if the query is ill-formed. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['promotion_search_result']; + 'text/xml': components['schemas']['promotion_search_result']; + 'application/xml': components['schemas']['promotion_search_result']; + }; + }; + }; + }; + getSitesByIDPromotionsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The site context. */ + site_id: string; + /** @description The id of the requested promotion. */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `PromotionNotFoundException` - Thrown in case the promotion does not exist matching the given id */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['promotion']; + 'text/xml': components['schemas']['promotion']; + 'application/xml': components['schemas']['promotion']; + }; + }; + }; + }; + putSitesByIDPromotionsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The site context. */ + site_id: string; + /** @description The id of the promotion to create. */ + id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['promotion']; + responses: { + /** @description `IdConflictException` - if the Id in request is not the same as the ID in document. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['promotion']; + 'text/xml': components['schemas']['promotion']; + 'application/xml': components['schemas']['promotion']; + }; + }; + }; + }; + deleteSitesByIDPromotionsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The site context. */ + site_id: string; + /** @description Promotion id to remove */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + patchSitesByIDPromotionsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The site context. */ + site_id: string; + /** @description The id of the requested promotion. */ + id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['promotion']; + responses: { + /** @description `PromotionNotFoundException` - Thrown in case the promotion does not exist matching the given id */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['promotion']; + 'text/xml': components['schemas']['promotion']; + 'application/xml': components['schemas']['promotion']; + }; + }; + }; + }; + getSitesByIDSitePreferencesPreferenceGroupsByIDByID: { + parameters: { + query?: { + /** @description Set to true to mask the values of preferences of type Password. */ + mask_passwords?: boolean; + }; + header?: never; + path: { + /** @description The site context. */ + site_id: string; + /** @description One of {staging,development,sandbox,production,current}. */ + instance_type: string; + /** @description The ID of the preference group. */ + group_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `CustomPreferenceGroupNotFoundException` - Indicates the preference group is not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['site_preferences']; + 'text/xml': components['schemas']['site_preferences']; + 'application/xml': components['schemas']['site_preferences']; + }; + }; + }; + }; + patchSitesByIDSitePreferencesPreferenceGroupsByIDByID: { + parameters: { + query?: { + /** @description Set to true to mask the values of preferences of type Password. */ + mask_passwords?: boolean; + }; + header?: never; + path: { + /** @description The site context. */ + site_id: string; + /** @description One of {staging,development,sandbox,production}. */ + instance_type: string; + /** @description The ID of the preference group. */ + group_id: string; + }; + cookie?: never; + }; + requestBody: { + content: { + 'application/json': components['schemas']['site_preferences']; + 'text/xml': components['schemas']['site_preferences']; + 'application/xml': components['schemas']['site_preferences']; + }; + }; + responses: { + /** @description `CustomPreferenceGroupNotFoundException` - Indicates the preference group is not found. or `ObjectTypeNotFoundException` - Indicates the SitePreferences system object is not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['site_preferences']; + 'text/xml': components['schemas']['site_preferences']; + 'application/xml': components['schemas']['site_preferences']; + }; + }; + }; + }; + postSitesByIDSlotConfigurationCampaignAssignmentSearch: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The site context. */ + site_id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['search_request']; + responses: { + /** @description `MalformedSearchParameterException` - Thrown if the query is ill-formed. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['slot_configuration_campaign_assignment_search_result']; + 'text/xml': components['schemas']['slot_configuration_campaign_assignment_search_result']; + 'application/xml': components['schemas']['slot_configuration_campaign_assignment_search_result']; + }; + }; + }; + }; + postSitesByIDSlotConfigurationSearch: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The site context. */ + site_id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['search_request']; + responses: { + /** + * @description `TypeMissmatchException` - Indicates that the value to search with does not match the + * type of the search field. + */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['slot_configuration_search_result']; + 'text/xml': components['schemas']['slot_configuration_search_result']; + 'application/xml': components['schemas']['slot_configuration_search_result']; + }; + }; + }; + }; + getSitesByIDSlotConfigurations: { + parameters: { + query?: { + /** @description Optional start index for retrieving the items from a given index (default 0). */ + start?: number; + /** @description Optional count for retrieving only a subset of the items (default is 25). */ + count?: number; + /** @description The property selector. */ + select?: string; + }; + header?: never; + path: { + /** @description The id of the site. */ + site_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['slot_configurations']; + 'text/xml': components['schemas']['slot_configurations']; + 'application/xml': components['schemas']['slot_configurations']; + }; + }; + }; + }; + postSitesByIDSlotSearch: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The site context. */ + site_id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['search_request']; + responses: { + /** @description `MalformedSearchParameterException` - Thrown if the query is ill-formed. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['slot_search_result']; + 'text/xml': components['schemas']['slot_search_result']; + 'application/xml': components['schemas']['slot_search_result']; + }; + }; + }; + }; + getSitesByIDSlots: { + parameters: { + query?: { + /** @description Optional start index for retrieving the items from a given index (default 0). */ + start?: number; + /** @description Optional count for retrieving only a subset of the items (default is 25). */ + count?: number; + /** @description The property selector. */ + select?: string; + }; + header?: never; + path: { + /** @description The id of the site. */ + site_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['slots']; + 'text/xml': components['schemas']['slots']; + 'application/xml': components['schemas']['slots']; + }; + }; + }; + }; + getSitesByIDSlotsByIDSlotConfigurationsByID: { + parameters: { + query?: { + /** + * @description The context string, which consists of three parts: the context type (which must be + * folder , category or global ), an equals sign ( = ), + * and the context id (either the category id or folder id). If you do not set this + * query parameter, the global context is used by default. + */ + context?: string; + }; + header?: never; + path: { + /** @description The id of the site for which you want to create the slot configuration. */ + site_id: string; + /** @description The id of the slot. */ + slot_id: string; + /** @description The id of the slot configuration. */ + configuration_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `InvalidContextTypeException` - Thrown if the specified context type is invalid. or `MissingSlotConfigurationContextIdException` - Thrown if the specified context id for given context 'category' or 'folder' is missing. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** + * @description `SlotConfigurationNotFoundException` - Thrown if there was no slot configuration found for the specified + * configuration id. or `SlotNotFoundException` - Throw if there was no slot with the specified id found for the + * requested site. + */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['slot_configuration']; + 'text/xml': components['schemas']['slot_configuration']; + 'application/xml': components['schemas']['slot_configuration']; + }; + }; + }; + }; + putSitesByIDSlotsByIDSlotConfigurationsByID: { + parameters: { + query?: { + /** + * @description The context string, which consists of three parts: the context type (which must be + * folder , category or global ), an equals sign ( = ), + * and the context id (either the category id or folder id). If you do not set this + * query parameter, the global context is used by default. + */ + context?: string; + }; + header?: never; + path: { + /** @description The id of the site for which you want to create the slot configuration. */ + site_id: string; + /** @description The id of the slot. */ + slot_id: string; + /** @description The id of the slot configuration. */ + configuration_id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['slot_configuration']; + responses: { + /** @description `IdConflictException` - if the Id in request is not the same as the ID in document. or `InvalidContextTypeException` - Thrown if the specified context type is invalid. or `MissingSlotConfigurationContextIdException` - Thrown if the specified context id for given context 'category' or 'folder' is missing. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** + * @description `ContentNotFoundException` - Thrown if content asset does not exist in the library of the current domain + * but is assigned during creation of the configuration. or `SlotNotFoundException` - Thrown if there was no slot with the given id found for the + * requested site. + */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['slot_configuration']; + 'text/xml': components['schemas']['slot_configuration']; + 'application/xml': components['schemas']['slot_configuration']; + }; + }; + }; + }; + deleteSitesByIDSlotsByIDSlotConfigurationsByID: { + parameters: { + query?: { + /** + * @description The context string, which consists of three parts: the context type (which must be + * folder , category or global ), an equals sign ( = ), + * and the context id (either the category id or folder id). If you do not set this + * query parameter, the global context is used by default. + */ + context?: string; + }; + header?: never; + path: { + /** @description The id of the site for which you want to create the slot configuration. */ + site_id: string; + /** @description The id of the slot. */ + slot_id: string; + /** @description The id of the slot configuration. */ + configuration_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `InvalidContextTypeException` - Thrown if the specified context type is invalid. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** + * @description `SlotNotFoundException` - Throw if there was no slot with the specified id found for the + * requested site. + */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + patchSitesByIDSlotsByIDSlotConfigurationsByID: { + parameters: { + query?: { + /** + * @description The context string, which consists of three parts: the context type (which must be + * folder , category or global ), an equals sign ( = ), + * and the context id (either the category id or folder id). If you do not set this + * query parameter, the global context is used by default. + */ + context?: string; + }; + header?: never; + path: { + /** @description The id of the site for which you want to create the slot configuration. */ + site_id: string; + /** @description The id of the slot. */ + slot_id: string; + /** @description The id of the slot configuration. */ + configuration_id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['slot_configuration']; + responses: { + /** @description `InvalidContextTypeException` - Thrown if the specified context type is invalid. or `MissingSlotConfigurationContextIdException` - Thrown if the specified context id for given context 'category' or 'folder' is missing. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** + * @description `ContentNotFoundException` - Thrown if content asset does not exist in the library of the current domain + * but is assigned during update. or `SlotConfigurationNotFoundException` - Thrown if there was no slot configuration found for the specified configuration + * id. or `SlotNotFoundException` - Thrown if there was no slot with the given id found for the + * requested site. + */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** + * @description `SlotConfigurationAlreadyExistsException` - Thrown if the configuration ID should be updated into one that is already + * assigned. + */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['slot_configuration']; + 'text/xml': components['schemas']['slot_configuration']; + 'application/xml': components['schemas']['slot_configuration']; + }; + }; + }; + }; + getSitesByIDSlotsByIDByID: { + parameters: { + query?: { + /** @description The property selector. If not passed, then the default selector will be used. */ + select?: string; + }; + header?: never; + path: { + /** @description The site context. */ + site_id: string; + /** @description The id of the requested slot. */ + slot_id: string; + /** @description The context type (folder, global, category). */ + context_type: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `SlotNotFoundException` - Indicates the slot does not exist matching the given id. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['slot']; + 'text/xml': components['schemas']['slot']; + 'application/xml': components['schemas']['slot']; + }; + }; + }; + }; + postSitesByIDSortingRuleSearch: { + parameters: { + query?: { + /** @description the optional context in which the sorting rule should be looked up, either "site", "global", or "any" (default) */ + rule_context?: string; + }; + header?: never; + path: { + /** @description The id of the site. */ + site_id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['search_request']; + responses: { + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['sorting_rule_search_result']; + 'text/xml': components['schemas']['sorting_rule_search_result']; + 'application/xml': components['schemas']['sorting_rule_search_result']; + }; + }; + }; + }; + postSitesByIDSourceCodeGroupSearch: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the site. */ + site_id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['search_request']; + responses: { + /** @description `MalformedSearchParameterException` - Thrown if the query is ill-formed. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['source_code_group_search_result']; + 'text/xml': components['schemas']['source_code_group_search_result']; + 'application/xml': components['schemas']['source_code_group_search_result']; + }; + }; + }; + }; + getSitesByIDSourceCodeGroups: { + parameters: { + query?: { + /** @description Optional start index for retrieving the items from a given index (default 0). */ + start?: number; + /** @description Optional count for retrieving only a subset of the items (default is 25). */ + count?: number; + /** @description The property selector. */ + select?: string; + expand?: string[]; + }; + header?: never; + path: { + site_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['source_code_groups']; + 'text/xml': components['schemas']['source_code_groups']; + 'application/xml': components['schemas']['source_code_groups']; + }; + }; + }; + }; + getSitesByIDSourceCodeGroupsByID: { + parameters: { + query?: { + /** + * @description the query parameter takes an expansion list to include extra information, such as specifications. + * usage: expand=specifications. + */ + expand?: string[]; + }; + header?: never; + path: { + /** @description The id of the site. */ + site_id: string; + /** @description The id of the requested source code group. */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `SourceCodeGroupNotFoundException` - Thrown in case the source code group does not exist matching the given id */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['source_code_group']; + 'text/xml': components['schemas']['source_code_group']; + 'application/xml': components['schemas']['source_code_group']; + }; + }; + }; + }; + putSitesByIDSourceCodeGroupsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the site. */ + site_id: string; + /** @description The id of the source code group to create. */ + id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['source_code_group']; + responses: { + /** @description `IdConflictException` - Thrown when the id given in request URL is different from the id provided in the source code group document or `SourceCodeGroupInvalidException` - if the source code group passed in is not valid (the argument indicates the field that was invalid). */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['source_code_group']; + 'text/xml': components['schemas']['source_code_group']; + 'application/xml': components['schemas']['source_code_group']; + }; + }; + }; + }; + deleteSitesByIDSourceCodeGroupsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the site. */ + site_id: string; + /** @description One source code group id to remove */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + patchSitesByIDSourceCodeGroupsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the site. */ + site_id: string; + /** @description The id of the requested source code group. */ + id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['source_code_group']; + responses: { + /** @description `SourceCodeGroupNotFoundException` - Thrown in case the source code group does not exist matching the given id */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['source_code_group']; + 'text/xml': components['schemas']['source_code_group']; + 'application/xml': components['schemas']['source_code_group']; + }; + }; + }; + }; + postSitesByIDStoreSearch: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The site context. */ + site_id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['search_request']; + responses: { + /** @description `MalformedSearchParameterException` - Thrown if the query is ill-formed. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['store_search_result']; + 'text/xml': components['schemas']['store_search_result']; + 'application/xml': components['schemas']['store_search_result']; + }; + }; + }; + }; + getSitesByIDStores: { + parameters: { + query?: { + /** @description Optional start index for retrieving the items from a given index (default 0). */ + start?: number; + /** @description Optional count for retrieving only a subset of the items (default is 25). */ + count?: number; + /** @description The property selector. */ + select?: string; + }; + header?: never; + path: { + site_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['stores']; + 'text/xml': components['schemas']['stores']; + 'application/xml': components['schemas']['stores']; + }; + }; + }; + }; + getSitesByIDStoresByID: { + parameters: { + query?: { + /** @description the selector for the get. If not passed, then the defaultSelector will be used instead. */ + select?: string; + }; + header?: never; + path: { + /** @description The site context. */ + site_id: string; + /** @description The id of the requested store. */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `StoreNotFoundException` - Thrown in case the store does not exist matching the given id */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['store']; + 'text/xml': components['schemas']['store']; + 'application/xml': components['schemas']['store']; + }; + }; + }; + }; + putSitesByIDStoresByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The site context. */ + site_id: string; + /** @description The id of the store to create. */ + id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['store']; + responses: { + /** @description `IdConflictException` - if the Id in request is not the same as the ID in document. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['store']; + 'text/xml': components['schemas']['store']; + 'application/xml': components['schemas']['store']; + }; + }; + }; + }; + deleteSitesByIDStoresByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The site context. */ + site_id: string; + /** @description One store id to remove */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `StoreNotFoundException` - Thrown in case the store does not exist matching the given id */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + patchSitesByIDStoresByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The site context. */ + site_id: string; + /** @description The id of the requested store. */ + id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['store']; + responses: { + /** @description `StoreNotFoundException` - Thrown in case the store does not exist matching the given id */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['store']; + 'text/xml': components['schemas']['store']; + 'application/xml': components['schemas']['store']; + }; + }; + }; + }; + postSystemObjectDefinitionSearch: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: components['requestBodies']['search_request']; + responses: { + /** @description `MalformedSearchParameterException` - Thrown if the query is ill-formed. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['object_type_definition_search_result']; + 'text/xml': components['schemas']['object_type_definition_search_result']; + 'application/xml': components['schemas']['object_type_definition_search_result']; + }; + }; + }; + }; + getSystemObjectDefinitions: { + parameters: { + query?: { + /** @description Optional start index for retrieving the items from a given index (default 0). */ + start?: number; + /** @description Optional count for retrieving only a subset of the items (default is 25). */ + count?: number; + /** @description The property selector. */ + select?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['object_type_definitions']; + 'text/xml': components['schemas']['object_type_definitions']; + 'application/xml': components['schemas']['object_type_definitions']; + }; + }; + }; + }; + getSystemObjectDefinitionsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The id of the object type for the requested system object. */ + object_type: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `SystemObjectNotFoundException` - Thrown in case the system object does not exist matching the given objectType */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['object_type_definition']; + 'text/xml': components['schemas']['object_type_definition']; + 'application/xml': components['schemas']['object_type_definition']; + }; + }; + }; + }; + postSystemObjectDefinitionsByIDAttributeDefinitionSearch: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The object type id that contains these definitions */ + object_type: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['search_request']; + responses: { + /** @description `MalformedSearchParameterException` - Indicates the query is ill-formed. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ObjectTypeNotFoundException` - in case the object type does not match an existing system type */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['object_attribute_definition_search_result']; + 'text/xml': components['schemas']['object_attribute_definition_search_result']; + 'application/xml': components['schemas']['object_attribute_definition_search_result']; + }; + }; + }; + }; + getSystemObjectDefinitionsByIDAttributeDefinitions: { + parameters: { + query?: { + /** @description Optional start index for retrieving the items from a given index (default 0). */ + start?: number; + /** @description Optional count for retrieving only a subset of the items (default is 25). */ + count?: number; + /** @description The property selector. */ + select?: string; + }; + header?: never; + path: { + object_type: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `ObjectTypeNotFoundException` - in case the object type does not match an existing system type */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['object_attribute_definitions']; + 'text/xml': components['schemas']['object_attribute_definitions']; + 'application/xml': components['schemas']['object_attribute_definitions']; + }; + }; + }; + }; + getSystemObjectDefinitionsByIDAttributeDefinitionsByID: { + parameters: { + query?: { + /** @description The selector for the get. If not passed, then the defaultSelector will be used instead. */ + select?: string; + /** @description The expansion "value" is available to retrieve value definitions of the attribute definition. */ + expand?: string[]; + }; + header?: never; + path: { + /** @description The object type id that contains these definitions */ + object_type: string; + /** @description The id of the requested attribute definition. */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `AttributeDefinitionNotFoundException` - Thrown in case the attribute definition does not exist matching the given id or `ObjectTypeNotFoundException` - in case the object type does not match an existing system type */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['object_attribute_definition']; + 'text/xml': components['schemas']['object_attribute_definition']; + 'application/xml': components['schemas']['object_attribute_definition']; + }; + }; + }; + }; + putSystemObjectDefinitionsByIDAttributeDefinitionsByID: { + parameters: { + query?: never; + header?: { + 'x-dw-validate-existing'?: boolean; + }; + path: { + /** @description The metadata object that contains these definitions */ + object_type: string; + /** @description The id of the attribute definition to create. */ + id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['object_attribute_definition']; + responses: { + /** @description `AttributeDefinitionCreateException` - if the attribute definition could not be created. or `AttributeDefinitionDuplicateException` - if a attribute definition exists already with the given attribute definition id. or `AttributeDefinitionReadOnlyException` - Thrown when trying to create an internal attribute definition or `IdConflictException` - if the Id in request is not the same as the ID in document. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `ObjectTypeNotFoundException` - Thrown in case the object type cannot be found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['object_attribute_definition']; + 'text/xml': components['schemas']['object_attribute_definition']; + 'application/xml': components['schemas']['object_attribute_definition']; + }; + }; + }; + }; + deleteSystemObjectDefinitionsByIDAttributeDefinitionsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The metadata object that contains these definitions */ + object_type: string; + /** @description Attribute definition id to remove */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `AttributeDefinitionReadOnlyException` - Thrown when trying to delete an internal attribute definition */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `AttributeDefinitionNotFoundException` - Thrown in case the attribute definition cannot be found or `ObjectTypeNotFoundException` - Thrown in case the object type cannot be found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + patchSystemObjectDefinitionsByIDAttributeDefinitionsByID: { + parameters: { + query?: never; + header?: { + /** @description must match the last eTag */ + 'If-Match'?: string; + }; + path: { + /** @description The object type id that contains these definitions */ + object_type: string; + /** @description The id of the requested attribute definition. */ + id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['object_attribute_definition']; + responses: { + /** + * @description `AttributeDefinitionPropertyReadOnlyException` - Thrown in case a read only system attribute it tried to be changed, which is not allowed. or `AttributeDefinitionReadOnlyException` - Thrown when trying to modify a read-only field of an internal + * attribute definition + */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `AttributeDefinitionNotFoundException` - Thrown in case the attribute definition does not exist matching the given id or `ObjectTypeNotFoundException` - Thrown in case the object type cannot be found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['object_attribute_definition']; + 'text/xml': components['schemas']['object_attribute_definition']; + 'application/xml': components['schemas']['object_attribute_definition']; + }; + }; + }; + }; + postSystemObjectDefinitionsByIDAttributeGroupSearch: { + parameters: { + query?: never; + header?: never; + path: { + object_type: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['search_request']; + responses: { + /** @description `MalformedSearchParameterException` - Thrown if the query is ill-formed. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['object_attribute_group_search_result']; + 'text/xml': components['schemas']['object_attribute_group_search_result']; + 'application/xml': components['schemas']['object_attribute_group_search_result']; + }; + }; + }; + }; + getSystemObjectDefinitionsByIDAttributeGroups: { + parameters: { + query?: { + /** @description Optional start index for retrieving the items from a given index (default 0). */ + start?: number; + /** @description Optional count for retrieving only a subset of the items (default is 25). */ + count?: number; + /** @description The property selector. */ + select?: string; + expand?: string[]; + }; + header?: never; + path: { + object_type: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `ObjectTypeNotFoundException` - in case the object type does not match an existing system type */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['object_attribute_groups']; + 'text/xml': components['schemas']['object_attribute_groups']; + 'application/xml': components['schemas']['object_attribute_groups']; + }; + }; + }; + }; + putSystemObjectDefinitionsByIDAttributeGroupsByIDAttributeDefinitionsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The ID of the system object that contains the attribute definition and attribute group. */ + object_type: string; + /** @description The ID of the attribute group. */ + group_id: string; + /** @description The ID of the attribute definition. */ + def_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `AttributeDefinitionNotFoundException` - Indicates the specified attribute definition is not found. or `AttributeGroupNotFoundException` - Indicates the specified attribute group is not found. or `ObjectTypeNotFoundException` - Indicates the specified system object is not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + deleteSystemObjectDefinitionsByIDAttributeGroupsByIDAttributeDefinitionsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The ID of the system object that contains the attribute definition and attribute group. */ + object_type: string; + /** @description The ID of the attribute group. */ + group_id: string; + /** @description The ID of the attribute definition. */ + def_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `AttributeDefinitionNotFoundException` - Indicates the specified attribute definition is not found. or `AttributeGroupNotFoundException` - Indicates the specified attribute group is not found. or `ObjectTypeNotFoundException` - Indicates the specified system object is not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + getSystemObjectDefinitionsByIDAttributeGroupsByID: { + parameters: { + query?: { + select?: string; + expand?: string[]; + }; + header?: never; + path: { + /** @description the object type id that contains this attribute group */ + object_type: string; + /** @description The id of the requested attribute group. */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `AttributeGroupNotFoundException` - Thrown in case the attribute group does not exist matching the given id or `ObjectTypeNotFoundException` - in case the object type does not match an existing system type */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['object_attribute_group']; + 'text/xml': components['schemas']['object_attribute_group']; + 'application/xml': components['schemas']['object_attribute_group']; + }; + }; + }; + }; + putSystemObjectDefinitionsByIDAttributeGroupsByID: { + parameters: { + query?: never; + header?: { + /** @description if true, and a attribute group already exists, will throw a AttributeGroupDuplicateException. */ + 'x-dw-validate-existing'?: boolean; + }; + path: { + /** @description the object type id that contains this attribute group */ + object_type: string; + /** @description The id of the attribute group to create. */ + id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['object_attribute_group']; + responses: { + /** @description `AttributeGroupDuplicateException` - if a attribute group exists already in the site with the given identifier and the header x-dw-validate-existing=true is passed in with the request. or `AttributeGroupReadOnlyException` - Thrown when trying to create an internal attribute group */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['object_attribute_group']; + 'text/xml': components['schemas']['object_attribute_group']; + 'application/xml': components['schemas']['object_attribute_group']; + }; + }; + }; + }; + deleteSystemObjectDefinitionsByIDAttributeGroupsByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description the object type id that contains this attribute group */ + object_type: string; + /** @description One attribute group id to remove */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `AttributeGroupReadOnlyException` - Thrown when trying to delete an internal attribute group */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `AttributeGroupNotFoundException` - Thrown in case the attribute group cannot be found or `ObjectTypeNotFoundException` - Thrown in case the object type cannot be found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + patchSystemObjectDefinitionsByIDAttributeGroupsByID: { + parameters: { + query?: never; + header?: { + /** @description must match the last eTag */ + 'If-Match'?: string; + }; + path: { + /** @description the object type id that contains this attribute group */ + object_type: string; + /** @description The id of the requested attribute group. */ + id: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['object_attribute_group']; + responses: { + /** + * @description `AttributeGroupReadOnlyException` - Thrown when trying to modify an attribute of a field of an attribute group + * that is read only + */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `AttributeGroupNotFoundException` - Thrown in case the attribute group does not exist matching the given id */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['object_attribute_group']; + 'text/xml': components['schemas']['object_attribute_group']; + 'application/xml': components['schemas']['object_attribute_group']; + }; + }; + }; + }; + postUserSearch: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: components['requestBodies']['search_request']; + responses: { + /** @description `MalformedSearchParameterException` - Thrown if the query is ill-formed. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['user_search_result']; + 'text/xml': components['schemas']['user_search_result']; + 'application/xml': components['schemas']['user_search_result']; + }; + }; + }; + }; + getUsers: { + parameters: { + query?: { + /** @description Optional start index for retrieving the items from a given index (default 0). */ + start?: number; + /** @description Optional count for retrieving only a subset of the items (default is 25). */ + count?: number; + /** @description The property selector. */ + select?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['users']; + 'text/xml': components['schemas']['users']; + 'application/xml': components['schemas']['users']; + }; + }; + }; + }; + getUsersThis: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `UserIsLockedException` - If the user profile is currently locked. or `UserNotAvailableException` - If the user provided by the OAuth token cannot be found. */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['user']; + 'text/xml': components['schemas']['user']; + 'application/xml': components['schemas']['user']; + }; + }; + }; + }; + patchUsersThisPassword: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + 'application/json': components['schemas']['password_change_request']; + 'text/xml': components['schemas']['password_change_request']; + 'application/xml': components['schemas']['password_change_request']; + }; + }; + responses: { + /** + * @description `InvalidPasswordException` - If the provided current user password is invalid. or `PasswordNotValidForReuseException` - If the same new password was set recently before. or `PasswordPolicyViolationException` - If the new password doesn't meet the acceptance crtiteria of a user + * password. + */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `UserIsLockedException` - If the user profile is currently locked. or `UserNotAvailableException` - If the user provided by the OAuth token cannot be found. */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['user']; + 'text/xml': components['schemas']['user']; + 'application/xml': components['schemas']['user']; + }; + }; + }; + }; + getUsersByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description login of the user */ + login: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `UserNotFoundException` - If no user with the specified login could be found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['user']; + 'text/xml': components['schemas']['user']; + 'application/xml': components['schemas']['user']; + }; + }; + }; + }; + putUsersByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description login of the user */ + login: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['user']; + responses: { + /** @description `ExternalIdAlreadyExistsException` - If another user with the same external id already exists. or `InvalidCredentialsException` - If password or external id of the user are invalid. or `LocalUserCreationException` - If creation of a local Business Manager user is not allowed with the current server settings. or `PasswordPolicyViolationException` - If the password doesn't meet the acceptance crtiteria of a user password. or `UnknownLocaleException` - If either the Preferred UI Locale or the Preferred Data Locale are unknown. or `IdConflictException` - If the login in the request URL is different from the login in the request body. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `UserOperationNotAllowedException` - If creation or replacement of a user with the given login is not allowed. */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['user']; + 'text/xml': components['schemas']['user']; + 'application/xml': components['schemas']['user']; + }; + }; + }; + }; + deleteUsersByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description login of the user */ + login: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `UserNotFoundException` - If no user with the specified login could be found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + patchUsersByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description login of the user */ + login: string; + }; + cookie?: never; + }; + requestBody: components['requestBodies']['user']; + responses: { + /** @description `ExternalIdAlreadyExistsException` - If another user with the same external id already exists. or `ExternalIdNullException` - If the external id is explicitly set to null for an externally managed user or `UnknownLocaleException` - If either the Preferred UI Locale or the Preferred Data Locale are unknown. or `IdConflictException` - If the login in the request URL is different from the login in the request body. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `UserOperationNotAllowedException` - If creation or replacement of a user with the given login is not allowed. */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `UserNotFoundException` - If no user with the specified login could be found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['user']; + 'text/xml': components['schemas']['user']; + 'application/xml': components['schemas']['user']; + }; + }; + }; + }; + getUsersByIDAccessKeyByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The login of the user. */ + login: string; + /** @description The scope of the access key. */ + scope: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description `UserNotExternallyManagedException` - When the specified user is not externally managed. or `UserAccessForbiddenException` - When the user executing the request is missing the required functional permission 'Manage_Users_Access_Keys'. */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `AccessKeyNotFoundException` - If the access key does not exist. or `AuthenticationScopeNotFoundException` - If the access scope does not exist. or `UserNotFoundException` - If no user was found for the login. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['access_key_details']; + 'text/xml': components['schemas']['access_key_details']; + 'application/xml': components['schemas']['access_key_details']; + }; + }; + }; + }; + putUsersByIDAccessKeyByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The login of the user. */ + login: string; + /** @description The scope of the access key. */ + scope: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + 'application/json': components['schemas']['empty_body']; + 'text/xml': components['schemas']['empty_body']; + 'application/xml': components['schemas']['empty_body']; + }; + }; + responses: { + /** @description `AccessKeyIsExpiredException` - If the acces key is already expired. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `UserNotExternallyManagedException` - When the specified user is not externally managed. or `UserAccessForbiddenException` - When the user executing the request is missing the required functional permission 'Manage_Users_Access_Keys'. */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `AuthenticationScopeNotFoundException` - If the access scope does not exist. or `UserNotFoundException` - If no user was found for the login. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['access_key_details']; + 'text/xml': components['schemas']['access_key_details']; + 'application/xml': components['schemas']['access_key_details']; + }; + }; + }; + }; + deleteUsersByIDAccessKeyByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The login of the user. */ + login: string; + /** @description The scope of the access key. */ + scope: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `UserNotExternallyManagedException` - When the specified user is not externally managed. or `UserAccessForbiddenException` - When the user executing the request is missing the required functional permission 'Manage_Users_Access_Keys'. */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `AccessKeyNotFoundException` - If the access key does not exist. or `AuthenticationScopeNotFoundException` - If the access scope does not exist. or `UserNotFoundException` - If no user was found for the login. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + patchUsersByIDAccessKeyByID: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The login of the user. */ + login: string; + /** @description The scope of the access key. */ + scope: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + 'application/json': components['schemas']['access_key_update_request']; + 'text/xml': components['schemas']['access_key_update_request']; + 'application/xml': components['schemas']['access_key_update_request']; + }; + }; + responses: { + /** @description `UserNotExternallyManagedException` - When the specified user is not externally managed. or `UserAccessForbiddenException` - When the user executing the request is missing the required functional permission 'Manage_Users_Access_Keys'. */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description `AccessKeyNotFoundException` - If the access key does not exist. or `AuthenticationScopeNotFoundException` - If the access scope does not exist. or `UserNotFoundException` - If no user was found for the login. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + default: { + headers: { + [name: string]: unknown; + }; + content: { + 'application/json': components['schemas']['access_key_details']; + 'text/xml': components['schemas']['access_key_details']; + 'application/xml': components['schemas']['access_key_details']; + }; + }; + }; + }; +} diff --git a/packages/b2c-tooling/src/clients/ocapi.ts b/packages/b2c-tooling/src/clients/ocapi.ts new file mode 100644 index 00000000..9d5b8b5a --- /dev/null +++ b/packages/b2c-tooling/src/clients/ocapi.ts @@ -0,0 +1,172 @@ +/** + * OCAPI client for B2C Commerce Data API operations. + * + * Provides a fully typed client for OCAPI Data API operations using + * openapi-fetch with authentication middleware. + * + * @module clients/ocapi + */ +import createClient, {type Client, type Middleware} from 'openapi-fetch'; +import type {AuthStrategy} from '../auth/types.js'; +import type {paths, components} from './ocapi.generated.js'; +import {getLogger} from '../logging/logger.js'; + +const DEFAULT_API_VERSION = 'v25_6'; + +/** + * Re-export generated types for external use. + */ +export type {paths, components}; + +/** + * The typed OCAPI client - this is the actual openapi-fetch Client. + */ +export type OcapiClient = Client; + +/** + * Helper type to extract response data from an operation. + */ +export type OcapiResponse = T extends {content: {'application/json': infer R}} ? R : never; + +/** + * Standard OCAPI error response structure. + */ +export interface OcapiError { + _v: string; + fault: { + type: string; + message: string; + }; +} + +/** + * Creates authentication middleware for openapi-fetch. + * + * This middleware intercepts requests and adds OAuth authentication headers + * using the provided AuthStrategy. + * + * @param auth - The authentication strategy to use + * @returns Middleware that adds auth headers to requests + */ +export function createAuthMiddleware(auth: AuthStrategy): Middleware { + return { + async onRequest({request}) { + // Get the authorization header from the auth strategy + if (auth.getAuthorizationHeader) { + const authHeader = await auth.getAuthorizationHeader(); + request.headers.set('Authorization', authHeader); + } + return request; + }, + }; +} + +/** + * Converts Headers to a plain object for logging. + */ +function headersToObject(headers: Headers): Record { + const result: Record = {}; + headers.forEach((value, key) => { + result[key] = value; + }); + return result; +} + +export function createLoggingMiddleware(): Middleware { + return { + async onRequest({request, options}) { + const logger = getLogger(); + const url = request.url; + + // Debug: Log request start + logger.debug({method: request.method, url}, `[OCAPI REQ] ${request.method} ${url}`); + + // Trace: Log request details (body is in options for openapi-fetch) + const body = (options as {body?: unknown}).body; + logger.trace({headers: headersToObject(request.headers), body}, `[OCAPI REQ BODY] ${request.method} ${url}`); + + // Store start time for duration calculation + (request as Request & {_startTime?: number})._startTime = Date.now(); + + return request; + }, + + async onResponse({request, response}) { + const logger = getLogger(); + const startTime = (request as Request & {_startTime?: number})._startTime ?? Date.now(); + const duration = Date.now() - startTime; + const url = request.url; + + // Debug: Log response summary + logger.debug( + {method: request.method, url, status: response.status, duration}, + `[OCAPI RESP] ${request.method} ${url} ${response.status} ${duration}ms`, + ); + + // Trace: Log response details + const clonedResponse = response.clone(); + let responseBody: unknown; + try { + responseBody = await clonedResponse.json(); + } catch { + responseBody = await clonedResponse.text(); + } + + logger.trace( + {headers: headersToObject(response.headers), body: responseBody}, + `[OCAPI RESP BODY] ${request.method} ${url}`, + ); + + return response; + }, + }; +} + +/** + * Creates a typed OCAPI Data API client. + * + * Returns the openapi-fetch client directly, with authentication + * handled via middleware. This gives full access to all openapi-fetch + * features with type-safe paths, parameters, and responses. + * + * @param hostname - B2C instance hostname + * @param auth - OAuth authentication strategy + * @param apiVersion - API version (defaults to v25_6) + * @returns Typed openapi-fetch client + * + * @example + * const client = createOcapiClient('sandbox.demandware.net', authStrategy); + * + * // Fully typed GET request + * const { data, error } = await client.GET('/sites', { + * params: { query: { select: '(**)' } } + * }); + * + * // Path parameters are type-checked + * const { data, error } = await client.GET('/sites/{site_id}', { + * params: { path: { site_id: 'RefArch' } } + * }); + * + * // Request bodies are typed + * const { data, error } = await client.PATCH('/code_versions/{code_version_id}', { + * params: { path: { code_version_id: 'v1' } }, + * body: { active: true } + * }); + */ +export function createOcapiClient( + hostname: string, + auth: AuthStrategy, + apiVersion: string = DEFAULT_API_VERSION, +): OcapiClient { + const client = createClient({ + baseUrl: `https://${hostname}/s/-/dw/data/${apiVersion}`, + }); + + // Add logging middleware (runs first to capture timing) + client.use(createLoggingMiddleware()); + + // Add authentication middleware + client.use(createAuthMiddleware(auth)); + + return client; +} diff --git a/packages/b2c-tooling/src/clients/webdav.ts b/packages/b2c-tooling/src/clients/webdav.ts new file mode 100644 index 00000000..46f93760 --- /dev/null +++ b/packages/b2c-tooling/src/clients/webdav.ts @@ -0,0 +1,318 @@ +/** + * WebDAV client for B2C Commerce file operations. + * + * Provides typed methods for common WebDAV operations like file upload, + * download, directory creation, and listing. + * + * @module clients/webdav + */ +import type {AuthStrategy} from '../auth/types.js'; +import {getLogger} from '../logging/logger.js'; + +/** + * Result of a PROPFIND operation. + */ +export interface PropfindEntry { + href: string; + displayName?: string; + isCollection: boolean; + contentLength?: number; + lastModified?: Date; + contentType?: string; +} + +/** + * WebDAV client for B2C Commerce instance file operations. + * + * Handles WebDAV requests with proper authentication and provides + * typed methods for common operations. + * + * @example + * const client = new WebDavClient('sandbox.demandware.net', authStrategy); + * await client.mkcol('Cartridges/v1'); + * await client.put('Cartridges/v1/app_storefront/cartridge.zip', zipBuffer); + */ +export class WebDavClient { + private baseUrl: string; + + /** + * Creates a new WebDAV client. + * + * @param hostname - WebDAV hostname (may differ from API hostname) + * @param auth - Authentication strategy to use for requests + */ + constructor( + hostname: string, + private auth: AuthStrategy, + ) { + this.baseUrl = `https://${hostname}/on/demandware.servlet/webdav/Sites`; + } + + /** + * Builds the full URL for a WebDAV path. + */ + private buildUrl(path: string): string { + const cleanPath = path.startsWith('/') ? path.slice(1) : path; + return `${this.baseUrl}/${cleanPath}`; + } + + /** + * Makes a raw WebDAV request. + * + * @param path - Path relative to /webdav/Sites/ + * @param init - Fetch init options + * @returns Response from the server + */ + async request(path: string, init?: RequestInit): Promise { + const logger = getLogger(); + const url = this.buildUrl(path); + const method = init?.method ?? 'GET'; + + // Debug: Log request start + logger.debug({method, url}, `[WebDAV REQ] ${method} ${url}`); + + // Trace: Log request details + logger.trace( + {headers: this.headersToObject(init?.headers), body: this.formatBody(init?.body)}, + `[WebDAV REQ BODY] ${method} ${url}`, + ); + + const startTime = Date.now(); + const response = await this.auth.fetch(url, init); + const duration = Date.now() - startTime; + + // Debug: Log response summary + logger.debug( + {method, url, status: response.status, duration}, + `[WebDAV RESP] ${method} ${url} ${response.status} ${duration}ms`, + ); + + // Trace: Log response details + const responseHeaders = this.headersToObject(response.headers); + let responseBody: string | undefined; + if (response.headers.get('content-type')?.includes('xml')) { + const clonedResponse = response.clone(); + responseBody = await clonedResponse.text(); + } + logger.trace({headers: responseHeaders, body: responseBody}, `[WebDAV RESP BODY] ${method} ${url}`); + + return response; + } + + /** + * Converts Headers to a plain object for logging. + */ + private headersToObject(headers?: RequestInit['headers'] | Headers): Record | undefined { + if (!headers) return undefined; + + const result: Record = {}; + if (headers instanceof Headers) { + headers.forEach((value, key) => { + result[key] = value; + }); + } else if (Array.isArray(headers)) { + for (const [key, value] of headers) { + result[key] = value; + } + } else { + Object.assign(result, headers); + } + return result; + } + + /** + * Formats body for logging, describing binary data. + */ + private formatBody(body?: RequestInit['body']): string | undefined { + if (!body) return undefined; + if (typeof body === 'string') { + return body; + } + if (body instanceof Buffer || body instanceof ArrayBuffer) { + return `[Binary: ${body instanceof Buffer ? body.length : body.byteLength} bytes]`; + } + if (body instanceof Blob) { + return `[Blob: ${body.size} bytes]`; + } + return '[Body]'; + } + + /** + * Creates a directory (collection). + * + * @param path - Path to create + * @throws Error if creation fails (except 405 which means already exists) + * + * @example + * await client.mkcol('Cartridges/v1'); + */ + async mkcol(path: string): Promise { + const response = await this.request(path, {method: 'MKCOL'}); + + // 201 = created, 405 = already exists (acceptable) + if (!response.ok && response.status !== 405) { + const text = await response.text(); + throw new Error(`MKCOL failed: ${response.status} ${response.statusText} - ${text}`); + } + } + + /** + * Uploads a file. + * + * @param path - Destination path + * @param content - File content as Buffer, Blob, or string + * @param contentType - Optional content type header + * + * @example + * await client.put('Cartridges/v1/app.zip', zipBuffer, 'application/zip'); + */ + async put(path: string, content: Buffer | Blob | string, contentType?: string): Promise { + const headers: Record = {}; + if (contentType) { + headers['Content-Type'] = contentType; + } + + const response = await this.request(path, { + method: 'PUT', + headers, + body: content, + }); + + if (!response.ok) { + const text = await response.text(); + throw new Error(`PUT failed: ${response.status} ${response.statusText} - ${text}`); + } + } + + /** + * Downloads a file. + * + * @param path - Path to download + * @returns File content as ArrayBuffer + * + * @example + * const content = await client.get('Cartridges/v1/app.zip'); + */ + async get(path: string): Promise { + const response = await this.request(path, {method: 'GET'}); + + if (!response.ok) { + throw new Error(`GET failed: ${response.status} ${response.statusText}`); + } + + return response.arrayBuffer(); + } + + /** + * Deletes a file or directory. + * + * @param path - Path to delete + * + * @example + * await client.delete('Cartridges/v1/old-cartridge'); + */ + async delete(path: string): Promise { + const response = await this.request(path, {method: 'DELETE'}); + + // 404 is acceptable (already deleted) + if (!response.ok && response.status !== 404) { + const text = await response.text(); + throw new Error(`DELETE failed: ${response.status} ${response.statusText} - ${text}`); + } + } + + /** + * Lists directory contents. + * + * @param path - Directory path + * @param depth - PROPFIND depth (0, 1, or 'infinity') + * @returns Array of entries in the directory + * + * @example + * const entries = await client.propfind('Cartridges'); + * for (const entry of entries) { + * console.log(entry.displayName, entry.isCollection); + * } + */ + async propfind(path: string, depth: '0' | '1' | 'infinity' = '1'): Promise { + const response = await this.request(path, { + method: 'PROPFIND', + headers: { + Depth: depth, + 'Content-Type': 'application/xml', + }, + body: ` + + + + + + + + +`, + }); + + if (!response.ok) { + const text = await response.text(); + throw new Error(`PROPFIND failed: ${response.status} ${response.statusText} - ${text}`); + } + + const xml = await response.text(); + return this.parsePropfindResponse(xml); + } + + /** + * Checks if a path exists. + * + * @param path - Path to check + * @returns true if exists, false otherwise + */ + async exists(path: string): Promise { + const response = await this.request(path, {method: 'HEAD'}); + return response.ok; + } + + /** + * Parses PROPFIND XML response into structured entries. + */ + private parsePropfindResponse(xml: string): PropfindEntry[] { + const entries: PropfindEntry[] = []; + + // Simple regex-based parsing for WebDAV response + // Note: For production, consider using a proper XML parser + const responsePattern = /([\s\S]*?)<\/D:response>/gi; + let match; + + while ((match = responsePattern.exec(xml)) !== null) { + const responseXml = match[1]; + + const href = this.extractXmlValue(responseXml, 'D:href') || ''; + const displayName = this.extractXmlValue(responseXml, 'D:displayname'); + const isCollection = responseXml.includes(']*>([^<]*)`, 'i'); + const match = pattern.exec(xml); + return match ? match[1] : undefined; + } +} diff --git a/packages/b2c-tooling/src/config/dw-json.ts b/packages/b2c-tooling/src/config/dw-json.ts new file mode 100644 index 00000000..97cb8a63 --- /dev/null +++ b/packages/b2c-tooling/src/config/dw-json.ts @@ -0,0 +1,163 @@ +/** + * dw.json configuration file loading. + * + * This module provides utilities for loading B2C Commerce configuration from + * dw.json files, the standard configuration format used by B2C development tools. + * + * @module config + */ +import * as fs from 'node:fs'; +import * as path from 'node:path'; + +/** + * Configuration structure matching dw.json file format. + * Uses kebab-case keys to match the file format. + */ +export interface DwJsonConfig { + /** Instance name (for multi-config files) */ + name?: string; + /** Whether this config is active (for multi-config files) */ + active?: boolean; + /** B2C instance hostname */ + hostname?: string; + /** Code version for deployments */ + 'code-version'?: string; + /** Username for Basic auth (WebDAV) */ + username?: string; + /** Password/access-key for Basic auth (WebDAV) */ + password?: string; + /** OAuth client ID */ + 'client-id'?: string; + /** OAuth client secret */ + 'client-secret'?: string; + /** OAuth scopes */ + 'oauth-scopes'?: string[]; + /** SCAPI short code */ + 'short-code'?: string; + /** Alternate hostname for WebDAV (if different from main hostname) */ + 'webdav-hostname'?: string; +} + +/** + * dw.json with multi-config support (configs array). + */ +export interface DwJsonMultiConfig extends DwJsonConfig { + /** Array of named instance configurations */ + configs?: DwJsonConfig[]; +} + +/** + * Options for loading dw.json. + */ +export interface LoadDwJsonOptions { + /** Named instance to select from configs array */ + instance?: string; + /** Explicit path to dw.json (skips searching if provided) */ + path?: string; + /** Starting directory for search (defaults to cwd) */ + startDir?: string; +} + +/** + * Finds dw.json by searching upward from the starting directory. + * + * @param startDir - Directory to start searching from (defaults to cwd) + * @returns Path to dw.json if found, undefined otherwise + * + * @example + * const dwPath = findDwJson(); + * if (dwPath) { + * console.log(`Found dw.json at ${dwPath}`); + * } + */ +export function findDwJson(startDir: string = process.cwd()): string | undefined { + let dir = startDir; + const root = path.parse(dir).root; + + while (dir !== root) { + const dwJsonPath = path.join(dir, 'dw.json'); + if (fs.existsSync(dwJsonPath)) { + return dwJsonPath; + } + dir = path.dirname(dir); + } + + return undefined; +} + +/** + * Selects the appropriate config from a multi-config dw.json. + * + * Selection priority: + * 1. Named instance (if `instance` option provided) + * 2. Config marked as `active: true` + * 3. Root-level config + */ +function selectConfig(json: DwJsonMultiConfig, instanceName?: string): DwJsonConfig { + // Single config or no configs array + if (!Array.isArray(json.configs) || json.configs.length === 0) { + return json; + } + + // Find by instance name + if (instanceName) { + // Check root first + if (json.name === instanceName) { + return json; + } + // Then check configs array + const found = json.configs.find((c) => c.name === instanceName); + if (found) { + return found; + } + // Instance not found, fall through to other selection methods + } + + // Find active config + if (json.active === false) { + // Root is inactive, look for active in configs + const activeConfig = json.configs.find((c) => c.active === true); + if (activeConfig) { + return activeConfig; + } + } + + // Default to root config + return json; +} + +/** + * Loads configuration from a dw.json file. + * + * Searches upward from the current directory (or specified startDir) for a dw.json file. + * Supports both single-config and multi-config formats. + * + * @param options - Loading options + * @returns The parsed config, or undefined if no dw.json found + * + * @example + * // Auto-find dw.json + * const config = loadDwJson(); + * + * // Use named instance + * const config = loadDwJson({ instance: 'staging' }); + * + * // Explicit path + * const config = loadDwJson({ path: './config/dw.json' }); + */ +export function loadDwJson(options: LoadDwJsonOptions = {}): DwJsonConfig | undefined { + const dwJsonPath = options.path || findDwJson(options.startDir); + + if (!dwJsonPath || !fs.existsSync(dwJsonPath)) { + return undefined; + } + + try { + const content = fs.readFileSync(dwJsonPath, 'utf8'); + const json = JSON.parse(content) as DwJsonMultiConfig; + return selectConfig(json, options.instance); + } catch { + // Invalid JSON or read error + return undefined; + } +} diff --git a/packages/b2c-tooling/src/config/index.ts b/packages/b2c-tooling/src/config/index.ts new file mode 100644 index 00000000..e219bb0e --- /dev/null +++ b/packages/b2c-tooling/src/config/index.ts @@ -0,0 +1,10 @@ +/** + * Configuration loading utilities. + * + * This module provides utilities for loading B2C Commerce configuration, + * primarily from dw.json files. + * + * @module config + */ +export {loadDwJson, findDwJson} from './dw-json.js'; +export type {DwJsonConfig, DwJsonMultiConfig, LoadDwJsonOptions} from './dw-json.js'; diff --git a/packages/b2c-tooling/src/index.ts b/packages/b2c-tooling/src/index.ts index 522ecb5b..ccb456b6 100644 --- a/packages/b2c-tooling/src/index.ts +++ b/packages/b2c-tooling/src/index.ts @@ -10,13 +10,37 @@ export type {Logger as LegacyLogger} from './logger.js'; export {t, setLanguage, getLanguage, getI18nInstance, registerTranslations, B2C_NAMESPACE} from './i18n/index.js'; export type {TOptions} from './i18n/index.js'; +// Config +export {loadDwJson, findDwJson} from './config/index.js'; +export type {DwJsonConfig, DwJsonMultiConfig, LoadDwJsonOptions} from './config/index.js'; + // Auth Layer - Strategies export {BasicAuthStrategy, OAuthStrategy, ApiKeyStrategy, decodeJWT} from './auth/index.js'; -export type {AuthStrategy, AccessTokenResponse, DecodedJWT, OAuthConfig} from './auth/index.js'; +export type { + AuthStrategy, + AccessTokenResponse, + DecodedJWT, + OAuthConfig, + AuthConfig, + BasicAuthConfig, + OAuthAuthConfig, + ApiKeyAuthConfig, +} from './auth/index.js'; // Context Layer - Instance export {B2CInstance} from './instance/index.js'; -export type {InstanceConfig} from './instance/index.js'; +export type {InstanceConfig, FromDwJsonOptions, B2CInstanceOptions} from './instance/index.js'; + +// Clients +export {WebDavClient, createOcapiClient, createAuthMiddleware} from './clients/index.js'; +export type { + PropfindEntry, + OcapiClient, + OcapiError, + OcapiResponse, + OcapiPaths, + OcapiComponents, +} from './clients/index.js'; // Context Layer - Platform export {MrtClient, OdsClient} from './platform/index.js'; diff --git a/packages/b2c-tooling/src/instance/index.ts b/packages/b2c-tooling/src/instance/index.ts index dc34ad3e..f3718104 100644 --- a/packages/b2c-tooling/src/instance/index.ts +++ b/packages/b2c-tooling/src/instance/index.ts @@ -3,110 +3,263 @@ * * This module provides the {@link B2CInstance} class which represents a connection * to a specific B2C Commerce instance. It combines instance configuration with - * an authentication strategy to make API requests. + * authentication to provide typed API clients. * * ## Usage * + * ### From dw.json (recommended) + * * ```typescript * import { B2CInstance } from '@salesforce/b2c-tooling'; - * import { OAuthStrategy } from '@salesforce/b2c-tooling/auth'; * - * const auth = new OAuthStrategy({ - * clientId: 'your-client-id', - * clientSecret: 'your-client-secret', + * // Load from dw.json, override secrets from environment + * const instance = B2CInstance.fromDwJson({ + * clientId: process.env.SFCC_CLIENT_ID, + * clientSecret: process.env.SFCC_CLIENT_SECRET, * }); * + * // Use typed clients + * await instance.webdav.put('Cartridges/v1/app.zip', content); + * const sites = await instance.ocapi.get('sites'); + * ``` + * + * ### Direct construction + * + * ```typescript * const instance = new B2CInstance( * { hostname: 'your-sandbox.demandware.net', codeVersion: 'v1' }, - * auth + * { oauth: { clientId: '...', clientSecret: '...' } } * ); - * - * // Make OCAPI requests - * const response = await instance.ocapiDataRequest('sites'); * ``` * * @module instance */ -import type {AuthStrategy} from '../auth/types.js'; +import type {AuthConfig, AuthStrategy} from '../auth/types.js'; +import {BasicAuthStrategy} from '../auth/basic.js'; +import {OAuthStrategy} from '../auth/oauth.js'; +import {WebDavClient} from '../clients/webdav.js'; +import {createOcapiClient, type OcapiClient} from '../clients/ocapi.js'; +import {loadDwJson} from '../config/dw-json.js'; +/** + * Instance configuration (hostname, code version, etc.) + */ export interface InstanceConfig { + /** B2C instance hostname */ hostname: string; + /** Code version for deployments */ codeVersion?: string; /** Separate hostname for WebDAV (if different from main hostname) */ webdavHostname?: string; } -const DEFAULT_OCAPI_VERSION = 'v24_5'; +/** + * Options for creating a B2CInstance from dw.json. + */ +export interface FromDwJsonOptions { + /** Named instance from dw.json "configs" array */ + instance?: string; + /** Path to dw.json (defaults to searching up from cwd) */ + configPath?: string; + + // Overrides (take precedence over dw.json values) + /** B2C instance hostname */ + hostname?: string; + /** Code version */ + codeVersion?: string; + /** WebDAV hostname (if different) */ + webdavHostname?: string; + /** Username for Basic auth */ + username?: string; + /** Password for Basic auth */ + password?: string; + /** OAuth client ID */ + clientId?: string; + /** OAuth client secret */ + clientSecret?: string; + /** OAuth scopes */ + scopes?: string[]; +} /** - * Represents a specific B2C Instance. - * Holds configuration + An authentication strategy. + * Represents a connection to a B2C Commerce instance. + * + * Provides lazy-loaded, typed API clients for WebDAV and OCAPI operations. + * Authentication is handled automatically based on the configured credentials. + * + * @example + * // From dw.json + * const instance = B2CInstance.fromDwJson({ + * clientSecret: process.env.SFCC_CLIENT_SECRET, + * }); + * + * // WebDAV uses Basic auth if available, falls back to OAuth + * await instance.webdav.mkcol('Cartridges/v1'); + * + * // OCAPI always uses OAuth + * const sites = await instance.ocapi.get('sites'); */ export class B2CInstance { + private _webdav?: WebDavClient; + private _ocapi?: OcapiClient; + + /** + * Creates a B2CInstance from a dw.json file with optional overrides. + * + * Searches upward from the current directory for a dw.json file, + * then applies any provided overrides. + * + * @param options - Loading options and overrides + * @returns Configured B2CInstance + * @throws Error if no dw.json found or required configuration missing + * + * @example + * // Auto-find dw.json, override secrets + * const instance = B2CInstance.fromDwJson({ + * clientId: process.env.SFCC_CLIENT_ID, + * clientSecret: process.env.SFCC_CLIENT_SECRET, + * }); + * + * // Use named instance + * const instance = B2CInstance.fromDwJson({ + * instance: 'staging', + * }); + */ + static fromDwJson(options: FromDwJsonOptions = {}): B2CInstance { + const dwConfig = loadDwJson({ + instance: options.instance, + path: options.configPath, + }); + + // Merge dw.json with overrides (overrides win) + const hostname = options.hostname ?? dwConfig?.hostname; + const codeVersion = options.codeVersion ?? dwConfig?.['code-version']; + const webdavHostname = options.webdavHostname ?? dwConfig?.['webdav-hostname']; + const username = options.username ?? dwConfig?.username; + const password = options.password ?? dwConfig?.password; + const clientId = options.clientId ?? dwConfig?.['client-id']; + const clientSecret = options.clientSecret ?? dwConfig?.['client-secret']; + const scopes = options.scopes ?? dwConfig?.['oauth-scopes']; + + if (!hostname) { + throw new Error( + 'Hostname is required. Set in dw.json or provide via options. ' + (dwConfig ? '' : 'No dw.json file found.'), + ); + } + + const config: InstanceConfig = { + hostname, + codeVersion, + webdavHostname, + }; + + const auth: AuthConfig = {}; + + if (username && password) { + auth.basic = {username, password}; + } + + if (clientId) { + auth.oauth = { + clientId, + clientSecret, + scopes, + }; + } + + return new B2CInstance(config, auth); + } + + /** + * Creates a new B2CInstance. + * + * @param config - Instance configuration (hostname, code version) + * @param auth - Authentication configuration + */ constructor( public readonly config: InstanceConfig, - public readonly auth: AuthStrategy, + public readonly auth: AuthConfig, ) {} /** * The hostname to use for WebDAV operations. * Falls back to main hostname if not specified. */ - get webdavHost(): string { + get webdavHostname(): string { return this.config.webdavHostname || this.config.hostname; } /** - * Helper to make requests relative to the instance root. - * Delegates the actual network call to the Auth Strategy. + * WebDAV client for file operations. + * + * Uses Basic auth if username/password are configured, + * otherwise falls back to OAuth. + * + * @example + * await instance.webdav.mkcol('Cartridges/v1'); + * await instance.webdav.put('Cartridges/v1/app.zip', content); + * const entries = await instance.webdav.propfind('Cartridges'); */ - async request(path: string, init?: RequestInit): Promise { - const cleanPath = path.startsWith('/') ? path.slice(1) : path; - const url = `https://${this.config.hostname}/${cleanPath}`; - return this.auth.fetch(url, init); + get webdav(): WebDavClient { + if (!this._webdav) { + this._webdav = new WebDavClient(this.webdavHostname, this.getWebDavAuthStrategy()); + } + return this._webdav; } /** - * Helper to make WebDAV requests. - * Uses webdavHostname if configured, otherwise falls back to hostname. + * OCAPI Data API client. + * + * Returns the openapi-fetch client directly with full type safety. + * Always uses OAuth authentication. + * + * @example + * const { data, error } = await instance.ocapi.GET('/sites', {}); + * const { data, error } = await instance.ocapi.PATCH('/code_versions/{code_version_id}', { + * params: { path: { code_version_id: 'v1' } }, + * body: { active: true } + * }); */ - async webdavRequest(path: string, init?: RequestInit): Promise { - const cleanPath = path.startsWith('/') ? path.slice(1) : path; - const url = `https://${this.webdavHost}/on/demandware.servlet/webdav/Sites/${cleanPath}`; - return this.auth.fetch(url, init); + get ocapi(): OcapiClient { + if (!this._ocapi) { + this._ocapi = createOcapiClient(this.config.hostname, this.getOAuthStrategy()); + } + return this._ocapi; } /** - * Helper to make OCAPI Data API requests. - * @param path - The API path (e.g., 'sites', 'code_versions') - * @param init - Optional fetch init options - * @param apiVersion - OCAPI version (defaults to v24_5) + * Gets the auth strategy for WebDAV operations. + * Prefers Basic auth, falls back to OAuth. */ - async ocapiDataRequest( - path: string, - init?: RequestInit, - apiVersion: string = DEFAULT_OCAPI_VERSION, - ): Promise { - const cleanPath = path.startsWith('/') ? path.slice(1) : path; - const url = `https://${this.config.hostname}/s/-/dw/data/${apiVersion}/${cleanPath}`; - return this.auth.fetch(url, init); + private getWebDavAuthStrategy(): AuthStrategy { + if (this.auth.basic) { + return new BasicAuthStrategy(this.auth.basic.username, this.auth.basic.password); + } + + return this.getOAuthStrategy(); } /** - * Helper to make OCAPI Shop API requests. - * @param siteId - The site ID - * @param path - The API path - * @param init - Optional fetch init options - * @param apiVersion - OCAPI version (defaults to v24_5) + * Gets the OAuth auth strategy. + * @throws Error if OAuth credentials not configured */ - async ocapiShopRequest( - siteId: string, - path: string, - init?: RequestInit, - apiVersion: string = DEFAULT_OCAPI_VERSION, - ): Promise { - const cleanPath = path.startsWith('/') ? path.slice(1) : path; - const url = `https://${this.config.hostname}/s/${siteId}/dw/shop/${apiVersion}/${cleanPath}`; - return this.auth.fetch(url, init); + private getOAuthStrategy(): AuthStrategy { + if (!this.auth.oauth) { + throw new Error('OAuth credentials required. Provide clientId and clientSecret.'); + } + + if (!this.auth.oauth.clientSecret) { + throw new Error('OAuth client secret required for non-interactive use.'); + } + + return new OAuthStrategy({ + clientId: this.auth.oauth.clientId, + clientSecret: this.auth.oauth.clientSecret, + scopes: this.auth.oauth.scopes, + accountManagerHost: this.auth.oauth.accountManagerHost, + }); } } + +// Re-export types for convenience +export type {AuthConfig, FromDwJsonOptions as B2CInstanceOptions}; diff --git a/packages/b2c-tooling/src/logging/logger.ts b/packages/b2c-tooling/src/logging/logger.ts index 40eb48e7..1a4a2e05 100644 --- a/packages/b2c-tooling/src/logging/logger.ts +++ b/packages/b2c-tooling/src/logging/logger.ts @@ -19,13 +19,39 @@ const REDACT_FIELDS = [ 'token', 'secret', 'authorization', + 'Authorization', ]; const REDACT_PATHS = REDACT_FIELDS.flatMap((field) => [field, `*.${field}`]); -function censor(value: unknown): string { +function censor(value: unknown, path: string[]): string { + // Special handling for authorization headers + if (path[path.length - 1].toLowerCase() === 'authorization' && typeof value === 'string') { + const parts = value.split(' '); + if (parts.length === 2) { + const [scheme, credentials] = parts; + + // For Basic auth, decode, redact password, and re-encode + if (scheme.toLowerCase() === 'basic') { + try { + const decoded = Buffer.from(credentials, 'base64').toString('utf-8'); + const colonIndex = decoded.indexOf(':'); + if (colonIndex !== -1) { + const username = decoded.slice(0, colonIndex); + const redacted = Buffer.from(`${username}:REDACTED`).toString('base64'); + return `Basic ${redacted}`; + } + } catch { + // If decoding fails, fall through to default behavior + } + } + + // For other schemes (Bearer, etc.), show scheme and partial token + return `${scheme} ${credentials.slice(0, 6)}...REDACTED`; + } + } if (typeof value === 'string' && value.length > 10) { - return `${value.slice(0, 4)}REDACTED`; + return `${value.slice(0, 4)}...REDACTED`; } return 'REDACTED'; } diff --git a/packages/b2c-tooling/src/operations/code/upload.ts b/packages/b2c-tooling/src/operations/code/upload.ts index 040b2295..b0e6f314 100644 --- a/packages/b2c-tooling/src/operations/code/upload.ts +++ b/packages/b2c-tooling/src/operations/code/upload.ts @@ -12,12 +12,7 @@ export async function uploadCartridges(instance: B2CInstance, _rootDir: string): console.log(`Uploading to ${instance.config.hostname} (Version: ${instance.config.codeVersion})...`); // Create the version directory - const res = await instance.webdavRequest(`Cartridges/${instance.config.codeVersion}`, {method: 'MKCOL'}); - - // 405 means directory already exists, which is fine - if (!res.ok && res.status !== 405) { - throw new Error(`Failed to create directory: ${res.status} ${res.statusText}`); - } + await instance.webdav.mkcol(`Cartridges/${instance.config.codeVersion}`); // TODO: Implement actual file upload logic // - Zip the cartridges from rootDir diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e8ec81bf..05c01192 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -19,7 +19,7 @@ importers: version: 1.1.2(typedoc-plugin-markdown@4.9.0(typedoc@0.28.14(typescript@5.9.3))) vitepress: specifier: ^1.6.4 - version: 1.6.4(@algolia/client-search@5.44.0)(@types/node@22.19.0)(postcss@8.5.6)(search-insights@2.17.3)(typescript@5.9.3) + version: 1.6.4(@algolia/client-search@5.44.0)(@types/node@22.19.0)(change-case@5.4.4)(postcss@8.5.6)(search-insights@2.17.3)(typescript@5.9.3) packages/b2c-cli: dependencies: @@ -35,6 +35,9 @@ importers: '@salesforce/b2c-tooling': specifier: workspace:* version: link:../b2c-tooling + cliui: + specifier: ^9.0.1 + version: 9.0.1 devDependencies: '@eslint/compat': specifier: ^1 @@ -96,6 +99,9 @@ importers: i18next: specifier: ^25.6.3 version: 25.6.3(typescript@5.9.3) + openapi-fetch: + specifier: ^0.15.0 + version: 0.15.0 pino: specifier: ^10.1.0 version: 10.1.0 @@ -127,6 +133,9 @@ importers: eslint-plugin-prettier: specifier: ^5.5.4 version: 5.5.4(eslint-config-prettier@10.1.8(eslint@9.39.1))(eslint@9.39.1)(prettier@3.6.2) + openapi-typescript: + specifier: ^7.10.1 + version: 7.10.1(typescript@5.9.3) prettier: specifier: ^3.6.2 version: 3.6.2 @@ -1060,6 +1069,16 @@ packages: resolution: {integrity: sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw==} engines: {node: '>=12'} + '@redocly/ajv@8.17.1': + resolution: {integrity: sha512-EDtsGZS964mf9zAUXAl9Ew16eYbeyAFWhsPr0fX6oaJxgd8rApYlPBf0joyhnUHz88WxrigyFtTaqqzXNzPgqw==} + + '@redocly/config@0.22.2': + resolution: {integrity: sha512-roRDai8/zr2S9YfmzUfNhKjOF0NdcOIqF7bhf4MVC5UxpjIysDjyudvlAiVbpPHp3eDRWbdzUgtkK1a7YiDNyQ==} + + '@redocly/openapi-core@1.34.5': + resolution: {integrity: sha512-0EbE8LRbkogtcCXU7liAyC00n9uNG9hJ+eMyHFdUsy9lB/WGqnEBgwjA9q2cyzAVcdTkQqTBBU1XePNnN3OijA==} + engines: {node: '>=18.17.0', npm: '>=9.5.0'} + '@rollup/rollup-android-arm-eabi@4.53.3': resolution: {integrity: sha512-mRSi+4cBjrRLoaal2PnqH82Wqyb+d3HsPUN/W+WslCXsZsyHa9ZeQQX/pQsZaVIWDkPcpV6jJ+3KLbTbgnwv8w==} cpu: [arm] @@ -1786,6 +1805,10 @@ packages: engines: {node: '>=0.4.0'} hasBin: true + agent-base@7.1.4: + resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==} + engines: {node: '>= 14'} + ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} @@ -1805,10 +1828,18 @@ packages: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} + ansi-regex@6.2.2: + resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} + engines: {node: '>=12'} + ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} + ansi-styles@6.2.3: + resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} + engines: {node: '>=12'} + ansis@3.17.0: resolution: {integrity: sha512-0qWUglt9JEqLFr3w1I1pbrChn1grhaiAR2ocX1PP/flRmxgtwTzPFFFnfIlD6aMOLQZgSuCRlidD70lvx8yhzg==} engines: {node: '>=14'} @@ -1962,6 +1993,9 @@ packages: change-case@4.1.2: resolution: {integrity: sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==} + change-case@5.4.4: + resolution: {integrity: sha512-HRQyTk2/YPEkt9TnUPbOpr64Uw3KOicFWPVBb+xiHvd6eBx/qPr9xqfBFDT8P2vWsvvz4jbEkfDe71W3VyNu2w==} + character-entities-html4@2.1.0: resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} @@ -2005,6 +2039,10 @@ packages: cliui@7.0.4: resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} + cliui@9.0.1: + resolution: {integrity: sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==} + engines: {node: '>=20'} + color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} @@ -2012,6 +2050,9 @@ packages: color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + colorette@1.4.0: + resolution: {integrity: sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==} + colorette@2.0.20: resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} @@ -2152,6 +2193,9 @@ packages: emoji-regex-xs@1.0.0: resolution: {integrity: sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==} + emoji-regex@10.6.0: + resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} + emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -2460,6 +2504,9 @@ packages: fast-safe-stringify@2.1.1: resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} + fast-uri@3.1.0: + resolution: {integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==} + fast-xml-parser@5.2.5: resolution: {integrity: sha512-pfX9uG9Ki0yekDHx2SiuRIyFdyAr1kMIMitPvb0YBo8SUfKvia7w7FIyd/l6av85pFYRhZscS75MwMnbvY+hcQ==} hasBin: true @@ -2554,6 +2601,10 @@ packages: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} + get-east-asian-width@1.4.0: + resolution: {integrity: sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==} + engines: {node: '>=18'} + get-func-name@2.0.2: resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} @@ -2714,6 +2765,10 @@ packages: resolution: {integrity: sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==} engines: {node: '>=10.19.0'} + https-proxy-agent@7.0.6: + resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} + engines: {node: '>= 14'} + i18next@25.6.3: resolution: {integrity: sha512-AEQvoPDljhp67a1+NsnG/Wb1Nh6YoSvtrmeEd24sfGn3uujCtXCF3cXpr7ulhMywKNFF7p3TX1u2j7y+caLOJg==} peerDependencies: @@ -2746,6 +2801,10 @@ packages: resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} engines: {node: '>=8'} + index-to-position@1.2.0: + resolution: {integrity: sha512-Yg7+ztRkqslMAS2iFaU+Oa4KTSidr63OsFGlOrJoW981kIYO3CGCS3wA95P1mUi/IVSJkn0D479KTJpVpvFNuw==} + engines: {node: '>=18'} + inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. @@ -2934,6 +2993,10 @@ packages: resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} engines: {node: '>=10'} + js-levenshtein@1.1.6: + resolution: {integrity: sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==} + engines: {node: '>=0.10.0'} + js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -2966,6 +3029,9 @@ packages: json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} @@ -3284,6 +3350,18 @@ packages: oniguruma-to-es@3.1.1: resolution: {integrity: sha512-bUH8SDvPkH3ho3dvwJwfonjlQ4R80vjyvrU8YpxuROddv55vAEJrTuCuCVUhhsHbtlD9tGGbaNApGQckXhS8iQ==} + openapi-fetch@0.15.0: + resolution: {integrity: sha512-OjQUdi61WO4HYhr9+byCPMj0+bgste/LtSBEcV6FzDdONTs7x0fWn8/ndoYwzqCsKWIxEZwo4FN/TG1c1rI8IQ==} + + openapi-typescript-helpers@0.0.15: + resolution: {integrity: sha512-opyTPaunsklCBpTK8JGef6mfPhLSnyy5a0IN9vKtx3+4aExf+KxEqYwIy3hqkedXIB97u357uLMJsOnm3GVjsw==} + + openapi-typescript@7.10.1: + resolution: {integrity: sha512-rBcU8bjKGGZQT4K2ekSTY2Q5veOQbVG/lTKZ49DeCyT9z62hM2Vj/LLHjDHC9W7LJG8YMHcdXpRZDqC1ojB/lw==} + hasBin: true + peerDependencies: + typescript: ^5.x + optionator@0.9.4: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} @@ -3334,6 +3412,10 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} + parse-json@8.3.0: + resolution: {integrity: sha512-ybiGyvspI+fAoRQbIPRddCcSTV9/LsJbf0e/S85VLowVGzRmokfneg2kwVW/KU5rOXrPSbF1qAKPMgNTqqROQQ==} + engines: {node: '>=18'} + parse-statements@1.0.11: resolution: {integrity: sha512-HlsyYdMBnbPQ9Jr/VgJ1YF4scnldvJpJxCVx6KgqPL4dxppsWrJHCIIxQXMJrqGnsRkNPATbeMJ8Yxu7JMsYcA==} @@ -3518,6 +3600,10 @@ packages: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} + require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + resolve-alpn@1.2.1: resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} @@ -3710,6 +3796,10 @@ packages: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} + string-width@7.2.0: + resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} + engines: {node: '>=18'} + string.prototype.trim@1.2.10: resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==} engines: {node: '>= 0.4'} @@ -3729,6 +3819,10 @@ packages: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} + strip-ansi@7.1.2: + resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==} + engines: {node: '>=12'} + strip-bom@3.0.0: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} @@ -3752,6 +3846,10 @@ packages: resolution: {integrity: sha512-zWPTX96LVsA/eVYnqOM2+ofcdPqdS1dAF1LN4TS2/MWuUpfitd9ctTa87wt4xrYnZnkLtS69xpBdSxVBP5Rm6w==} engines: {node: '>=16'} + supports-color@10.2.2: + resolution: {integrity: sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==} + engines: {node: '>=18'} + supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} @@ -3841,6 +3939,10 @@ packages: resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} engines: {node: '>=8'} + type-fest@4.41.0: + resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} + engines: {node: '>=16'} + typed-array-buffer@1.0.3: resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} engines: {node: '>= 0.4'} @@ -4049,6 +4151,10 @@ packages: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} + wrap-ansi@9.0.2: + resolution: {integrity: sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==} + engines: {node: '>=18'} + wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} @@ -4056,6 +4162,9 @@ packages: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} + yaml-ast-parser@0.0.43: + resolution: {integrity: sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==} + yaml@2.8.1: resolution: {integrity: sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==} engines: {node: '>= 14.6'} @@ -4065,6 +4174,10 @@ packages: resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} engines: {node: '>=10'} + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + yargs-unparser@2.0.0: resolution: {integrity: sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==} engines: {node: '>=10'} @@ -4949,7 +5062,7 @@ snapshots: '@eslint/config-array@0.21.1': dependencies: '@eslint/object-schema': 2.1.7 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@10.2.2) minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -4984,7 +5097,7 @@ snapshots: '@eslint/eslintrc@3.3.1': dependencies: ajv: 6.12.6 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@10.2.2) espree: 10.4.0 globals: 14.0.0 ignore: 5.3.2 @@ -5270,7 +5383,7 @@ snapshots: dependencies: '@oclif/core': 4.8.0 ansis: 3.17.0 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@10.2.2) npm: 10.9.4 npm-package-arg: 11.0.3 npm-run-path: 5.3.0 @@ -5286,7 +5399,7 @@ snapshots: dependencies: '@oclif/core': 4.8.0 ansis: 3.17.0 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@10.2.2) http-call: 5.3.0 lodash: 4.17.21 registry-auth-token: 5.1.0 @@ -5299,7 +5412,7 @@ snapshots: dependencies: '@oclif/core': 4.8.0 ansis: 3.17.0 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@10.2.2) transitivePeerDependencies: - supports-color @@ -5319,6 +5432,29 @@ snapshots: '@pnpm/network.ca-file': 1.0.2 config-chain: 1.1.13 + '@redocly/ajv@8.17.1': + dependencies: + fast-deep-equal: 3.1.3 + fast-uri: 3.1.0 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + + '@redocly/config@0.22.2': {} + + '@redocly/openapi-core@1.34.5(supports-color@10.2.2)': + dependencies: + '@redocly/ajv': 8.17.1 + '@redocly/config': 0.22.2 + colorette: 1.4.0 + https-proxy-agent: 7.0.6(supports-color@10.2.2) + js-levenshtein: 1.1.6 + js-yaml: 4.1.0 + minimatch: 5.1.6 + pluralize: 8.0.0 + yaml-ast-parser: 0.0.43 + transitivePeerDependencies: + - supports-color + '@rollup/rollup-android-arm-eabi@4.53.3': optional: true @@ -5890,7 +6026,7 @@ snapshots: '@typescript-eslint/types': 8.46.4 '@typescript-eslint/typescript-estree': 8.46.4(typescript@5.9.3) '@typescript-eslint/visitor-keys': 8.46.4 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@10.2.2) eslint: 9.39.1 typescript: 5.9.3 transitivePeerDependencies: @@ -5900,7 +6036,7 @@ snapshots: dependencies: '@typescript-eslint/tsconfig-utils': 8.46.4(typescript@5.9.3) '@typescript-eslint/types': 8.46.4 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@10.2.2) typescript: 5.9.3 transitivePeerDependencies: - supports-color @@ -5919,7 +6055,7 @@ snapshots: '@typescript-eslint/types': 8.46.4 '@typescript-eslint/typescript-estree': 8.46.4(typescript@5.9.3) '@typescript-eslint/utils': 8.46.4(eslint@9.39.1)(typescript@5.9.3) - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@10.2.2) eslint: 9.39.1 ts-api-utils: 2.1.0(typescript@5.9.3) typescript: 5.9.3 @@ -5934,7 +6070,7 @@ snapshots: '@typescript-eslint/tsconfig-utils': 8.46.4(typescript@5.9.3) '@typescript-eslint/types': 8.46.4 '@typescript-eslint/visitor-keys': 8.46.4 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@10.2.2) fast-glob: 3.3.3 is-glob: 4.0.3 minimatch: 9.0.5 @@ -6107,12 +6243,13 @@ snapshots: transitivePeerDependencies: - typescript - '@vueuse/integrations@12.8.2(focus-trap@7.6.6)(typescript@5.9.3)': + '@vueuse/integrations@12.8.2(change-case@5.4.4)(focus-trap@7.6.6)(typescript@5.9.3)': dependencies: '@vueuse/core': 12.8.2(typescript@5.9.3) '@vueuse/shared': 12.8.2(typescript@5.9.3) vue: 3.5.24(typescript@5.9.3) optionalDependencies: + change-case: 5.4.4 focus-trap: 7.6.6 transitivePeerDependencies: - typescript @@ -6131,6 +6268,8 @@ snapshots: acorn@8.15.0: {} + agent-base@7.1.4: {} + ajv@6.12.6: dependencies: fast-deep-equal: 3.1.3 @@ -6163,10 +6302,14 @@ snapshots: ansi-regex@5.0.1: {} + ansi-regex@6.2.2: {} + ansi-styles@4.3.0: dependencies: color-convert: 2.0.1 + ansi-styles@6.2.3: {} + ansis@3.17.0: {} anymatch@3.1.3: @@ -6361,6 +6504,8 @@ snapshots: snake-case: 3.0.4 tslib: 2.8.1 + change-case@5.4.4: {} + character-entities-html4@2.1.0: {} character-entities-legacy@3.0.0: {} @@ -6405,12 +6550,20 @@ snapshots: strip-ansi: 6.0.1 wrap-ansi: 7.0.0 + cliui@9.0.1: + dependencies: + string-width: 7.2.0 + strip-ansi: 7.1.2 + wrap-ansi: 9.0.2 + color-convert@2.0.1: dependencies: color-name: 1.1.4 color-name@1.1.4: {} + colorette@1.4.0: {} + colorette@2.0.20: {} comma-separated-tokens@2.0.3: {} @@ -6474,6 +6627,12 @@ snapshots: dependencies: ms: 2.1.3 + debug@4.4.3(supports-color@10.2.2): + dependencies: + ms: 2.1.3 + optionalDependencies: + supports-color: 10.2.2 + debug@4.4.3(supports-color@8.1.1): dependencies: ms: 2.1.3 @@ -6541,6 +6700,8 @@ snapshots: emoji-regex-xs@1.0.0: {} + emoji-regex@10.6.0: {} + emoji-regex@8.0.0: {} end-of-stream@1.4.5: @@ -6775,7 +6936,7 @@ snapshots: eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0)(eslint@9.39.1): dependencies: '@nolyfill/is-core-module': 1.0.39 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@10.2.2) eslint: 9.39.1 get-tsconfig: 4.13.0 is-bun-module: 2.0.0 @@ -6845,7 +7006,7 @@ snapshots: '@es-joy/jsdoccomment': 0.50.2 are-docs-informative: 0.0.2 comment-parser: 1.4.1 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@10.2.2) escape-string-regexp: 4.0.0 eslint: 9.39.1 espree: 10.4.0 @@ -6987,7 +7148,7 @@ snapshots: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.6 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@10.2.2) escape-string-regexp: 4.0.0 eslint-scope: 8.4.0 eslint-visitor-keys: 4.2.1 @@ -7053,6 +7214,8 @@ snapshots: fast-safe-stringify@2.1.1: {} + fast-uri@3.1.0: {} + fast-xml-parser@5.2.5: dependencies: strnum: 2.1.1 @@ -7140,6 +7303,8 @@ snapshots: get-caller-file@2.0.5: {} + get-east-asian-width@1.4.0: {} + get-func-name@2.0.2: {} get-intrinsic@1.3.0: @@ -7308,7 +7473,7 @@ snapshots: http-call@5.3.0: dependencies: content-type: 1.0.5 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@10.2.2) is-retry-allowed: 1.2.0 is-stream: 2.0.1 parse-json: 4.0.0 @@ -7321,6 +7486,13 @@ snapshots: quick-lru: 5.1.1 resolve-alpn: 1.2.1 + https-proxy-agent@7.0.6(supports-color@10.2.2): + dependencies: + agent-base: 7.1.4 + debug: 4.4.3(supports-color@10.2.2) + transitivePeerDependencies: + - supports-color + i18next@25.6.3(typescript@5.9.3): dependencies: '@babel/runtime': 7.28.4 @@ -7344,6 +7516,8 @@ snapshots: indent-string@4.0.0: {} + index-to-position@1.2.0: {} + inflight@1.0.6: dependencies: once: 1.4.0 @@ -7517,6 +7691,8 @@ snapshots: joycon@3.1.1: {} + js-levenshtein@1.1.6: {} + js-tokens@4.0.0: {} js-yaml@4.1.0: @@ -7537,6 +7713,8 @@ snapshots: json-schema-traverse@0.4.1: {} + json-schema-traverse@1.0.0: {} + json-stable-stringify-without-jsonify@1.0.1: {} json5@1.0.2: @@ -7799,7 +7977,7 @@ snapshots: ansis: 3.17.0 async-retry: 1.3.3 change-case: 4.1.2 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@10.2.2) ejs: 3.1.10 find-yarn-workspace-root: 2.0.0 fs-extra: 8.1.0 @@ -7828,6 +8006,22 @@ snapshots: regex: 6.0.1 regex-recursion: 6.0.2 + openapi-fetch@0.15.0: + dependencies: + openapi-typescript-helpers: 0.0.15 + + openapi-typescript-helpers@0.0.15: {} + + openapi-typescript@7.10.1(typescript@5.9.3): + dependencies: + '@redocly/openapi-core': 1.34.5(supports-color@10.2.2) + ansi-colors: 4.1.3 + change-case: 5.4.4 + parse-json: 8.3.0 + supports-color: 10.2.2 + typescript: 5.9.3 + yargs-parser: 21.1.1 + optionator@0.9.4: dependencies: deep-is: 0.1.4 @@ -7888,6 +8082,12 @@ snapshots: json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 + parse-json@8.3.0: + dependencies: + '@babel/code-frame': 7.27.1 + index-to-position: 1.2.0 + type-fest: 4.41.0 + parse-statements@1.0.11: {} pascal-case@3.1.2: @@ -8072,6 +8272,8 @@ snapshots: require-directory@2.1.1: {} + require-from-string@2.0.2: {} + resolve-alpn@1.2.1: {} resolve-from@4.0.0: {} @@ -8313,6 +8515,12 @@ snapshots: is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 + string-width@7.2.0: + dependencies: + emoji-regex: 10.6.0 + get-east-asian-width: 1.4.0 + strip-ansi: 7.1.2 + string.prototype.trim@1.2.10: dependencies: call-bind: 1.0.8 @@ -8345,6 +8553,10 @@ snapshots: dependencies: ansi-regex: 5.0.1 + strip-ansi@7.1.2: + dependencies: + ansi-regex: 6.2.2 + strip-bom@3.0.0: {} strip-indent@3.0.0: @@ -8361,6 +8573,8 @@ snapshots: dependencies: copy-anything: 4.0.5 + supports-color@10.2.2: {} + supports-color@7.2.0: dependencies: has-flag: 4.0.0 @@ -8439,6 +8653,8 @@ snapshots: type-fest@0.8.1: {} + type-fest@4.41.0: {} + typed-array-buffer@1.0.3: dependencies: call-bound: 1.0.4 @@ -8608,7 +8824,7 @@ snapshots: '@types/node': 22.19.0 fsevents: 2.3.3 - vitepress@1.6.4(@algolia/client-search@5.44.0)(@types/node@22.19.0)(postcss@8.5.6)(search-insights@2.17.3)(typescript@5.9.3): + vitepress@1.6.4(@algolia/client-search@5.44.0)(@types/node@22.19.0)(change-case@5.4.4)(postcss@8.5.6)(search-insights@2.17.3)(typescript@5.9.3): dependencies: '@docsearch/css': 3.8.2 '@docsearch/js': 3.8.2(@algolia/client-search@5.44.0)(search-insights@2.17.3) @@ -8621,7 +8837,7 @@ snapshots: '@vue/devtools-api': 7.7.9 '@vue/shared': 3.5.24 '@vueuse/core': 12.8.2(typescript@5.9.3) - '@vueuse/integrations': 12.8.2(focus-trap@7.6.6)(typescript@5.9.3) + '@vueuse/integrations': 12.8.2(change-case@5.4.4)(focus-trap@7.6.6)(typescript@5.9.3) focus-trap: 7.6.6 mark.js: 8.11.1 minisearch: 7.2.0 @@ -8738,14 +8954,24 @@ snapshots: string-width: 4.2.3 strip-ansi: 6.0.1 + wrap-ansi@9.0.2: + dependencies: + ansi-styles: 6.2.3 + string-width: 7.2.0 + strip-ansi: 7.1.2 + wrappy@1.0.2: {} y18n@5.0.8: {} + yaml-ast-parser@0.0.43: {} + yaml@2.8.1: {} yargs-parser@20.2.9: {} + yargs-parser@21.1.1: {} + yargs-unparser@2.0.0: dependencies: camelcase: 6.3.0