Overview
The Site service helps you mange your sites. Each site is a collection of settings, such as language, currency, shipment, and payment. You can create and manage various site configurations, each of which can be accessed directly with the separate service API endpoint.
Merchants can plug in additional services that implement functionalities of a service provider such as shipping, payment, and tax. Service provider configurations can be fully managed by the merchants while still being partially accessible for the actual service provider. These functionalities can be activated or deactivated depending on the current site requirements.
Additionally, merchants can associate custom configuration options with any site using the mixin mechanism in the Document service.
API Reference
/{tenant}/sites
Manages sites for given tenant.
/{tenant}/sites
Retrieves the list of site configurations.
Creates a site configuration.
Requires scope hybris.site_manage
.
get /{tenant}/sites
Retrieves the list of site configurations.
URI Parameters
- tenant: required (string)
The tenant string is the project's Identifier from the Builder.
Headers
- Authorization: required (string)
Used to send a valid OAuth2 access token.
Example:
Bearer access_token
Query Parameters
- includeInactive: (boolean)
Controls inclusion of deactivated elements in the resulting list.
To access inactive elements scope
hybris.site_manage
is required.Example:
true
- expand: (string)
Controls which elements of the site configuration are expanded (included) in the response. Available elements are:
shipping:all
- includes shipping configurations for all shipment services,shipping:active
- includes shipping configurations only for active services,payment:all
- includes payment configurations for all payment services,payment:active
- includes shipment configurations only for active servicestax:all
- includes tax configurations for all tax services,tax:active
- includes tax configurations only for the active services.mixin:name
- includes mixin data for the mixin with given name.mixin:*
- includes data for all mixins.
The elements can be combined by separating them with a comma.
To access inactive service configurations, scope
hybris.site_manage
is required.Example:
shipment:active,payment:all
- q: (string)
The simple query criteria based on available fields to limit returned results or a set of modified documents.
Example:
active:true defaultLanguage:"de"
- totalCount: (boolean)
This parameter requests to return the total number of object in the collection fulfilling the criteria together with the response. This number will be returned in the 'hybris-count' header.
Example:
true
- pageNumber: (integer - minimum: 1)
The page number to be retrieved where the size of the pages must be specified by the pageSize parameter. The number of the first page is 1.
Example:
5
- pageSize: (integer - minimum: 1)
The number of records retrieved at one time.
Example:
45
- sort: (string)
The list of comma-separated properties used to sort the results. By default, the column values are sorted in ascending order. Can either be in the form of fieldName or fieldName:asc,fieldName:desc. If you want to sort by localized attributes, you must use the following form: fieldName.language or fieldName.language:asc,fieldName.language:desc.
Example:
active,name:desc
HTTP status code 200
Resource successfully retrieved.
Headers
- hybris-count: (integer)
The total number of objects that fulfil the criteria.
Example:
1000
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Site",
"description": "A site groups store settings like languages, shipping, payment and taxes.",
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "A site code which uniquely identifies the site (read-only). The value 'default' is reserved and cannot be used."
},
"name": {
"type": "string",
"description": "A descriptive site name."
},
"active": {
"description": "A flag to mark the site as active. Active sites are available publicly.",
"type": "boolean",
"default": true
},
"default": {
"description": "A flag to mark the site as a default site. Only one site can be a default one at the time.",
"type": "boolean",
"default": false
},
"defaultLanguage": {
"description": "The default language for the site.",
"type": "string"
},
"languages": {
"description": "A list of language codes supported by the site.",
"type": "array",
"items": {
"type": "string"
},
"default": [
"en"
]
},
"currency": {
"description": "The currency of prices valid for the home base (ISO 4217 currency code, e.g.: USD, EUR, CAD).",
"type": "string",
"default": "USD"
},
"homeBase": {
"description": "The home base of the site (where the goods are shipped from).",
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"address": {
"description": "The address the goods are shipped from.",
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"street": {
"type": "string"
},
"streetNumber": {
"type": "string"
},
"streetAppendix": {
"type": "string"
},
"extraLine1": {
"type": "string"
},
"extraLine2": {
"type": "string"
},
"extraLine3": {
"type": "string"
},
"extraLine4": {
"type": "string"
},
"zipCode": {
"type": "string"
},
"city": {
"type": "string"
},
"country": {
"type": "string",
"description": "2-letter ISO code of the country"
},
"state": {
"type": "string"
}
},
"required": [
"country",
"zipCode"
]
},
"location": {
"description": "Geographic coordinates of the home base.",
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"latitude": {
"type": "number"
},
"longitude": {
"type": "number"
}
},
"required": [
"latitude",
"longitude"
]
}
},
"required": [
"address"
]
},
"shipToCountries": {
"description": "A list of countries, in ISO2 format, the site ships to. e.g. : [\"US\", \"DE\", \"PL\"]",
"type": "array",
"items": {
"type": "string"
}
},
"shipping": {
"description": "A list of services configurations.",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Service Configurations",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Service Configuration",
"description": "The configuration for a service which needs a site-specific settings (like shipping, payment, tax service).",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "A service id which uniquely identifies the service provider (read-only)."
},
"name": {
"type": "string",
"description": "A descriptive service name."
},
"serviceType": {
"type": "string",
"description": "An identifier which uniquely identifies the service type (and its API)."
},
"serviceUrl": {
"type": "string",
"description": "The URL to the service."
},
"active": {
"description": "A flag to mark the service as active. Active services are available publicly.",
"type": "boolean",
"default": true
},
"configuration": {
"type": "object",
"description": "A service-specific configuration data.",
"properties": {
"public": {
"type": "object",
"additionalProperties": true,
"description": "Publicly accessible part of the configuration"
},
"restricted": {
"type": "object",
"additionalProperties": true,
"description": "Restricted part of the configuration for storing sensitive data (like keys). Valid credentials are required to access that part."
}
}
}
},
"required": [
"id",
"serviceType",
"serviceUrl",
"active"
]
}
},
"payment": {
"description": "A list of services configurations.",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Service Configurations",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Service Configuration",
"description": "The configuration for a service which needs a site-specific settings (like shipping, payment, tax service).",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "A service id which uniquely identifies the service provider (read-only)."
},
"name": {
"type": "string",
"description": "A descriptive service name."
},
"serviceType": {
"type": "string",
"description": "An identifier which uniquely identifies the service type (and its API)."
},
"serviceUrl": {
"type": "string",
"description": "The URL to the service."
},
"active": {
"description": "A flag to mark the service as active. Active services are available publicly.",
"type": "boolean",
"default": true
},
"configuration": {
"type": "object",
"description": "A service-specific configuration data.",
"properties": {
"public": {
"type": "object",
"additionalProperties": true,
"description": "Publicly accessible part of the configuration"
},
"restricted": {
"type": "object",
"additionalProperties": true,
"description": "Restricted part of the configuration for storing sensitive data (like keys). Valid credentials are required to access that part."
}
}
}
},
"required": [
"id",
"serviceType",
"serviceUrl",
"active"
]
}
},
"tax": {
"description": "A list of services configurations.",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Service Configurations",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Service Configuration",
"description": "The configuration for a service which needs a site-specific settings (like shipping, payment, tax service).",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "A service id which uniquely identifies the service provider (read-only)."
},
"name": {
"type": "string",
"description": "A descriptive service name."
},
"serviceType": {
"type": "string",
"description": "An identifier which uniquely identifies the service type (and its API)."
},
"serviceUrl": {
"type": "string",
"description": "The URL to the service."
},
"active": {
"description": "A flag to mark the service as active. Active services are available publicly.",
"type": "boolean",
"default": true
},
"configuration": {
"type": "object",
"description": "A service-specific configuration data.",
"properties": {
"public": {
"type": "object",
"additionalProperties": true,
"description": "Publicly accessible part of the configuration"
},
"restricted": {
"type": "object",
"additionalProperties": true,
"description": "Restricted part of the configuration for storing sensitive data (like keys). Valid credentials are required to access that part."
}
}
}
},
"required": [
"id",
"serviceType",
"serviceUrl",
"active"
]
}
},
"mixins": {
"description": "The collection of mixins stored in the site configuration. Each attribute is a separate mixin",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Site Configuration Mixins",
"type": "object",
"additionalProperties": true
},
"metadata": {
"type": "object",
"additionalProperties": false,
"properties": {
"mixins": {
"type": "object",
"additionalProperties": {
"type": "string",
"format": "uri"
}
}
}
}
},
"required": [
"code",
"name",
"active",
"default",
"languages",
"currency",
"homeBase"
]
}
}
Example:
[
{
"code": "global",
"name": "Global Site",
"active": true,
"default": true,
"defaultLanguage": "en",
"languages": [
"en"
],
"currency": "USD",
"homeBase": {
"address": {
"street": "North Wacker Drive",
"streetNumber": "20",
"zipCode": "60606",
"city": "Chicago",
"country": "US",
"state": "IL"
},
"location": {
"latitude": 48.15089,
"longitude": 11.546779
}
},
"shipToCountries": [
"DE",
"PL",
"US"
]
},
{
"code": "europe",
"name": "European Site",
"active": true,
"default": false,
"defaultLanguage": "en",
"languages": [
"en"
],
"currency": "EUR",
"homeBase": {
"address": {
"street": "Nymphenburger Str.",
"streetNumber": "86",
"zipCode": "132 45",
"city": "Munich",
"country": "DE",
"state": "Bavaria"
},
"location": {
"latitude": 48.15089,
"longitude": 11.546779
}
},
"shipToCountries": [
"DE",
"PL",
"US"
]
},
{
"code": "china",
"name": "Chinese Site",
"active": false,
"default": false,
"defaultLanguage": "zh",
"languages": [
"zh",
"en"
],
"currency": "CNY",
"homeBase": {
"address": {
"street": "Cheng Xiang Zhen Guan Tang Lu",
"streetNumber": "1031",
"extraLine1": "No. 2058",
"extraLine2": "Suzhou City",
"zipCode": "201202",
"city": "Taicang City",
"state": "Jiangsu Province",
"country": "CN"
},
"location": {
"latitude": 31.5316133,
"longitude": 121.1646007
}
},
"shipToCountries": [
"CN"
]
}
]
HTTP status code 400
Request syntactically incorrect. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 400,
"message": "There are validation problems, see details section for more information",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html",
"type": "validation_violation",
"details": [
{
"field": "totalCount",
"message": "must be a boolean",
"type": "invalid_query_parameter"
}
]
}
HTTP status code 401
Given request is unauthorized. Bad or expired token. Reauthenticate the user. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 401,
"message": "Authorization: Unauthorized. Bearer TOKEN is invalid",
"type": "insufficient_credentials",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html"
}
HTTP status code 403
Evaluated request scopes in access token are not sufficient and do not match required scopes.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 403,
"message": "Given request does not have required scopes in access token. It is not authorized to perform this operation.",
"type": "insufficient_permissions"
}
HTTP status code 500
Some server side error occurred.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 500,
"message": "Something went wrong while processing the request. Please contact the administrator.",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html",
"type": "internal_service_error"
}
post /{tenant}/sites
Creates a site configuration.
Requires scope hybris.site_manage
.
URI Parameters
- tenant: required (string)
The tenant string is the project's Identifier from the Builder.
Headers
- Authorization: required (string)
Used to send a valid OAuth2 access token.
Example:
Bearer access_token
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Site",
"description": "A site groups store settings like languages, shipping, payment and taxes.",
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "A site code which uniquely identifies the site (read-only). The value 'default' is reserved and cannot be used."
},
"name": {
"type": "string",
"description": "A descriptive site name."
},
"active": {
"description": "A flag to mark the site as active. Active sites are available publicly.",
"type": "boolean",
"default": true
},
"default": {
"description": "A flag to mark the site as a default site. Only one site can be a default one at the time.",
"type": "boolean",
"default": false
},
"defaultLanguage": {
"description": "The default language for the site.",
"type": "string"
},
"languages": {
"description": "A list of language codes supported by the site.",
"type": "array",
"items": {
"type": "string"
},
"default": [
"en"
]
},
"currency": {
"description": "The currency of prices valid for the home base (ISO 4217 currency code, e.g.: USD, EUR, CAD).",
"type": "string",
"default": "USD"
},
"homeBase": {
"description": "The home base of the site (where the goods are shipped from).",
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"address": {
"description": "The address the goods are shipped from.",
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"street": {
"type": "string"
},
"streetNumber": {
"type": "string"
},
"streetAppendix": {
"type": "string"
},
"extraLine1": {
"type": "string"
},
"extraLine2": {
"type": "string"
},
"extraLine3": {
"type": "string"
},
"extraLine4": {
"type": "string"
},
"zipCode": {
"type": "string"
},
"city": {
"type": "string"
},
"country": {
"type": "string",
"description": "2-letter ISO code of the country"
},
"state": {
"type": "string"
}
},
"required": [
"country",
"zipCode"
]
},
"location": {
"description": "Geographic coordinates of the home base.",
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"latitude": {
"type": "number"
},
"longitude": {
"type": "number"
}
},
"required": [
"latitude",
"longitude"
]
}
},
"required": [
"address"
]
},
"shipToCountries": {
"description": "A list of countries, in ISO2 format, the site ships to. e.g. : [\"US\", \"DE\", \"PL\"]",
"type": "array",
"items": {
"type": "string"
}
},
"shipping": {
"description": "A list of services configurations.",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Service Configurations",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Service Configuration",
"description": "The configuration for a service which needs a site-specific settings (like shipping, payment, tax service).",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "A service id which uniquely identifies the service provider (read-only)."
},
"name": {
"type": "string",
"description": "A descriptive service name."
},
"serviceType": {
"type": "string",
"description": "An identifier which uniquely identifies the service type (and its API)."
},
"serviceUrl": {
"type": "string",
"description": "The URL to the service."
},
"active": {
"description": "A flag to mark the service as active. Active services are available publicly.",
"type": "boolean",
"default": true
},
"configuration": {
"type": "object",
"description": "A service-specific configuration data.",
"properties": {
"public": {
"type": "object",
"additionalProperties": true,
"description": "Publicly accessible part of the configuration"
},
"restricted": {
"type": "object",
"additionalProperties": true,
"description": "Restricted part of the configuration for storing sensitive data (like keys). Valid credentials are required to access that part."
}
}
}
},
"required": [
"id",
"serviceType",
"serviceUrl",
"active"
]
}
},
"payment": {
"description": "A list of services configurations.",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Service Configurations",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Service Configuration",
"description": "The configuration for a service which needs a site-specific settings (like shipping, payment, tax service).",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "A service id which uniquely identifies the service provider (read-only)."
},
"name": {
"type": "string",
"description": "A descriptive service name."
},
"serviceType": {
"type": "string",
"description": "An identifier which uniquely identifies the service type (and its API)."
},
"serviceUrl": {
"type": "string",
"description": "The URL to the service."
},
"active": {
"description": "A flag to mark the service as active. Active services are available publicly.",
"type": "boolean",
"default": true
},
"configuration": {
"type": "object",
"description": "A service-specific configuration data.",
"properties": {
"public": {
"type": "object",
"additionalProperties": true,
"description": "Publicly accessible part of the configuration"
},
"restricted": {
"type": "object",
"additionalProperties": true,
"description": "Restricted part of the configuration for storing sensitive data (like keys). Valid credentials are required to access that part."
}
}
}
},
"required": [
"id",
"serviceType",
"serviceUrl",
"active"
]
}
},
"tax": {
"description": "A list of services configurations.",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Service Configurations",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Service Configuration",
"description": "The configuration for a service which needs a site-specific settings (like shipping, payment, tax service).",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "A service id which uniquely identifies the service provider (read-only)."
},
"name": {
"type": "string",
"description": "A descriptive service name."
},
"serviceType": {
"type": "string",
"description": "An identifier which uniquely identifies the service type (and its API)."
},
"serviceUrl": {
"type": "string",
"description": "The URL to the service."
},
"active": {
"description": "A flag to mark the service as active. Active services are available publicly.",
"type": "boolean",
"default": true
},
"configuration": {
"type": "object",
"description": "A service-specific configuration data.",
"properties": {
"public": {
"type": "object",
"additionalProperties": true,
"description": "Publicly accessible part of the configuration"
},
"restricted": {
"type": "object",
"additionalProperties": true,
"description": "Restricted part of the configuration for storing sensitive data (like keys). Valid credentials are required to access that part."
}
}
}
},
"required": [
"id",
"serviceType",
"serviceUrl",
"active"
]
}
},
"mixins": {
"description": "The collection of mixins stored in the site configuration. Each attribute is a separate mixin",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Site Configuration Mixins",
"type": "object",
"additionalProperties": true
},
"metadata": {
"type": "object",
"additionalProperties": false,
"properties": {
"mixins": {
"type": "object",
"additionalProperties": {
"type": "string",
"format": "uri"
}
}
}
}
},
"required": [
"code",
"name",
"active",
"default",
"languages",
"currency",
"homeBase"
]
}
Example:
{
"code": "china",
"name": "Chinese Site",
"active": true,
"default": true,
"defaultLanguage": "zh",
"languages": [
"en",
"zh"
],
"currency": "CNY",
"homeBase": {
"address": {
"street": "Cheng Xiang Zhen Guan Tang Lu",
"streetNumber": "1031",
"extraLine1": "No. 2058",
"extraLine2": "Suzhou City",
"zipCode": "201202",
"city": "Taicang City",
"state": "Jiangsu Province",
"country": "CN"
},
"location": {
"latitude": 31.5316133,
"longitude": 121.1646007
}
},
"shipToCountries": [
"CN"
],
"shipping": [
{
"id": "UPS",
"name": "UPS Shipping Service",
"serviceType": "urn:x-yaas:service:shipping",
"serviceUrl": "https://${apigee.proxy.target}/shipping-ups/v1",
"active": true,
"configuration": {
"public": {
"option1": "some value",
"option2": 34
}
}
},
{
"id": "FedEx",
"name": "Fedex Shipping Service",
"serviceType": "urn:x-yaas:service:shipping",
"serviceUrl": "https://${apigee.proxy.target}/shipping-fedex/v1",
"active": false
}
],
"payment": [
{
"id": "stripe",
"name": "Stripe Payment Service",
"serviceType": "urn:x-yaas:service:payment",
"serviceUrl": "https://${apigee.proxy.target}/payment-stripe/v1",
"active": true,
"configuration": {
"public": {
"option1": "some value",
"option2": 34
},
"restricted": {
"securedOption": "confidential"
}
}
},
{
"id": "paypal",
"name": "PayPal Payment Service",
"serviceType": "urn:x-yaas:service:payment",
"serviceUrl": "https://${apigee.proxy.target}/payment-paypal/v1",
"active": true,
"configuration": {
"public": {
"option1": "some value",
"option2": 34
},
"restricted": {
"securedOption": "confidential"
}
}
}
],
"tax": [
{
"id": "simple",
"name": "Simple Tax Service",
"serviceType": "urn:x-yaas:service:tax",
"serviceUrl": "https://${apigee.proxy.target}/tax-simple/v1",
"active": true,
"configuration": {
"public": {
"option1": "some value",
"option2": 34
},
"restricted": {
"securedOption": "confidential"
}
}
},
{
"id": "avalara",
"name": "Avalara Tax Service",
"serviceType": "urn:x-yaas:service:tax",
"serviceUrl": "https://${apigee.proxy.target}/tax-avalara/v1",
"active": false,
"configuration": {
"public": {
"option1": "some value",
"option2": 34
},
"restricted": {
"securedOption": "confidential"
}
}
}
]
}
HTTP status code 201
The collection resource has been successfully created.
Headers
- Location: required (string)
The Location of the new resource which was created by the request. The value consists of a single absolute URI.
Example:
http://www.hybris.com/items/myItem
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"title": "Resource Location",
"description": "Schema for showing location of the new resource.",
"properties": {
"id": {
"description": "The identifier of the created resource",
"type": "string"
},
"link": {
"description": "The link to the created resource",
"type": "string",
"format": "uri"
}
},
"required": [
"id",
"link"
]
}
Example:
{
"id": "global",
"link": "https://${apigee.proxy.target}/hybris/site/v1/sites/global"
}
HTTP status code 400
Request syntactically incorrect. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 400,
"message": "The request payload has incorrect syntax.",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html",
"type": "bad_payload_syntax"
}
HTTP status code 401
Given request is unauthorized. Bad or expired token. Reauthenticate the user. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 401,
"message": "Authorization: Unauthorized. Bearer TOKEN is invalid",
"type": "insufficient_credentials",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html"
}
HTTP status code 403
Evaluated request scopes in access token are not sufficient and do not match required scopes.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 403,
"message": "Given request does not have required scopes in access token. It is not authorized to perform this operation.",
"type": "insufficient_permissions"
}
HTTP status code 409
Creation failed because there was a conflict with another resource. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 409,
"message": "The requested resource could not be created due to server-side validation.",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html",
"type": "conflict_resource"
}
HTTP status code 500
Some server side error occurred.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 500,
"message": "Something went wrong while processing the request. Please contact the administrator.",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html",
"type": "internal_service_error"
}
/{tenant}/sites/{code}
Manages a single site for given tenant.
Retrieves complete configuration data for a site.
Updates site configuration (fully or partially).
In case of the full update, the expand
parameter should be provided with a value matching the one used to retrieve a site. The information for mixins and service provider configuration will be updated only if the appropriate expand options are provided. This is necessary in order to prevent from accidental data loss.
Requires scope hybris.site_manage
.
Deletes site configuration.
The default site configuration cannot be deleted.
Requires scope hybris.site_manage
.
get /{tenant}/sites/{code}
Retrieves complete configuration data for a site.
URI Parameters
- tenant: required (string)
The tenant string is the project's Identifier from the Builder.
- code: required (string)
The 'code' identifier for the site.
You can use 'default' value to reference the site which is marked as the default.
Headers
- Authorization: required (string)
Used to send a valid OAuth2 access token.
Example:
Bearer access_token
Query Parameters
- expand: (string)
Controls which elements of the site configuration are expanded (included) in the response. Available elements are:
shipping:all
- includes shipping configurations for all shipment services,shipping:active
- includes shipping configurations only for active services,payment:all
- includes payment configurations for all payment services,payment:active
- includes shipment configurations only for active servicestax:all
- includes tax configurations for all tax services,tax:active
- includes tax configurations only for the active services.mixin:name
- includes mixin data for the mixin with given name.mixin:*
- includes data for all mixins.
The elements can be combined by separating them with a comma.
To access inactive service configurations, scope
hybris.site_manage
is required.Example:
shipment:active,payment:all
HTTP status code 200
The configuration has been successfully retrieved.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Site",
"description": "A site groups store settings like languages, shipping, payment and taxes.",
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "A site code which uniquely identifies the site (read-only). The value 'default' is reserved and cannot be used."
},
"name": {
"type": "string",
"description": "A descriptive site name."
},
"active": {
"description": "A flag to mark the site as active. Active sites are available publicly.",
"type": "boolean",
"default": true
},
"default": {
"description": "A flag to mark the site as a default site. Only one site can be a default one at the time.",
"type": "boolean",
"default": false
},
"defaultLanguage": {
"description": "The default language for the site.",
"type": "string"
},
"languages": {
"description": "A list of language codes supported by the site.",
"type": "array",
"items": {
"type": "string"
},
"default": [
"en"
]
},
"currency": {
"description": "The currency of prices valid for the home base (ISO 4217 currency code, e.g.: USD, EUR, CAD).",
"type": "string",
"default": "USD"
},
"homeBase": {
"description": "The home base of the site (where the goods are shipped from).",
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"address": {
"description": "The address the goods are shipped from.",
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"street": {
"type": "string"
},
"streetNumber": {
"type": "string"
},
"streetAppendix": {
"type": "string"
},
"extraLine1": {
"type": "string"
},
"extraLine2": {
"type": "string"
},
"extraLine3": {
"type": "string"
},
"extraLine4": {
"type": "string"
},
"zipCode": {
"type": "string"
},
"city": {
"type": "string"
},
"country": {
"type": "string",
"description": "2-letter ISO code of the country"
},
"state": {
"type": "string"
}
},
"required": [
"country",
"zipCode"
]
},
"location": {
"description": "Geographic coordinates of the home base.",
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"latitude": {
"type": "number"
},
"longitude": {
"type": "number"
}
},
"required": [
"latitude",
"longitude"
]
}
},
"required": [
"address"
]
},
"shipToCountries": {
"description": "A list of countries, in ISO2 format, the site ships to. e.g. : [\"US\", \"DE\", \"PL\"]",
"type": "array",
"items": {
"type": "string"
}
},
"shipping": {
"description": "A list of services configurations.",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Service Configurations",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Service Configuration",
"description": "The configuration for a service which needs a site-specific settings (like shipping, payment, tax service).",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "A service id which uniquely identifies the service provider (read-only)."
},
"name": {
"type": "string",
"description": "A descriptive service name."
},
"serviceType": {
"type": "string",
"description": "An identifier which uniquely identifies the service type (and its API)."
},
"serviceUrl": {
"type": "string",
"description": "The URL to the service."
},
"active": {
"description": "A flag to mark the service as active. Active services are available publicly.",
"type": "boolean",
"default": true
},
"configuration": {
"type": "object",
"description": "A service-specific configuration data.",
"properties": {
"public": {
"type": "object",
"additionalProperties": true,
"description": "Publicly accessible part of the configuration"
},
"restricted": {
"type": "object",
"additionalProperties": true,
"description": "Restricted part of the configuration for storing sensitive data (like keys). Valid credentials are required to access that part."
}
}
}
},
"required": [
"id",
"serviceType",
"serviceUrl",
"active"
]
}
},
"payment": {
"description": "A list of services configurations.",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Service Configurations",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Service Configuration",
"description": "The configuration for a service which needs a site-specific settings (like shipping, payment, tax service).",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "A service id which uniquely identifies the service provider (read-only)."
},
"name": {
"type": "string",
"description": "A descriptive service name."
},
"serviceType": {
"type": "string",
"description": "An identifier which uniquely identifies the service type (and its API)."
},
"serviceUrl": {
"type": "string",
"description": "The URL to the service."
},
"active": {
"description": "A flag to mark the service as active. Active services are available publicly.",
"type": "boolean",
"default": true
},
"configuration": {
"type": "object",
"description": "A service-specific configuration data.",
"properties": {
"public": {
"type": "object",
"additionalProperties": true,
"description": "Publicly accessible part of the configuration"
},
"restricted": {
"type": "object",
"additionalProperties": true,
"description": "Restricted part of the configuration for storing sensitive data (like keys). Valid credentials are required to access that part."
}
}
}
},
"required": [
"id",
"serviceType",
"serviceUrl",
"active"
]
}
},
"tax": {
"description": "A list of services configurations.",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Service Configurations",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Service Configuration",
"description": "The configuration for a service which needs a site-specific settings (like shipping, payment, tax service).",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "A service id which uniquely identifies the service provider (read-only)."
},
"name": {
"type": "string",
"description": "A descriptive service name."
},
"serviceType": {
"type": "string",
"description": "An identifier which uniquely identifies the service type (and its API)."
},
"serviceUrl": {
"type": "string",
"description": "The URL to the service."
},
"active": {
"description": "A flag to mark the service as active. Active services are available publicly.",
"type": "boolean",
"default": true
},
"configuration": {
"type": "object",
"description": "A service-specific configuration data.",
"properties": {
"public": {
"type": "object",
"additionalProperties": true,
"description": "Publicly accessible part of the configuration"
},
"restricted": {
"type": "object",
"additionalProperties": true,
"description": "Restricted part of the configuration for storing sensitive data (like keys). Valid credentials are required to access that part."
}
}
}
},
"required": [
"id",
"serviceType",
"serviceUrl",
"active"
]
}
},
"mixins": {
"description": "The collection of mixins stored in the site configuration. Each attribute is a separate mixin",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Site Configuration Mixins",
"type": "object",
"additionalProperties": true
},
"metadata": {
"type": "object",
"additionalProperties": false,
"properties": {
"mixins": {
"type": "object",
"additionalProperties": {
"type": "string",
"format": "uri"
}
}
}
}
},
"required": [
"code",
"name",
"active",
"default",
"languages",
"currency",
"homeBase"
]
}
Example:
{
"code": "china",
"name": "Chinese Site",
"active": true,
"default": true,
"defaultLanguage": "zh",
"languages": [
"en",
"zh"
],
"currency": "CNY",
"homeBase": {
"address": {
"street": "Cheng Xiang Zhen Guan Tang Lu",
"streetNumber": "1031",
"extraLine1": "No. 2058",
"extraLine2": "Suzhou City",
"zipCode": "201202",
"city": "Taicang City",
"state": "Jiangsu Province",
"country": "CN"
},
"location": {
"latitude": 31.5316133,
"longitude": 121.1646007
}
},
"shipToCountries": [
"CN"
],
"shipping": [
{
"id": "UPS",
"name": "UPS Shipping Service",
"serviceType": "urn:x-yaas:service:shipping",
"serviceUrl": "https://${apigee.proxy.target}/shipping-ups/v1",
"active": true,
"configuration": {
"public": {
"option1": "some value",
"option2": 34
}
}
},
{
"id": "FedEx",
"name": "Fedex Shipping Service",
"serviceType": "urn:x-yaas:service:shipping",
"serviceUrl": "https://${apigee.proxy.target}/shipping-fedex/v1",
"active": false
}
],
"payment": [
{
"id": "stripe",
"name": "Stripe Payment Service",
"serviceType": "urn:x-yaas:service:payment",
"serviceUrl": "https://${apigee.proxy.target}/payment-stripe/v1",
"active": true,
"configuration": {
"public": {
"option1": "some value",
"option2": 34
},
"restricted": {
"securedOption": "confidential"
}
}
},
{
"id": "paypal",
"name": "PayPal Payment Service",
"serviceType": "urn:x-yaas:service:payment",
"serviceUrl": "https://${apigee.proxy.target}/payment-paypal/v1",
"active": true,
"configuration": {
"public": {
"option1": "some value",
"option2": 34
},
"restricted": {
"securedOption": "confidential"
}
}
}
],
"tax": [
{
"id": "simple",
"name": "Simple Tax Service",
"serviceType": "urn:x-yaas:service:tax",
"serviceUrl": "https://${apigee.proxy.target}/tax-simple/v1",
"active": true,
"configuration": {
"public": {
"option1": "some value",
"option2": 34
},
"restricted": {
"securedOption": "confidential"
}
}
},
{
"id": "avalara",
"name": "Avalara Tax Service",
"serviceType": "urn:x-yaas:service:tax",
"serviceUrl": "https://${apigee.proxy.target}/tax-avalara/v1",
"active": false,
"configuration": {
"public": {
"option1": "some value",
"option2": 34
},
"restricted": {
"securedOption": "confidential"
}
}
}
]
}
HTTP status code 400
Request syntactically incorrect. Any details will be provided within the response payload.
HTTP status code 401
Given request is unauthorized. Bad or expired token. Reauthenticate the user. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 401,
"message": "Authorization: Unauthorized. Bearer TOKEN is invalid",
"type": "insufficient_credentials",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html"
}
HTTP status code 403
Evaluated request scopes in access token are not sufficient and do not match required scopes.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 403,
"message": "Given request does not have required scopes in access token. It is not authorized to perform this operation.",
"type": "insufficient_permissions"
}
HTTP status code 404
The requested resource does not exist.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 404,
"message": "The requested URI does not map to a single element resource.",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html",
"type": "element_resource_non_existing"
}
HTTP status code 500
Some server side error occurred.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 500,
"message": "Something went wrong while processing the request. Please contact the administrator.",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html",
"type": "internal_service_error"
}
put /{tenant}/sites/{code}
Updates site configuration (fully or partially).
In case of the full update, the expand
parameter should be provided with a value matching the one used to retrieve a site. The information for mixins and service provider configuration will be updated only if the appropriate expand options are provided. This is necessary in order to prevent from accidental data loss.
Requires scope hybris.site_manage
.
URI Parameters
- tenant: required (string)
The tenant string is the project's Identifier from the Builder.
- code: required (string)
The 'code' identifier for the site.
You can use 'default' value to reference the site which is marked as the default.
Headers
- Authorization: required (string)
Used to send a valid OAuth2 access token.
Example:
Bearer access_token
Query Parameters
- expand: (string)
Controls which elements of the site configuration are expanded (included) in the response. Available elements are:
shipping:all
- includes shipping configurations for all shipment services,shipping:active
- includes shipping configurations only for active services,payment:all
- includes payment configurations for all payment services,payment:active
- includes shipment configurations only for active servicestax:all
- includes tax configurations for all tax services,tax:active
- includes tax configurations only for the active services.mixin:name
- includes mixin data for the mixin with given name.mixin:*
- includes data for all mixins.
The elements can be combined by separating them with a comma.
To access inactive service configurations, scope
hybris.site_manage
is required.Example:
shipment:active,payment:all
- partial: (boolean)
If true, a partial update will be supported, otherwise the full object replacement will be performed.
Example:
true
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Site",
"description": "A site groups store settings like languages, shipping, payment and taxes.",
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "A site code which uniquely identifies the site (read-only). The value 'default' is reserved and cannot be used."
},
"name": {
"type": "string",
"description": "A descriptive site name."
},
"active": {
"description": "A flag to mark the site as active. Active sites are available publicly.",
"type": "boolean",
"default": true
},
"default": {
"description": "A flag to mark the site as a default site. Only one site can be a default one at the time.",
"type": "boolean",
"default": false
},
"defaultLanguage": {
"description": "The default language for the site.",
"type": "string"
},
"languages": {
"description": "A list of language codes supported by the site.",
"type": "array",
"items": {
"type": "string"
},
"default": [
"en"
]
},
"currency": {
"description": "The currency of prices valid for the home base (ISO 4217 currency code, e.g.: USD, EUR, CAD).",
"type": "string",
"default": "USD"
},
"homeBase": {
"description": "The home base of the site (where the goods are shipped from).",
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"address": {
"description": "The address the goods are shipped from.",
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"street": {
"type": "string"
},
"streetNumber": {
"type": "string"
},
"streetAppendix": {
"type": "string"
},
"extraLine1": {
"type": "string"
},
"extraLine2": {
"type": "string"
},
"extraLine3": {
"type": "string"
},
"extraLine4": {
"type": "string"
},
"zipCode": {
"type": "string"
},
"city": {
"type": "string"
},
"country": {
"type": "string",
"description": "2-letter ISO code of the country"
},
"state": {
"type": "string"
}
},
"required": [
"country",
"zipCode"
]
},
"location": {
"description": "Geographic coordinates of the home base.",
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"latitude": {
"type": "number"
},
"longitude": {
"type": "number"
}
},
"required": [
"latitude",
"longitude"
]
}
},
"required": [
"address"
]
},
"shipToCountries": {
"description": "A list of countries, in ISO2 format, the site ships to. e.g. : [\"US\", \"DE\", \"PL\"]",
"type": "array",
"items": {
"type": "string"
}
},
"shipping": {
"description": "A list of services configurations.",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Service Configurations",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Service Configuration",
"description": "The configuration for a service which needs a site-specific settings (like shipping, payment, tax service).",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "A service id which uniquely identifies the service provider (read-only)."
},
"name": {
"type": "string",
"description": "A descriptive service name."
},
"serviceType": {
"type": "string",
"description": "An identifier which uniquely identifies the service type (and its API)."
},
"serviceUrl": {
"type": "string",
"description": "The URL to the service."
},
"active": {
"description": "A flag to mark the service as active. Active services are available publicly.",
"type": "boolean",
"default": true
},
"configuration": {
"type": "object",
"description": "A service-specific configuration data.",
"properties": {
"public": {
"type": "object",
"additionalProperties": true,
"description": "Publicly accessible part of the configuration"
},
"restricted": {
"type": "object",
"additionalProperties": true,
"description": "Restricted part of the configuration for storing sensitive data (like keys). Valid credentials are required to access that part."
}
}
}
},
"required": [
"id",
"serviceType",
"serviceUrl",
"active"
]
}
},
"payment": {
"description": "A list of services configurations.",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Service Configurations",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Service Configuration",
"description": "The configuration for a service which needs a site-specific settings (like shipping, payment, tax service).",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "A service id which uniquely identifies the service provider (read-only)."
},
"name": {
"type": "string",
"description": "A descriptive service name."
},
"serviceType": {
"type": "string",
"description": "An identifier which uniquely identifies the service type (and its API)."
},
"serviceUrl": {
"type": "string",
"description": "The URL to the service."
},
"active": {
"description": "A flag to mark the service as active. Active services are available publicly.",
"type": "boolean",
"default": true
},
"configuration": {
"type": "object",
"description": "A service-specific configuration data.",
"properties": {
"public": {
"type": "object",
"additionalProperties": true,
"description": "Publicly accessible part of the configuration"
},
"restricted": {
"type": "object",
"additionalProperties": true,
"description": "Restricted part of the configuration for storing sensitive data (like keys). Valid credentials are required to access that part."
}
}
}
},
"required": [
"id",
"serviceType",
"serviceUrl",
"active"
]
}
},
"tax": {
"description": "A list of services configurations.",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Service Configurations",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Service Configuration",
"description": "The configuration for a service which needs a site-specific settings (like shipping, payment, tax service).",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "A service id which uniquely identifies the service provider (read-only)."
},
"name": {
"type": "string",
"description": "A descriptive service name."
},
"serviceType": {
"type": "string",
"description": "An identifier which uniquely identifies the service type (and its API)."
},
"serviceUrl": {
"type": "string",
"description": "The URL to the service."
},
"active": {
"description": "A flag to mark the service as active. Active services are available publicly.",
"type": "boolean",
"default": true
},
"configuration": {
"type": "object",
"description": "A service-specific configuration data.",
"properties": {
"public": {
"type": "object",
"additionalProperties": true,
"description": "Publicly accessible part of the configuration"
},
"restricted": {
"type": "object",
"additionalProperties": true,
"description": "Restricted part of the configuration for storing sensitive data (like keys). Valid credentials are required to access that part."
}
}
}
},
"required": [
"id",
"serviceType",
"serviceUrl",
"active"
]
}
},
"mixins": {
"description": "The collection of mixins stored in the site configuration. Each attribute is a separate mixin",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Site Configuration Mixins",
"type": "object",
"additionalProperties": true
},
"metadata": {
"type": "object",
"additionalProperties": false,
"properties": {
"mixins": {
"type": "object",
"additionalProperties": {
"type": "string",
"format": "uri"
}
}
}
}
},
"required": [
"code",
"name",
"active",
"default",
"languages",
"currency",
"homeBase"
]
}
Example:
{
"code": "china",
"name": "Chinese Site",
"active": true,
"default": true,
"defaultLanguage": "zh",
"languages": [
"en",
"zh"
],
"currency": "CNY",
"homeBase": {
"address": {
"street": "Cheng Xiang Zhen Guan Tang Lu",
"streetNumber": "1031",
"extraLine1": "No. 2058",
"extraLine2": "Suzhou City",
"zipCode": "201202",
"city": "Taicang City",
"state": "Jiangsu Province",
"country": "CN"
},
"location": {
"latitude": 31.5316133,
"longitude": 121.1646007
}
},
"shipToCountries": [
"CN"
],
"shipping": [
{
"id": "UPS",
"name": "UPS Shipping Service",
"serviceType": "urn:x-yaas:service:shipping",
"serviceUrl": "https://${apigee.proxy.target}/shipping-ups/v1",
"active": true,
"configuration": {
"public": {
"option1": "some value",
"option2": 34
}
}
},
{
"id": "FedEx",
"name": "Fedex Shipping Service",
"serviceType": "urn:x-yaas:service:shipping",
"serviceUrl": "https://${apigee.proxy.target}/shipping-fedex/v1",
"active": false
}
],
"payment": [
{
"id": "stripe",
"name": "Stripe Payment Service",
"serviceType": "urn:x-yaas:service:payment",
"serviceUrl": "https://${apigee.proxy.target}/payment-stripe/v1",
"active": true,
"configuration": {
"public": {
"option1": "some value",
"option2": 34
},
"restricted": {
"securedOption": "confidential"
}
}
},
{
"id": "paypal",
"name": "PayPal Payment Service",
"serviceType": "urn:x-yaas:service:payment",
"serviceUrl": "https://${apigee.proxy.target}/payment-paypal/v1",
"active": true,
"configuration": {
"public": {
"option1": "some value",
"option2": 34
},
"restricted": {
"securedOption": "confidential"
}
}
}
],
"tax": [
{
"id": "simple",
"name": "Simple Tax Service",
"serviceType": "urn:x-yaas:service:tax",
"serviceUrl": "https://${apigee.proxy.target}/tax-simple/v1",
"active": true,
"configuration": {
"public": {
"option1": "some value",
"option2": 34
},
"restricted": {
"securedOption": "confidential"
}
}
},
{
"id": "avalara",
"name": "Avalara Tax Service",
"serviceType": "urn:x-yaas:service:tax",
"serviceUrl": "https://${apigee.proxy.target}/tax-avalara/v1",
"active": false,
"configuration": {
"public": {
"option1": "some value",
"option2": 34
},
"restricted": {
"securedOption": "confidential"
}
}
}
]
}
HTTP status code 200
The resource has been successfully updated
HTTP status code 400
Request syntactically incorrect. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 400,
"message": "The request payload has incorrect syntax.",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html",
"type": "bad_payload_syntax"
}
HTTP status code 401
Given request is unauthorized. Bad or expired token. Reauthenticate the user. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 401,
"message": "Authorization: Unauthorized. Bearer TOKEN is invalid",
"type": "insufficient_credentials",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html"
}
HTTP status code 403
Evaluated request scopes in access token are not sufficient and do not match required scopes.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 403,
"message": "Given request does not have required scopes in access token. It is not authorized to perform this operation.",
"type": "insufficient_permissions"
}
HTTP status code 404
The requested resource does not exist.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 404,
"message": "The requested URI does not map to a single element resource.",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html",
"type": "element_resource_non_existing"
}
HTTP status code 409
Creation failed because there was a conflict with another resource. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 409,
"message": "The requested resource could not be updated due to server-side validation.",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html",
"type": "conflict_resource"
}
HTTP status code 500
Some server side error occurred.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 500,
"message": "Something went wrong while processing the request. Please contact the administrator.",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html",
"type": "internal_service_error"
}
delete /{tenant}/sites/{code}
Deletes site configuration.
The default site configuration cannot be deleted.
Requires scope hybris.site_manage
.
URI Parameters
- tenant: required (string)
The tenant string is the project's Identifier from the Builder.
- code: required (string)
The 'code' identifier for the site.
You can use 'default' value to reference the site which is marked as the default.
Headers
- Authorization: required (string)
Used to send a valid OAuth2 access token.
Example:
Bearer access_token
HTTP status code 204
The resource has been successfully deleted.
HTTP status code 401
Given request is unauthorized. Bad or expired token. Reauthenticate the user. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 401,
"message": "Authorization: Unauthorized. Bearer TOKEN is invalid",
"type": "insufficient_credentials",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html"
}
HTTP status code 403
Evaluated request scopes in access token are not sufficient and do not match required scopes.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 403,
"message": "Given request does not have required scopes in access token. It is not authorized to perform this operation.",
"type": "insufficient_permissions"
}
HTTP status code 404
The requested resource does not exist.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 404,
"message": "The requested URI does not map to a single element resource.",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html",
"type": "element_resource_non_existing"
}
HTTP status code 500
Some server side error occurred.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 500,
"message": "Something went wrong while processing the request. Please contact the administrator.",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html",
"type": "internal_service_error"
}
/{tenant}/sites/{code}/shipping
Manages shipping configurations of the given site.
Retrieves the list of shipping configurations of the given site.
Creates a shipping configuration for the given site.
Requires scope hybris.site_manage
.
get /{tenant}/sites/{code}/shipping
Retrieves the list of shipping configurations of the given site.
URI Parameters
- tenant: required (string)
The tenant string is the project's Identifier from the Builder.
- code: required (string)
The 'code' identifier for the site.
You can use 'default' value to reference the site which is marked as the default.
Headers
- Authorization: required (string)
Used to send a valid OAuth2 access token.
Example:
Bearer access_token
Query Parameters
- includeInactive: (boolean)
Controls inclusion of deactivated elements in the resulting list.
To access inactive elements scope
hybris.site_manage
is required.Example:
true
HTTP status code 200
The list of configurations has been successfully retrieved.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Service Configurations",
"description": "A list of services configurations.",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Service Configuration",
"description": "The configuration for a service which needs a site-specific settings (like shipping, payment, tax service).",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "A service id which uniquely identifies the service provider (read-only)."
},
"name": {
"type": "string",
"description": "A descriptive service name."
},
"serviceType": {
"type": "string",
"description": "An identifier which uniquely identifies the service type (and its API)."
},
"serviceUrl": {
"type": "string",
"description": "The URL to the service."
},
"active": {
"description": "A flag to mark the service as active. Active services are available publicly.",
"type": "boolean",
"default": true
},
"configuration": {
"type": "object",
"description": "A service-specific configuration data.",
"properties": {
"public": {
"type": "object",
"additionalProperties": true,
"description": "Publicly accessible part of the configuration"
},
"restricted": {
"type": "object",
"additionalProperties": true,
"description": "Restricted part of the configuration for storing sensitive data (like keys). Valid credentials are required to access that part."
}
}
}
},
"required": [
"id",
"serviceType",
"serviceUrl",
"active"
]
}
}
Example:
[
{
"id": "UPS",
"name": "UPS Shipping Service",
"serviceType": "urn:x-yaas:service:shipping",
"serviceUrl": "https://${apigee.proxy.target}/shipping-ups/v1",
"active": true
},
{
"id": "FedEx",
"name": "Fedex Shipping Service",
"serviceType": "urn:x-yaas:service:shipping",
"serviceUrl": "https://${apigee.proxy.target}/shipping-fedex/v1",
"active": true
}
]
HTTP status code 400
Request syntactically incorrect. Any details will be provided within the response payload.
HTTP status code 401
Given request is unauthorized. Bad or expired token. Reauthenticate the user. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 401,
"message": "Authorization: Unauthorized. Bearer TOKEN is invalid",
"type": "insufficient_credentials",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html"
}
HTTP status code 403
Access forbidden. The caller is not allowed to access this resource.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 403,
"message": "Not allowed to access this resource",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html",
"type": "insufficient_permissions"
}
HTTP status code 500
Some server side error occurred.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
post /{tenant}/sites/{code}/shipping
Creates a shipping configuration for the given site.
Requires scope hybris.site_manage
.
URI Parameters
- tenant: required (string)
The tenant string is the project's Identifier from the Builder.
- code: required (string)
The 'code' identifier for the site.
You can use 'default' value to reference the site which is marked as the default.
Headers
- Authorization: required (string)
Used to send a valid OAuth2 access token.
Example:
Bearer access_token
Query Parameters
- includeInactive: (boolean)
Controls inclusion of deactivated elements in the resulting list.
To access inactive elements scope
hybris.site_manage
is required.Example:
true
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Service Configuration",
"description": "The configuration for a service which needs a site-specific settings (like shipping, payment, tax service).",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "A service id which uniquely identifies the service provider (read-only)."
},
"name": {
"type": "string",
"description": "A descriptive service name."
},
"serviceType": {
"type": "string",
"description": "An identifier which uniquely identifies the service type (and its API)."
},
"serviceUrl": {
"type": "string",
"description": "The URL to the service."
},
"active": {
"description": "A flag to mark the service as active. Active services are available publicly.",
"type": "boolean",
"default": true
},
"configuration": {
"type": "object",
"description": "A service-specific configuration data.",
"properties": {
"public": {
"type": "object",
"additionalProperties": true,
"description": "Publicly accessible part of the configuration"
},
"restricted": {
"type": "object",
"additionalProperties": true,
"description": "Restricted part of the configuration for storing sensitive data (like keys). Valid credentials are required to access that part."
}
}
}
},
"required": [
"id",
"serviceType",
"serviceUrl",
"active"
]
}
Example:
{
"id": "UPS",
"name": "UPS Shipping Service",
"serviceType": "urn:x-yaas:service:shipping",
"serviceUrl": "https://${apigee.proxy.target}/shipping-ups/v1",
"active": true,
"configuration": {
"public": {
"option1": "some value",
"option2": 34
},
"restricted": {
"securedOption": "confidential"
}
}
}
HTTP status code 201
The new configuration has been successfully created.
Headers
- Location: required (string)
The Location of the new resource which was created by the request. The value consists of a single absolute URI.
Example:
https://api.beta.yaas.io/hybris/site/v1/sites/global/shipping/ups
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"title": "Resource Location",
"description": "Schema for showing location of the new resource.",
"properties": {
"id": {
"description": "The identifier of the created resource",
"type": "string"
},
"link": {
"description": "The link to the created resource",
"type": "string",
"format": "uri"
}
},
"required": [
"id",
"link"
]
}
Example:
{
"id": "ups",
"link": "https://api.beta.yaas.io/hybris/site/v1/sites/global/shipping/ups"
}
HTTP status code 400
Request syntactically incorrect. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
HTTP status code 401
Given request is unauthorized. Bad or expired token. Reauthenticate the user. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 401,
"message": "Authorization: Unauthorized. Bearer TOKEN is invalid",
"type": "insufficient_credentials",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html"
}
HTTP status code 403
Access forbidden. The caller is not allowed to access this resource.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 403,
"message": "Not allowed to access this resource",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html",
"type": "insufficient_permissions"
}
HTTP status code 409
Creation failed because there was a conflict with another resource. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
HTTP status code 500
Some server side error occurred.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
/{tenant}/sites/{code}/shipping/{id}
Manages a single shipping configuration of the given site.
Retrieves details of the given shipping configuration of the given site.
Updates the given shipping configuration of the given site.
Requires scope hybris.site_manage
.
Deletes the configuration.
get /{tenant}/sites/{code}/shipping/{id}
Retrieves details of the given shipping configuration of the given site.
URI Parameters
- tenant: required (string)
The tenant string is the project's Identifier from the Builder.
- code: required (string)
The 'code' identifier for the site.
You can use 'default' value to reference the site which is marked as the default.
- id: required (string)
The service configuration id.
Headers
- Authorization: required (string)
Used to send a valid OAuth2 access token.
Example:
Bearer access_token
HTTP status code 200
The configuration has been successfully retrieved.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Service Configuration",
"description": "The configuration for a service which needs a site-specific settings (like shipping, payment, tax service).",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "A service id which uniquely identifies the service provider (read-only)."
},
"name": {
"type": "string",
"description": "A descriptive service name."
},
"serviceType": {
"type": "string",
"description": "An identifier which uniquely identifies the service type (and its API)."
},
"serviceUrl": {
"type": "string",
"description": "The URL to the service."
},
"active": {
"description": "A flag to mark the service as active. Active services are available publicly.",
"type": "boolean",
"default": true
},
"configuration": {
"type": "object",
"description": "A service-specific configuration data.",
"properties": {
"public": {
"type": "object",
"additionalProperties": true,
"description": "Publicly accessible part of the configuration"
},
"restricted": {
"type": "object",
"additionalProperties": true,
"description": "Restricted part of the configuration for storing sensitive data (like keys). Valid credentials are required to access that part."
}
}
}
},
"required": [
"id",
"serviceType",
"serviceUrl",
"active"
]
}
Example:
{
"id": "UPS",
"name": "UPS Shipping Service",
"serviceType": "urn:x-yaas:service:shipping",
"serviceUrl": "https://${apigee.proxy.target}/shipping-ups/v1",
"active": true,
"configuration": {
"public": {
"option1": "some value",
"option2": 34
},
"restricted": {
"securedOption": "confidential"
}
}
}
HTTP status code 401
Given request is unauthorized. Bad or expired token. Reauthenticate the user. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 401,
"message": "Authorization: Unauthorized. Bearer TOKEN is invalid",
"type": "insufficient_credentials",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html"
}
HTTP status code 403
Evaluated request scopes in access token are not sufficient and do not match required scopes.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 403,
"message": "Given request does not have required scopes in access token. It is not authorized to perform this operation.",
"type": "insufficient_permissions"
}
HTTP status code 404
The requested service configuration does not exist.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
HTTP status code 500
Some server side error occurred.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
put /{tenant}/sites/{code}/shipping/{id}
Updates the given shipping configuration of the given site.
Requires scope hybris.site_manage
.
URI Parameters
- tenant: required (string)
The tenant string is the project's Identifier from the Builder.
- code: required (string)
The 'code' identifier for the site.
You can use 'default' value to reference the site which is marked as the default.
- id: required (string)
The service configuration id.
Headers
- Authorization: required (string)
Used to send a valid OAuth2 access token.
Example:
Bearer access_token
Query Parameters
- partial: (boolean)
If true, a partial update will be supported, otherwise the full object replacement will be performed.
Example:
true
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Service Configuration",
"description": "The configuration for a service which needs a site-specific settings (like shipping, payment, tax service).",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "A service id which uniquely identifies the service provider (read-only)."
},
"name": {
"type": "string",
"description": "A descriptive service name."
},
"serviceType": {
"type": "string",
"description": "An identifier which uniquely identifies the service type (and its API)."
},
"serviceUrl": {
"type": "string",
"description": "The URL to the service."
},
"active": {
"description": "A flag to mark the service as active. Active services are available publicly.",
"type": "boolean",
"default": true
},
"configuration": {
"type": "object",
"description": "A service-specific configuration data.",
"properties": {
"public": {
"type": "object",
"additionalProperties": true,
"description": "Publicly accessible part of the configuration"
},
"restricted": {
"type": "object",
"additionalProperties": true,
"description": "Restricted part of the configuration for storing sensitive data (like keys). Valid credentials are required to access that part."
}
}
}
},
"required": [
"id",
"serviceType",
"serviceUrl",
"active"
]
}
Example:
{
"id": "UPS",
"name": "UPS Shipping Service",
"serviceType": "urn:x-yaas:service:shipping",
"serviceUrl": "https://${apigee.proxy.target}/shipping-ups/v1",
"active": true,
"configuration": {
"public": {
"option1": "some value",
"option2": 34
},
"restricted": {
"securedOption": "confidential"
}
}
}
HTTP status code 200
The configuration has been successfully updated.
HTTP status code 400
Request syntactically incorrect. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
HTTP status code 401
Given request is unauthorized. Bad or expired token. Reauthenticate the user. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 401,
"message": "Authorization: Unauthorized. Bearer TOKEN is invalid",
"type": "insufficient_credentials",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html"
}
HTTP status code 403
Evaluated request scopes in access token are not sufficient and do not match required scopes.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 403,
"message": "Given request does not have required scopes in access token. It is not authorized to perform this operation.",
"type": "insufficient_permissions"
}
HTTP status code 404
The requested configuration does not exist.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
HTTP status code 409
Creation failed because there was a conflict with another resource. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
HTTP status code 500
Some server side error occurred.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
delete /{tenant}/sites/{code}/shipping/{id}
Deletes the configuration.
URI Parameters
- tenant: required (string)
The tenant string is the project's Identifier from the Builder.
- code: required (string)
The 'code' identifier for the site.
You can use 'default' value to reference the site which is marked as the default.
- id: required (string)
The service configuration id.
Headers
- Authorization: required (string)
Used to send a valid OAuth2 access token.
Example:
Bearer access_token
HTTP status code 204
The configuration has been successfully deleted.
HTTP status code 400
Request syntactically incorrect. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
HTTP status code 401
Given request is unauthorized. Bad or expired token. Reauthenticate the user. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 401,
"message": "Authorization: Unauthorized. Bearer TOKEN is invalid",
"type": "insufficient_credentials",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html"
}
HTTP status code 403
Evaluated request scopes in access token are not sufficient and do not match required scopes.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 403,
"message": "Given request does not have required scopes in access token. It is not authorized to perform this operation.",
"type": "insufficient_permissions"
}
HTTP status code 404
The requested service configuration does not exist.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
HTTP status code 500
Some server side error occurred.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
/{tenant}/sites/{code}/payment
Manages payment configurations of the given site.
Retrieves the list of payment configurations of the given site.
Creates a payment configuration for the given site.
Requires scope hybris.site_manage
.
get /{tenant}/sites/{code}/payment
Retrieves the list of payment configurations of the given site.
URI Parameters
- tenant: required (string)
The tenant string is the project's Identifier from the Builder.
- code: required (string)
The 'code' identifier for the site.
You can use 'default' value to reference the site which is marked as the default.
Headers
- Authorization: required (string)
Used to send a valid OAuth2 access token.
Example:
Bearer access_token
Query Parameters
- includeInactive: (boolean)
Controls inclusion of deactivated elements in the resulting list.
To access inactive elements scope
hybris.site_manage
is required.Example:
true
HTTP status code 200
The list of configurations has been successfully retrieved.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Service Configurations",
"description": "A list of services configurations.",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Service Configuration",
"description": "The configuration for a service which needs a site-specific settings (like shipping, payment, tax service).",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "A service id which uniquely identifies the service provider (read-only)."
},
"name": {
"type": "string",
"description": "A descriptive service name."
},
"serviceType": {
"type": "string",
"description": "An identifier which uniquely identifies the service type (and its API)."
},
"serviceUrl": {
"type": "string",
"description": "The URL to the service."
},
"active": {
"description": "A flag to mark the service as active. Active services are available publicly.",
"type": "boolean",
"default": true
},
"configuration": {
"type": "object",
"description": "A service-specific configuration data.",
"properties": {
"public": {
"type": "object",
"additionalProperties": true,
"description": "Publicly accessible part of the configuration"
},
"restricted": {
"type": "object",
"additionalProperties": true,
"description": "Restricted part of the configuration for storing sensitive data (like keys). Valid credentials are required to access that part."
}
}
}
},
"required": [
"id",
"serviceType",
"serviceUrl",
"active"
]
}
}
Example:
[
{
"id": "stripe",
"name": "Stripe Payment Service",
"serviceType": "urn:x-yaas:service:payment",
"serviceUrl": "https://${apigee.proxy.target}/payment-stripe/v1",
"active": true
},
{
"id": "paypal",
"name": "PayPal Payment Service",
"serviceType": "urn:x-yaas:service:payment",
"serviceUrl": "https://${apigee.proxy.target}/payment-paypal/v1",
"active": true
}
]
HTTP status code 400
Request syntactically incorrect. Any details will be provided within the response payload.
HTTP status code 401
Given request is unauthorized. Bad or expired token. Reauthenticate the user. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 401,
"message": "Authorization: Unauthorized. Bearer TOKEN is invalid",
"type": "insufficient_credentials",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html"
}
HTTP status code 403
Access forbidden. The caller is not allowed to access this resource.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 403,
"message": "Not allowed to access this resource",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html",
"type": "insufficient_permissions"
}
HTTP status code 500
Some server side error occurred.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
post /{tenant}/sites/{code}/payment
Creates a payment configuration for the given site.
Requires scope hybris.site_manage
.
URI Parameters
- tenant: required (string)
The tenant string is the project's Identifier from the Builder.
- code: required (string)
The 'code' identifier for the site.
You can use 'default' value to reference the site which is marked as the default.
Headers
- Authorization: required (string)
Used to send a valid OAuth2 access token.
Example:
Bearer access_token
Query Parameters
- includeInactive: (boolean)
Controls inclusion of deactivated elements in the resulting list.
To access inactive elements scope
hybris.site_manage
is required.Example:
true
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Service Configuration",
"description": "The configuration for a service which needs a site-specific settings (like shipping, payment, tax service).",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "A service id which uniquely identifies the service provider (read-only)."
},
"name": {
"type": "string",
"description": "A descriptive service name."
},
"serviceType": {
"type": "string",
"description": "An identifier which uniquely identifies the service type (and its API)."
},
"serviceUrl": {
"type": "string",
"description": "The URL to the service."
},
"active": {
"description": "A flag to mark the service as active. Active services are available publicly.",
"type": "boolean",
"default": true
},
"configuration": {
"type": "object",
"description": "A service-specific configuration data.",
"properties": {
"public": {
"type": "object",
"additionalProperties": true,
"description": "Publicly accessible part of the configuration"
},
"restricted": {
"type": "object",
"additionalProperties": true,
"description": "Restricted part of the configuration for storing sensitive data (like keys). Valid credentials are required to access that part."
}
}
}
},
"required": [
"id",
"serviceType",
"serviceUrl",
"active"
]
}
Example:
{
"id": "stripe",
"name": "Stripe Payment Service",
"serviceType": "urn:x-yaas:service:payment",
"serviceUrl": "https://${apigee.proxy.target}/payment-stripe/v1",
"active": true,
"configuration": {
"public": {
"option1": "some value",
"option2": 34
},
"restricted": {
"securedOption": "confidential"
}
}
}
HTTP status code 201
The new configuration has been successfully created.
Headers
- Location: required (string)
The Location of the new resource which was created by the request. The value consists of a single absolute URI.
Example:
https://api.beta.yaas.io/hybris/site/v1/sites/global/shipping/ups
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"title": "Resource Location",
"description": "Schema for showing location of the new resource.",
"properties": {
"id": {
"description": "The identifier of the created resource",
"type": "string"
},
"link": {
"description": "The link to the created resource",
"type": "string",
"format": "uri"
}
},
"required": [
"id",
"link"
]
}
Example:
{
"id": "ups",
"link": "https://api.beta.yaas.io/hybris/site/v1/sites/global/shipping/ups"
}
HTTP status code 400
Request syntactically incorrect. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
HTTP status code 401
Given request is unauthorized. Bad or expired token. Reauthenticate the user. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 401,
"message": "Authorization: Unauthorized. Bearer TOKEN is invalid",
"type": "insufficient_credentials",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html"
}
HTTP status code 403
Access forbidden. The caller is not allowed to access this resource.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 403,
"message": "Not allowed to access this resource",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html",
"type": "insufficient_permissions"
}
HTTP status code 409
Creation failed because there was a conflict with another resource. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
HTTP status code 500
Some server side error occurred.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
/{tenant}/sites/{code}/payment/{id}
Manages a single payment configuration of the given site.
Retrieves details of the given payment configuration of the given site.
Updates the given payment configuration of the given site.
Requires scope hybris.site_manage
.
Deletes the configuration.
get /{tenant}/sites/{code}/payment/{id}
Retrieves details of the given payment configuration of the given site.
URI Parameters
- tenant: required (string)
The tenant string is the project's Identifier from the Builder.
- code: required (string)
The 'code' identifier for the site.
You can use 'default' value to reference the site which is marked as the default.
- id: required (string)
The service configuration id.
Headers
- Authorization: required (string)
Used to send a valid OAuth2 access token.
Example:
Bearer access_token
HTTP status code 200
The configuration has been successfully retrieved.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Service Configuration",
"description": "The configuration for a service which needs a site-specific settings (like shipping, payment, tax service).",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "A service id which uniquely identifies the service provider (read-only)."
},
"name": {
"type": "string",
"description": "A descriptive service name."
},
"serviceType": {
"type": "string",
"description": "An identifier which uniquely identifies the service type (and its API)."
},
"serviceUrl": {
"type": "string",
"description": "The URL to the service."
},
"active": {
"description": "A flag to mark the service as active. Active services are available publicly.",
"type": "boolean",
"default": true
},
"configuration": {
"type": "object",
"description": "A service-specific configuration data.",
"properties": {
"public": {
"type": "object",
"additionalProperties": true,
"description": "Publicly accessible part of the configuration"
},
"restricted": {
"type": "object",
"additionalProperties": true,
"description": "Restricted part of the configuration for storing sensitive data (like keys). Valid credentials are required to access that part."
}
}
}
},
"required": [
"id",
"serviceType",
"serviceUrl",
"active"
]
}
Example:
{
"id": "stripe",
"name": "Stripe Payment Service",
"serviceType": "urn:x-yaas:service:payment",
"serviceUrl": "https://${apigee.proxy.target}/payment-stripe/v1",
"active": true,
"configuration": {
"public": {
"option1": "some value",
"option2": 34
},
"restricted": {
"securedOption": "confidential"
}
}
}
HTTP status code 401
Given request is unauthorized. Bad or expired token. Reauthenticate the user. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 401,
"message": "Authorization: Unauthorized. Bearer TOKEN is invalid",
"type": "insufficient_credentials",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html"
}
HTTP status code 403
Evaluated request scopes in access token are not sufficient and do not match required scopes.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 403,
"message": "Given request does not have required scopes in access token. It is not authorized to perform this operation.",
"type": "insufficient_permissions"
}
HTTP status code 404
The requested service configuration does not exist.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
HTTP status code 500
Some server side error occurred.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
put /{tenant}/sites/{code}/payment/{id}
Updates the given payment configuration of the given site.
Requires scope hybris.site_manage
.
URI Parameters
- tenant: required (string)
The tenant string is the project's Identifier from the Builder.
- code: required (string)
The 'code' identifier for the site.
You can use 'default' value to reference the site which is marked as the default.
- id: required (string)
The service configuration id.
Headers
- Authorization: required (string)
Used to send a valid OAuth2 access token.
Example:
Bearer access_token
Query Parameters
- partial: (boolean)
If true, a partial update will be supported, otherwise the full object replacement will be performed.
Example:
true
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Service Configuration",
"description": "The configuration for a service which needs a site-specific settings (like shipping, payment, tax service).",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "A service id which uniquely identifies the service provider (read-only)."
},
"name": {
"type": "string",
"description": "A descriptive service name."
},
"serviceType": {
"type": "string",
"description": "An identifier which uniquely identifies the service type (and its API)."
},
"serviceUrl": {
"type": "string",
"description": "The URL to the service."
},
"active": {
"description": "A flag to mark the service as active. Active services are available publicly.",
"type": "boolean",
"default": true
},
"configuration": {
"type": "object",
"description": "A service-specific configuration data.",
"properties": {
"public": {
"type": "object",
"additionalProperties": true,
"description": "Publicly accessible part of the configuration"
},
"restricted": {
"type": "object",
"additionalProperties": true,
"description": "Restricted part of the configuration for storing sensitive data (like keys). Valid credentials are required to access that part."
}
}
}
},
"required": [
"id",
"serviceType",
"serviceUrl",
"active"
]
}
Example:
{
"id": "stripe",
"name": "Stripe Payment Service",
"serviceType": "urn:x-yaas:service:payment",
"serviceUrl": "https://${apigee.proxy.target}/payment-stripe/v1",
"active": true,
"configuration": {
"public": {
"option1": "some value",
"option2": 34
},
"restricted": {
"securedOption": "confidential"
}
}
}
HTTP status code 200
The configuration has been successfully updated.
HTTP status code 400
Request syntactically incorrect. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
HTTP status code 401
Given request is unauthorized. Bad or expired token. Reauthenticate the user. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 401,
"message": "Authorization: Unauthorized. Bearer TOKEN is invalid",
"type": "insufficient_credentials",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html"
}
HTTP status code 403
Evaluated request scopes in access token are not sufficient and do not match required scopes.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 403,
"message": "Given request does not have required scopes in access token. It is not authorized to perform this operation.",
"type": "insufficient_permissions"
}
HTTP status code 404
The requested configuration does not exist.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
HTTP status code 409
Creation failed because there was a conflict with another resource. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
HTTP status code 500
Some server side error occurred.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
delete /{tenant}/sites/{code}/payment/{id}
Deletes the configuration.
URI Parameters
- tenant: required (string)
The tenant string is the project's Identifier from the Builder.
- code: required (string)
The 'code' identifier for the site.
You can use 'default' value to reference the site which is marked as the default.
- id: required (string)
The service configuration id.
Headers
- Authorization: required (string)
Used to send a valid OAuth2 access token.
Example:
Bearer access_token
HTTP status code 204
The configuration has been successfully deleted.
HTTP status code 400
Request syntactically incorrect. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
HTTP status code 401
Given request is unauthorized. Bad or expired token. Reauthenticate the user. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 401,
"message": "Authorization: Unauthorized. Bearer TOKEN is invalid",
"type": "insufficient_credentials",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html"
}
HTTP status code 403
Evaluated request scopes in access token are not sufficient and do not match required scopes.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 403,
"message": "Given request does not have required scopes in access token. It is not authorized to perform this operation.",
"type": "insufficient_permissions"
}
HTTP status code 404
The requested service configuration does not exist.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
HTTP status code 500
Some server side error occurred.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
/{tenant}/sites/{code}/tax
Manages tax configurations of the given site.
Retrieves the list of tax configurations of the given site.
Creates a tax configuration for the given site.
Requires scope hybris.site_manage
.
get /{tenant}/sites/{code}/tax
Retrieves the list of tax configurations of the given site.
URI Parameters
- tenant: required (string)
The tenant string is the project's Identifier from the Builder.
- code: required (string)
The 'code' identifier for the site.
You can use 'default' value to reference the site which is marked as the default.
Headers
- Authorization: required (string)
Used to send a valid OAuth2 access token.
Example:
Bearer access_token
Query Parameters
- includeInactive: (boolean)
Controls inclusion of deactivated elements in the resulting list.
To access inactive elements scope
hybris.site_manage
is required.Example:
true
HTTP status code 200
The list of configurations has been successfully retrieved.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Service Configurations",
"description": "A list of services configurations.",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Service Configuration",
"description": "The configuration for a service which needs a site-specific settings (like shipping, payment, tax service).",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "A service id which uniquely identifies the service provider (read-only)."
},
"name": {
"type": "string",
"description": "A descriptive service name."
},
"serviceType": {
"type": "string",
"description": "An identifier which uniquely identifies the service type (and its API)."
},
"serviceUrl": {
"type": "string",
"description": "The URL to the service."
},
"active": {
"description": "A flag to mark the service as active. Active services are available publicly.",
"type": "boolean",
"default": true
},
"configuration": {
"type": "object",
"description": "A service-specific configuration data.",
"properties": {
"public": {
"type": "object",
"additionalProperties": true,
"description": "Publicly accessible part of the configuration"
},
"restricted": {
"type": "object",
"additionalProperties": true,
"description": "Restricted part of the configuration for storing sensitive data (like keys). Valid credentials are required to access that part."
}
}
}
},
"required": [
"id",
"serviceType",
"serviceUrl",
"active"
]
}
}
Example:
[
{
"id": "simple",
"name": "Simple Tax Service",
"serviceType": "urn:x-yaas:service:tax",
"serviceUrl": "https://${apigee.proxy.target}/tax-simple/v1",
"active": true
},
{
"id": "avalara",
"name": "Avalara Tax Service",
"serviceType": "urn:x-yaas:service:tax",
"serviceUrl": "https://${apigee.proxy.target}/tax-avalara/v1",
"active": false
}
]
HTTP status code 400
Request syntactically incorrect. Any details will be provided within the response payload.
HTTP status code 401
Given request is unauthorized. Bad or expired token. Reauthenticate the user. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 401,
"message": "Authorization: Unauthorized. Bearer TOKEN is invalid",
"type": "insufficient_credentials",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html"
}
HTTP status code 403
Access forbidden. The caller is not allowed to access this resource.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 403,
"message": "Not allowed to access this resource",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html",
"type": "insufficient_permissions"
}
HTTP status code 500
Some server side error occurred.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
post /{tenant}/sites/{code}/tax
Creates a tax configuration for the given site.
Requires scope hybris.site_manage
.
URI Parameters
- tenant: required (string)
The tenant string is the project's Identifier from the Builder.
- code: required (string)
The 'code' identifier for the site.
You can use 'default' value to reference the site which is marked as the default.
Headers
- Authorization: required (string)
Used to send a valid OAuth2 access token.
Example:
Bearer access_token
Query Parameters
- includeInactive: (boolean)
Controls inclusion of deactivated elements in the resulting list.
To access inactive elements scope
hybris.site_manage
is required.Example:
true
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Service Configuration",
"description": "The configuration for a service which needs a site-specific settings (like shipping, payment, tax service).",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "A service id which uniquely identifies the service provider (read-only)."
},
"name": {
"type": "string",
"description": "A descriptive service name."
},
"serviceType": {
"type": "string",
"description": "An identifier which uniquely identifies the service type (and its API)."
},
"serviceUrl": {
"type": "string",
"description": "The URL to the service."
},
"active": {
"description": "A flag to mark the service as active. Active services are available publicly.",
"type": "boolean",
"default": true
},
"configuration": {
"type": "object",
"description": "A service-specific configuration data.",
"properties": {
"public": {
"type": "object",
"additionalProperties": true,
"description": "Publicly accessible part of the configuration"
},
"restricted": {
"type": "object",
"additionalProperties": true,
"description": "Restricted part of the configuration for storing sensitive data (like keys). Valid credentials are required to access that part."
}
}
}
},
"required": [
"id",
"serviceType",
"serviceUrl",
"active"
]
}
Example:
{
"id": "simple",
"name": "Simple Tax Service",
"serviceType": "urn:x-yaas:service:tax",
"serviceUrl": "https://${apigee.proxy.target}/tax-simple/v1",
"active": true,
"configuration": {
"public": {
"option1": "some value",
"option2": 34
},
"restricted": {
"securedOption": "confidential"
}
}
}
HTTP status code 201
The new configuration has been successfully created.
Headers
- Location: required (string)
The Location of the new resource which was created by the request. The value consists of a single absolute URI.
Example:
https://api.beta.yaas.io/hybris/site/v1/sites/global/shipping/ups
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"title": "Resource Location",
"description": "Schema for showing location of the new resource.",
"properties": {
"id": {
"description": "The identifier of the created resource",
"type": "string"
},
"link": {
"description": "The link to the created resource",
"type": "string",
"format": "uri"
}
},
"required": [
"id",
"link"
]
}
Example:
{
"id": "ups",
"link": "https://api.beta.yaas.io/hybris/site/v1/sites/global/shipping/ups"
}
HTTP status code 400
Request syntactically incorrect. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
HTTP status code 401
Given request is unauthorized. Bad or expired token. Reauthenticate the user. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 401,
"message": "Authorization: Unauthorized. Bearer TOKEN is invalid",
"type": "insufficient_credentials",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html"
}
HTTP status code 403
Access forbidden. The caller is not allowed to access this resource.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 403,
"message": "Not allowed to access this resource",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html",
"type": "insufficient_permissions"
}
HTTP status code 409
Creation failed because there was a conflict with another resource. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
HTTP status code 500
Some server side error occurred.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
/{tenant}/sites/{code}/tax/{id}
Manages a single tax configuration of the given site.
Retrieves details of the given tax configuration of the given site.
Updates the given tax configuration of the given site.
Requires scope hybris.site_manage
.
Deletes the configuration.
get /{tenant}/sites/{code}/tax/{id}
Retrieves details of the given tax configuration of the given site.
URI Parameters
- tenant: required (string)
The tenant string is the project's Identifier from the Builder.
- code: required (string)
The 'code' identifier for the site.
You can use 'default' value to reference the site which is marked as the default.
- id: required (string)
The service configuration id.
Headers
- Authorization: required (string)
Used to send a valid OAuth2 access token.
Example:
Bearer access_token
HTTP status code 200
The configuration has been successfully retrieved.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Service Configuration",
"description": "The configuration for a service which needs a site-specific settings (like shipping, payment, tax service).",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "A service id which uniquely identifies the service provider (read-only)."
},
"name": {
"type": "string",
"description": "A descriptive service name."
},
"serviceType": {
"type": "string",
"description": "An identifier which uniquely identifies the service type (and its API)."
},
"serviceUrl": {
"type": "string",
"description": "The URL to the service."
},
"active": {
"description": "A flag to mark the service as active. Active services are available publicly.",
"type": "boolean",
"default": true
},
"configuration": {
"type": "object",
"description": "A service-specific configuration data.",
"properties": {
"public": {
"type": "object",
"additionalProperties": true,
"description": "Publicly accessible part of the configuration"
},
"restricted": {
"type": "object",
"additionalProperties": true,
"description": "Restricted part of the configuration for storing sensitive data (like keys). Valid credentials are required to access that part."
}
}
}
},
"required": [
"id",
"serviceType",
"serviceUrl",
"active"
]
}
Example:
{
"id": "simple",
"name": "Simple Tax Service",
"serviceType": "urn:x-yaas:service:tax",
"serviceUrl": "https://${apigee.proxy.target}/tax-simple/v1",
"active": true,
"configuration": {
"public": {
"option1": "some value",
"option2": 34
},
"restricted": {
"securedOption": "confidential"
}
}
}
HTTP status code 401
Given request is unauthorized. Bad or expired token. Reauthenticate the user. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 401,
"message": "Authorization: Unauthorized. Bearer TOKEN is invalid",
"type": "insufficient_credentials",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html"
}
HTTP status code 403
Evaluated request scopes in access token are not sufficient and do not match required scopes.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 403,
"message": "Given request does not have required scopes in access token. It is not authorized to perform this operation.",
"type": "insufficient_permissions"
}
HTTP status code 404
The requested service configuration does not exist.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
HTTP status code 500
Some server side error occurred.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
put /{tenant}/sites/{code}/tax/{id}
Updates the given tax configuration of the given site.
Requires scope hybris.site_manage
.
URI Parameters
- tenant: required (string)
The tenant string is the project's Identifier from the Builder.
- code: required (string)
The 'code' identifier for the site.
You can use 'default' value to reference the site which is marked as the default.
- id: required (string)
The service configuration id.
Headers
- Authorization: required (string)
Used to send a valid OAuth2 access token.
Example:
Bearer access_token
Query Parameters
- partial: (boolean)
If true, a partial update will be supported, otherwise the full object replacement will be performed.
Example:
true
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Service Configuration",
"description": "The configuration for a service which needs a site-specific settings (like shipping, payment, tax service).",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "A service id which uniquely identifies the service provider (read-only)."
},
"name": {
"type": "string",
"description": "A descriptive service name."
},
"serviceType": {
"type": "string",
"description": "An identifier which uniquely identifies the service type (and its API)."
},
"serviceUrl": {
"type": "string",
"description": "The URL to the service."
},
"active": {
"description": "A flag to mark the service as active. Active services are available publicly.",
"type": "boolean",
"default": true
},
"configuration": {
"type": "object",
"description": "A service-specific configuration data.",
"properties": {
"public": {
"type": "object",
"additionalProperties": true,
"description": "Publicly accessible part of the configuration"
},
"restricted": {
"type": "object",
"additionalProperties": true,
"description": "Restricted part of the configuration for storing sensitive data (like keys). Valid credentials are required to access that part."
}
}
}
},
"required": [
"id",
"serviceType",
"serviceUrl",
"active"
]
}
Example:
{
"id": "simple",
"name": "Simple Tax Service",
"serviceType": "urn:x-yaas:service:tax",
"serviceUrl": "https://${apigee.proxy.target}/tax-simple/v1",
"active": true,
"configuration": {
"public": {
"option1": "some value",
"option2": 34
},
"restricted": {
"securedOption": "confidential"
}
}
}
HTTP status code 200
The configuration has been successfully updated.
HTTP status code 400
Request syntactically incorrect. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
HTTP status code 401
Given request is unauthorized. Bad or expired token. Reauthenticate the user. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 401,
"message": "Authorization: Unauthorized. Bearer TOKEN is invalid",
"type": "insufficient_credentials",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html"
}
HTTP status code 403
Evaluated request scopes in access token are not sufficient and do not match required scopes.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 403,
"message": "Given request does not have required scopes in access token. It is not authorized to perform this operation.",
"type": "insufficient_permissions"
}
HTTP status code 404
The requested configuration does not exist.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
HTTP status code 409
Creation failed because there was a conflict with another resource. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
HTTP status code 500
Some server side error occurred.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
delete /{tenant}/sites/{code}/tax/{id}
Deletes the configuration.
URI Parameters
- tenant: required (string)
The tenant string is the project's Identifier from the Builder.
- code: required (string)
The 'code' identifier for the site.
You can use 'default' value to reference the site which is marked as the default.
- id: required (string)
The service configuration id.
Headers
- Authorization: required (string)
Used to send a valid OAuth2 access token.
Example:
Bearer access_token
HTTP status code 204
The configuration has been successfully deleted.
HTTP status code 400
Request syntactically incorrect. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
HTTP status code 401
Given request is unauthorized. Bad or expired token. Reauthenticate the user. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 401,
"message": "Authorization: Unauthorized. Bearer TOKEN is invalid",
"type": "insufficient_credentials",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html"
}
HTTP status code 403
Evaluated request scopes in access token are not sufficient and do not match required scopes.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 403,
"message": "Given request does not have required scopes in access token. It is not authorized to perform this operation.",
"type": "insufficient_permissions"
}
HTTP status code 404
The requested service configuration does not exist.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
HTTP status code 500
Some server side error occurred.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
/{tenant}/sites/{code}/mixins
Manages custom data (mixins) associated with the given site.
Retrieves a list of all custom configuration objects for the site.
Creates a new custom configuration object for the site.
Requires scope hybris.site_manage
.
get /{tenant}/sites/{code}/mixins
Retrieves a list of all custom configuration objects for the site.
URI Parameters
- tenant: required (string)
The tenant string is the project's Identifier from the Builder.
- code: required (string)
The 'code' identifier for the site.
You can use 'default' value to reference the site which is marked as the default.
Headers
- Authorization: required (string)
Used to send a valid OAuth2 access token.
Example:
Bearer access_token
HTTP status code 200
Resource successfully retrieved.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Site Configuration Mixins",
"description": "The collection of mixins stored in the site configuration. Each attribute is a separate mixin",
"type": "object",
"additionalProperties": true
}
Example:
{
"loyalty": {
"metadata": {
"schema": "https://${apigee.proxy.target}/schemas/loyalty.json"
},
"option1": "some value",
"option2": 34
},
"catalogs": {
"metadata": {
"schema": "https://${apigee.proxy.target}/schemas/catalogs.json"
},
"active": "winter"
}
}
HTTP status code 401
Given request is unauthorized. Bad or expired token. Reauthenticate the user. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 401,
"message": "Authorization: Unauthorized. Bearer TOKEN is invalid",
"type": "insufficient_credentials",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html"
}
HTTP status code 403
Evaluated request scopes in access token are not sufficient and do not match required scopes.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 403,
"message": "Given request does not have required scopes in access token. It is not authorized to perform this operation.",
"type": "insufficient_permissions"
}
HTTP status code 500
Some server side error occurred.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 500,
"message": "Something went wrong while processing the request. Please contact the administrator.",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html",
"type": "internal_service_error"
}
post /{tenant}/sites/{code}/mixins
Creates a new custom configuration object for the site.
Requires scope hybris.site_manage
.
URI Parameters
- tenant: required (string)
The tenant string is the project's Identifier from the Builder.
- code: required (string)
The 'code' identifier for the site.
You can use 'default' value to reference the site which is marked as the default.
Headers
- Authorization: required (string)
Used to send a valid OAuth2 access token.
Example:
Bearer access_token
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Site Configuration Mixin",
"description": "A custom configuration mixin for the site",
"type": "object",
"additionalProperties": true,
"properties": {
"metadata": {
"type": "object",
"properties": {
"schema": {
"type": "string",
"format": "uri"
}
}
}
},
"required": [
"metadata"
]
}
Example:
{
"loyalty": {
"metadata": {
"schema": "https://${apigee.proxy.target}/schemas/loyalty.json"
},
"option1": "some value",
"option2": 34
}
}
HTTP status code 201
The collection resource has been successfully created.
Headers
- Location: required (string)
The Location of the new resource which was created by the request. The value consists of a single absolute URI.
Example:
http://www.hybris.com/items/myItem
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"title": "Resource Location",
"description": "Schema for showing location of the new resource.",
"properties": {
"id": {
"description": "The identifier of the created resource",
"type": "string"
},
"link": {
"description": "The link to the created resource",
"type": "string",
"format": "uri"
}
},
"required": [
"id",
"link"
]
}
Example:
{
"id": "myConfig",
"link": "https://${apigee.proxy.target}/hybris/site/v1/sites/global/mixins/myConfig"
}
HTTP status code 400
Request syntactically incorrect. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 400,
"message": "The request payload has incorrect syntax.",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html",
"type": "bad_payload_syntax"
}
HTTP status code 401
Given request is unauthorized. Bad or expired token. Reauthenticate the user. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 401,
"message": "Authorization: Unauthorized. Bearer TOKEN is invalid",
"type": "insufficient_credentials",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html"
}
HTTP status code 403
Evaluated request scopes in access token are not sufficient and do not match required scopes.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 403,
"message": "Given request does not have required scopes in access token. It is not authorized to perform this operation.",
"type": "insufficient_permissions"
}
HTTP status code 409
Creation failed because there was a conflict with another resource. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 409,
"message": "The requested resource could not be created due to server-side validation.",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html",
"type": "conflict_resource"
}
HTTP status code 500
Some server side error occurred.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 500,
"message": "Something went wrong while processing the request. Please contact the administrator.",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html",
"type": "internal_service_error"
}
/{tenant}/sites/{code}/mixins/{name}
Manages a single custom data item (mixin) associated with the given site.
Retrieves custom configuration object with given name.
Updates custom configuration object with given name (fully or partially).
Requires scope hybris.site_manage
.
Deletes the given custom configuration object.
Requires scope hybris.site_manage
.
get /{tenant}/sites/{code}/mixins/{name}
Retrieves custom configuration object with given name.
URI Parameters
- tenant: required (string)
The tenant string is the project's Identifier from the Builder.
- code: required (string)
The 'code' identifier for the site.
You can use 'default' value to reference the site which is marked as the default.
- name: required (string)
The name identifying mixin.
Headers
- Authorization: required (string)
Used to send a valid OAuth2 access token.
Example:
Bearer access_token
HTTP status code 200
The custom configuration object has been successfully retrieved.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Site Configuration Mixin",
"description": "A custom configuration mixin for the site",
"type": "object",
"additionalProperties": true,
"properties": {
"metadata": {
"type": "object",
"properties": {
"schema": {
"type": "string",
"format": "uri"
}
}
}
},
"required": [
"metadata"
]
}
Example:
{
"metadata": {
"schema": "https://${apigee.proxy.target}/schemas/loyalty.json"
},
"option1": "some value",
"option2": 34
}
HTTP status code 401
Given request is unauthorized. Bad or expired token. Reauthenticate the user. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 401,
"message": "Authorization: Unauthorized. Bearer TOKEN is invalid",
"type": "insufficient_credentials",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html"
}
HTTP status code 403
Evaluated request scopes in access token are not sufficient and do not match required scopes.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 403,
"message": "Given request does not have required scopes in access token. It is not authorized to perform this operation.",
"type": "insufficient_permissions"
}
HTTP status code 404
The requested resource does not exist.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 404,
"message": "The requested URI does not map to a single element resource.",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html",
"type": "element_resource_non_existing"
}
HTTP status code 500
Some server side error occurred.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 500,
"message": "Something went wrong while processing the request. Please contact the administrator.",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html",
"type": "internal_service_error"
}
put /{tenant}/sites/{code}/mixins/{name}
Updates custom configuration object with given name (fully or partially).
Requires scope hybris.site_manage
.
URI Parameters
- tenant: required (string)
The tenant string is the project's Identifier from the Builder.
- code: required (string)
The 'code' identifier for the site.
You can use 'default' value to reference the site which is marked as the default.
- name: required (string)
The name identifying mixin.
Headers
- Authorization: required (string)
Used to send a valid OAuth2 access token.
Example:
Bearer access_token
Query Parameters
- partial: (boolean)
If true, a partial update will be supported, otherwise the full object replacement will be performed.
Example:
true
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Site Configuration Mixin",
"description": "A custom configuration mixin for the site",
"type": "object",
"additionalProperties": true,
"properties": {
"metadata": {
"type": "object",
"properties": {
"schema": {
"type": "string",
"format": "uri"
}
}
}
},
"required": [
"metadata"
]
}
Example:
{
"metadata": {
"schema": "https://${apigee.proxy.target}/schemas/loyalty.json"
},
"option1": "some value",
"option2": 34
}
HTTP status code 200
The resource has been successfully updated
HTTP status code 400
Request syntactically incorrect. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 400,
"message": "The request payload has incorrect syntax.",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html",
"type": "bad_payload_syntax"
}
HTTP status code 401
Given request is unauthorized. Bad or expired token. Reauthenticate the user. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 401,
"message": "Authorization: Unauthorized. Bearer TOKEN is invalid",
"type": "insufficient_credentials",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html"
}
HTTP status code 403
Evaluated request scopes in access token are not sufficient and do not match required scopes.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 403,
"message": "Given request does not have required scopes in access token. It is not authorized to perform this operation.",
"type": "insufficient_permissions"
}
HTTP status code 404
The requested resource does not exist.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 404,
"message": "The requested URI does not map to a single element resource.",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html",
"type": "element_resource_non_existing"
}
HTTP status code 409
Creation failed because there was a conflict with another resource. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 409,
"message": "The requested resource could not be updated due to server-side validation.",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html",
"type": "conflict_resource"
}
HTTP status code 500
Some server side error occurred.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 500,
"message": "Something went wrong while processing the request. Please contact the administrator.",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html",
"type": "internal_service_error"
}
delete /{tenant}/sites/{code}/mixins/{name}
Deletes the given custom configuration object.
Requires scope hybris.site_manage
.
URI Parameters
- tenant: required (string)
The tenant string is the project's Identifier from the Builder.
- code: required (string)
The 'code' identifier for the site.
You can use 'default' value to reference the site which is marked as the default.
- name: required (string)
The name identifying mixin.
Headers
- Authorization: required (string)
Used to send a valid OAuth2 access token.
Example:
Bearer access_token
HTTP status code 204
The resource has been successfully deleted.
HTTP status code 401
Given request is unauthorized. Bad or expired token. Reauthenticate the user. Any details will be provided within the response payload.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 401,
"message": "Authorization: Unauthorized. Bearer TOKEN is invalid",
"type": "insufficient_credentials",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html"
}
HTTP status code 403
Evaluated request scopes in access token are not sufficient and do not match required scopes.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 403,
"message": "Given request does not have required scopes in access token. It is not authorized to perform this operation.",
"type": "insufficient_permissions"
}
HTTP status code 404
The requested resource does not exist.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 404,
"message": "The requested URI does not map to a single element resource.",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html",
"type": "element_resource_non_existing"
}
HTTP status code 500
Some server side error occurred.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "error",
"description": "Schema for API specified errors.",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "original HTTP error code, should be consistent with the response HTTP code",
"minimum": 100,
"maximum": 599
},
"type": {
"type": "string",
"description": "classification of the error type, lower case with underscore eg validation_failure",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support"
},
"details": {
"type": "array",
"description": "list of problems causing this error",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "errorDetail",
"description": "schema for specific error cause",
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific"
},
"type": {
"type": "string",
"description": "classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.",
"pattern": "[a-z]+[a-z_]*[a-z]+"
},
"message": {
"type": "string",
"description": "descriptive error detail message for debugging"
},
"moreInfo": {
"type": "string",
"format": "uri",
"description": "link to documentation to investigate further and finding support for error detail"
}
},
"required": [
"type"
]
}
}
},
"required": [
"status",
"type"
]
}
Example:
{
"status": 500,
"message": "Something went wrong while processing the request. Please contact the administrator.",
"moreInfo": "https://api.yaas.io/patterns/errortypes.html",
"type": "internal_service_error"
}
Events
Topic | Description | Payload | Example |
---|---|---|---|
hybris.site.site-created | Site created | schema |
|
hybris.site.site-modified | Site modified | schema |
|
hybris.site.site-deleted | Site deleted | schema |
|
Scopes in the Site Service
Scopes let you specify exactly what type of permissions you need to access resources and operations in the Site service.
This table presents all the scopes currently supported by the Site service.
Scope | Description |
---|---|
hybris.site_manage | Use this scope to get full access to all operations on resources. All operations that create, modify, or delete site configurations require this scope. It is also required to access inactive sites, service configurations, or the restricted part of a service configuration. |
For more information about the authorization and authentication used in SAP Hybris services, and also about the scopes in general, see:
Site Configurations
The Site service manages site configurations. Each site configuration is a collection of several settings, such as language, currency, shipment, and payment.
Multiple sites can be defined at the same time. Some of these sites can be active, while others can be inactive.
Only active sites are returned by default. To access inactive sites:
- You must use the hybris.site_manage scope.
- The includeInactive query parameter must be set to
true
.
The site has an attribute named homeBase that contains the physical address of the place where the items are shipped from. This data is required for proper shipment and tax calculation.
Although full address data can be provided, only country, zipCode, and state (if applicable) are required. The country and state should be given as a code, not a name, in order for the payment and tax service to properly recognize the region.
Access sites
- Each site can be accessed directly with the
/{tenant}/sites/{code}
endpoint. - One of the sites can be marked as the default site.
- The default site is always accessible with
/{tenant}/sites/default
, independent of its actual code. You cannot use default as a site code.
This is an example of a site configuration:
{
"code": "china",
"name": "Chinese Site",
"active": true,
"default": true,
"defaultLanguage": "zn",
"languages": [
"en",
"zn"
],
"currency": "CNY",
"homeBase": {
"address": {
"street": "Cheng Xiang Zhen Guan Tang Lu",
"streetNumber": "1031",
"extraLine1": "No. 2058",
"extraLine2": "Suzhou City",
"zipCode": "201202",
"city": "Taicang City",
"state": "Jiangsu Province",
"country": "CN"
},
"location": {
"latitude": 31.5316133,
"longitude": 121.1646007
}
},
"shipToCountries" : [
"CN"
],
"shipping": [
...
],
"payment": [
...
],
"tax": [
...
],
"mixins": {
...
}
}
Query sites
When querying the site list, only basic site information is provided. Shipping, payment, tax, and mixins are not included.
The results can be expanded with the expand query parameter. You can control the expansion of shipping, payment, tax, and mixin information separately.
When querying a site, basic information about shipping, payment, and tax is provided. The following example does not have a configuration attribute:
"payment": [
{
"id": "stripe",
"name": "stripe Payment Service",
"serviceType": "urn:x-yaas:service:payment",
"serviceUrl": "https://api.beta.yaas.io/payment-stripe/v1",
"active": true
},
{
"id": "paypal",
"name": "PayPal Payment Service",
"serviceType": "urn:x-yaas:service:payment",
"serviceUrl": "https://api.beta.yaas.io/payment-paypal/v1",
"active": true
}
]
This example uses the expand parameter to request more data.
"payment": [
{
"id": "stripe",
"name": "stripe Payment Service",
"serviceType": "urn:x-yaas:service:payment",
"serviceUrl": "https://api.beta.yaas.io/payment-stripe/v1",
"active": true,
"configuration": {
"public": {
"option1": "some value",
"option2": 34
},
"restricted": {
"secredOption": "confidential"
}
}
},
{
"id": "paypal",
"name": "PayPal Payment Service",
"serviceType": "urn:x-yaas:service:payment",
"serviceUrl": "https://api.beta.yaas.io/payment-paypal/v1",
"active": true,
"configuration": {
"public": {
"option1": "some value",
"option2": 34
},
"restricted": {
"secredOption": "confidential"
}
}
}
]
Retrieving detailed information
Retrieving detailed information is a sequence of these steps:
- By default, the details are hidden and only basic information is retrieved and presented.
- Next, users can select a particular site and see a list of configured providers for shipments, payment, and so on.
- Eventually, users gain access to the selected provider configuration.
Default Site
Create a default site
With the Site service, you can have multiple sites. One of these sites can be marked as the default site. The default site is the site that users are initially redirected to before they even start configuring their personal site preferences.
The default site is always available, even if it has not been explicitly created. This site is automatically created in case you make a GET request on these resources:
/{tenant}/sites/default
: You have queried a default site./{tenant}/sites
: You have listed available sites.
The {tenant} URL path parameter should be replaced by the actual tenant of your choice. The default property is set to true
in an automatically created site configuration.
The default site must always exist. You can add a new site or remove an existing site as long as it is not marked as the default site. Trying to remove a default site is forbidden and returns an error code of 400
.
Import project settings
The first time a GET operation is performed on the /{tenant}/sites/default
resource, a default site is created if one does not already exist.
- The code for this site is set to
main
. - The languages property for this site is taken from the defined project languages. If one is not available, the property is set to
["en"]
. The *currency property is taken from the default project currency. If one is not available, the property is set toUSD
.
Countries for Shipment
The Site service manages site configurations. Each site configuration is a collection of several settings, such as language, currency, shipment, and payment.
Merchants can set the shipToCountries attribute to define the list of countries to which ordered goods can be shipped.
Each position in the list, defined by the shipToCountries attribute, should be the ISO2 country code. If a position in the list does not contain the ISO2 country code, then the request fails and a 400 Bad Request
error is returned.
Site Languages Configuration
As a seller, you can configure many different languages for a site by adding a list of languages in the site configuration. The list should include codes for all the languages that the site is going to support. The languages property includes a list similar to this:
"languages": [
"en",
"de"
]
Default language
One language in the list can be selected as the default language. This is the first language used to display the localized content for customers who are browsing the site. The default language can be changed to another language at any time. To do so:
- Perform a PUT request on
/{tenant}/sites/{code}
, where{tenant}
is the current tenant and{code}
is replaced with a code of the site to be updated. - Update the site configuration with the required values of the languages and defaultLanguage properties. Then, send the updated site configuration with your request:
"defaultLanguage": "en", "languages": [ "en", "de", "fr" ]
If the defaultLanguage property is not set in the site configuration, the first language in the languages list is used as the default language.
Simple validation
When you use a POST or PUT method on the site configuration for the language settings, make sure that the default language is included in the list of configured languages. You cannot set a defaultLanguage property to a language that is not included in the languages property. For example, this request results in an error because the default language of en
is not included in the list of configured languages:
"defaultLanguage": "en",
"languages": [
"de",
"pl",
"es"
]
If the default language is not present in the language list, an error code of 400 Bad Request
is returned.
Service Providers
The Site service stores the configuration of the pluggable services that can implement shipping, payment, and tax functionality. The configuration of these service providers is separated into two parts:
- public: This is part of the active site configuration and can be read by anyone.
- restricted: The restricted part can only be accessed by users having a required permissions level.
The service accepts any JSON object as a configuration. For example:
"configuration": {
"public": {
"option1": "some value",
"option2": 34
},
"restricted": {
"securedOption": "confidential"
}
}
Each service provider is identified by two attributes:
- serviceType: Uniquely identifies the type of the service interface, such as
urn:x-yaas:service:shipping
for the standard YaaS shipping API. - serviceUrl: Points to the location of the service. How you call the service at that URL is determined by the serviceType.
Service providers can be activated or deactivated. Multiple providers can be active for payment and shipping service providers, but only one tax service provider can be active.
Each service provider configuration can be accessed directly through the API endpoints:
/{tenant}/sites/{code}/shipping/{id}
/{tenant}/sites/{code}/payment/{id}
/{tenant}/sites/{code}/tax/{id}
Since the configurations include a restricted part, they should not be passed directly to the service, such as by the Checkout service. Only the URL to the configuration or site ID and configuration ID should be passed.
Tax Provider Configuration
Each site can have multiple tax service providers defined in the site configuration. The tax service providers can be activated or deactivated.
Currently, when a tax service provider becomes active for a site, the rest of the tax service providers are automatically deactivated. For any site, only one tax service provider can be active. Here are some possible scenarios:
- When an active tax provider is added or an inactive tax provider is made active in a site which already contains a list of tax providers, all other tax providers are deactivated.
- When a site is added or updated with a list of tax providers which contain multiple active tax providers, it is regarded as an invalid request and an error code of
400 Bad Request
is returned. - When retrieving the existing tax providers that were persisted before (when multiple active tax providers were allowed), only the first active tax provider is returned as active while the other providers are returned as inactive.
Custom Site Configuration with Mixins
You can associate custom settings included in mixins with the site configurations. This feature is supported by the mixins mechanism, provided by the Document service. A particular mixin can be referenced by the URL, such as /{tenant}/sites/{code}/mixins/{name}
, in which:
- {tenant}: The name of the current tenant.
- {code}: Unique identifier of the site configuration to which the mixin belongs. A special case of this parameter value is
default
, which is used to reference the default site. - {name}: The mixin name.
Manage custom configurations
As an authorized seller, you can manage custom settings for the site configuration with these endpoints:
/sites/{code}/mixins
- Create new custom settings with the POST method.
- List all existing custom configurations for a site with the GET method.
/sites/{code}/mixins/{name}
- Retrieve details of any particular mixin assigned to the site configuration with the GET method.
- Update properties of a single mixin with the PUT method. The Site service also supports the
partial=true
query parameter to enable partial updates. - Remove any particular mixin with the DELETE method.
/sites/{code}
resource, where the {code} parameter denotes the site configuration.Extend Site Information
About mixins
In the Site service, mixins are supported by the following methods and endpoints:
- GET:
/{tenant}/sites/{code}/mixins
- GET and PUT:
/{tenant}/sites/{code}/mixins/{mixinName}
- POST:
/{tenant}/{sites}
- GET and PUT:
/{tenant}/{sites}/{code}
There is a schema required for each mixin. The schema is responsible for validating the mixin data. Each mixin cotains an additional metadata block that specifies the schema.
Be aware that the mixin metadata is handled differently by different endpoints. For example:
/{tenant}/sites/[{code}]
: This endpoint has one metadata attribute with schemas for all mixins, as in the Order and Customer services./{tenant}/sites/{code}/mixins/[{name}]
: This endpoint has a metadata attribute inside the mixin. The metadata attribute has a single schema attribute with a mixin schema URL.
Additionally, there are some complexities that must be considered:
- POST
/{tenant}/sites
: Trying to POST a new site with a mixin that does not have the metadata would result in a validation fail. - GET and PUT
/{tenant}/sites/{code}?expand=mixin:\*
: A mixin is returned on GET, but the metadata section is returned empty. So, if you try to update the site using this endpoint, there would be a problem, since the current implementation requires metadata and a schema. As a result, validation would fail.
These cases are relevant only for the existing sites which already have some mixins. This will not happen for new sites and new mixins, because such data will not pass validation.
Query parameter with mixins
In case of GET requests in the Site service, the expand query parameter can handle the mixins. By default, no mixins are returned. There are two options to include a mixin in the response:
mixin:*
- To expand the parameter value, which will return all defined mixins.mixin:<mixin name>
- To expand the parameter value, which will return only the mixin with the name<mixin name>
. However, it is possible to usemixin:<mixin name>
multiple times, such asexpand=mixin:mixin1,mixin:mixin2
.
Mixin schema
Mixins define a set of properties you can add to your site definition. The mixin itself is supported by the Schema service and is always referred from other services by URL. The schema is used to validate the contents of the mixin and is also a unique namespace identifier for the mixin.
You can use a mixin in the Schema service to extend any kind of customer information with these additional properties. These properties are not part of the Customer schema, but rather part of the mixin schema.
Mixin data
Each mixin is a named JSON fragment with an associated JSON schema, which is required.
{
...
"code": "europe",
"name": "Main European Site",
"active": true,
"default": true,
...
"metadata": {
"mixins": {
"addressVerification": "https://addressVerification.com/pathToSchema.json"
}
} ,
"mixins": {
"addressVerification": {
"url": "http://addressVerification.com"
}
}
...
}
The metadata attribute specifies which mixins can be included. You must always add the metadata property that defines the mixin alias and binds it to the URL to the mixin JSON-formatted definition. You can create the alias as you like. When you use the mixin, it is important to always take the mixin alias you defined in the metadata section. Also, you must have the mixins property, which can store properties from multiple mixins, each one referred by its alias.
Mixin validation
The service validates that the mixin data adheres to the schema. If the mixin does not validate, or if there is no schema declaration for a mixin, a validation is returned with HTTP status code of 400
with detailed information about the error in the response body.
Create Site Configuration
Request
To create a new site configuration, you need:
- Method: POST
- Request URL:
https://api.beta.yaas.io/hybris/site/v1/{tenant}/sites
- Headers:
- Authorization: You must provide a proper scope that enables users to perform these operations. These scopes should be granted in an access token from OAuth 2.0 service. For more information about the authorization and authentication used in hybris services, see the Authorization section.
- URL Path Parameters
- {tenant}: The name of the current tenant.
This is the configuration sample you send with your POST request. It should contain all the necessary properties, including those of the service providers.
{
"code": "china",
"name": "Chinese Site",
"active": true,
"default": true,
"defaultLanguage": "zn",
"languages": [
"en",
"zn"
],
"currency": "CNY",
"homeBase": {
"address": {
"street": "Cheng Xiang Zhen Guan Tang Lu",
"streetNumber": "1031",
"extraLine1": "No. 2058",
"extraLine2": "Suzhou City",
"zipCode": "201202",
"city": "Taicang City",
"state": "Jiangsu Province",
"country": "CN"
},
"location": {
"latitude": 31.5316133,
"longitude": 121.1646007
}
},
"shipToCountries" : [
"CN"
],
"shipping": [
{
"id": "UPS",
"name": "UPS Shipping Service",
"serviceType": "urn:x-yaas:service:shipping",
"serviceUrl": "https://api.beta.yaas.io/shipping-ups/v1",
"active": true,
"configuration": {
"public": {
"option1": "some value",
"option2": 34
}
}
},
{
"id": "FedEx",
"name": "Fedex Shipping Service",
"serviceType": "urn:x-yaas:service:shipping",
"serviceUrl": "https://api.beta.yaas.io/shipping-fedex/v1",
"active": false
}
],
"payment": [
{
"id": "stripe",
"name": "stripe Payment Service",
"serviceType": "urn:x-yaas:service:payment",
"serviceUrl": "https://api.beta.yaas.io/payment-stripe/v1",
"active": true,
"configuration": {
"public": {
"option1": "some value",
"option2": 34
},
"restricted": {
"securedOption": "confidential"
}
}
},
{
"id": "paypal",
"name": "PayPal Payment Service",
"serviceType": "urn:x-yaas:service:payment",
"serviceUrl": "https://api.beta.yaas.io/payment-paypal/v1",
"active": true,
"configuration": {
"public": {
"option1": "some value",
"option2": 34
},
"restricted": {
"securedOption": "confidential"
}
}
}
],
"tax": [
{
"id": "simple",
"name": "Simple Tax Service",
"serviceType": "urn:x-yaas:service:tax",
"serviceUrl": "https://api.beta.yaas.io/tax-simple/v1",
"active": true
}
]
}
You can create and store multiple site configurations. Some of these sites can be active, while others can be inactive. This is done by modifying the active property in the site configuration.
true
or false
. This property enables or disables the current service provider for the whole site configuration. For example, the sample site configuration presented above has two service providers for shipping: UPS and FedEx. UPS is set to be active, and FedEx is inactive. In other words, the active property for UPS is set to true
, while the active property for FedEx is set to false
.Response
A successful response includes:
- A status code of
201
, which indicates that the site configuration has been created. - A JSON-formatted response that contains the id of the site configuration and a link to the configuration. For example:
{ "id": "global", "link": "https://api.beta.yaas.io/site/v1/sites/global" }
Retrieve Multiple Site Configurations
Request
To retrieve site configurations in the tenant, you need:
- Method: GET
- Request URL:
https://api.beta.yaas.io/hybris/site/v1/{tenant}/sites
- Headers:
- Authorization: You must provide a proper scope that enables users to perform these operations. These scopes should be granted in an access token from OAuth 2.0 service. For more information about the authorization and authentication used in hybris services, see the Authorization section.
- URL Path Parameters:
- {tenant}: The name of the current tenant.
- URL Query Parameters:
- pageNumber: Displays the requested result page.
- pageSize: Defines the number of retrieved items per page.
- includeInactive: If set to
true
, all configurations are returned. If set tofalse
, the results only include active site configurations. - totalCount: Returns the total number of objects in the collection fulfilling the criteria together with the response. This number is returned in the hybris-count header.
Response
A successful response includes:
- A status code of
200
, which indicates that the site configurations have been retrieved. - The hybris-count header, which includes the number of objects that fulfilled the criteria. This is only returned if you set the totalCount query parameter.
Remove Site Configuration
Request
You can remove any site configuration stored in the current tenant except the default configuration. To remove a non-default site configuration, you need:
- Method: DELETE
- Request URL:
https://api.beta.yaas.io/hybris/site/v1/{tenant}/sites/{code}
- Headers:
- Authorization: You must provide a proper scope that enables users to perform these operations. These scopes should be granted in an access token from OAuth 2.0 service. For more information about the authorization and authentication used in hybris services, see the Authorization section.
- URL Path Parameters:
- {tenant}: The name of the current tenant.
- {code}: The unique code of the site configuration.
Response
A successful response includes a status code of 204
, which indicates that the site configuration has been removed.
Update Site Configuration
Request
To update a site configuration, you need:
- Method: PUT
- Request URL:
https://api.beta.yaas.io/hybris/site/v1/{tenant}/sites/{code}
- Headers:
- Authorization: You must provide a proper scope that enables users to perform these operations. These scopes should be granted in an access token from OAuth 2.0 service. For more information about the authorization and authentication used in hybris services, see the Authorization section.
- URL Path Parameters:
- {tenant}: The name of the current tenant.
- {code}: The unique code of the site configuration. You can use a value of
default
to reference the default site.
- Query Parameter:
- partial: If the partial query parameter is set to
true
, a partial update is performed.
- partial: If the partial query parameter is set to
You can modify the active property in the site configuration to enable and disable site configurations. This flag cannot be set to false
for the default site.
true
or false
. This enables or disables the current service provider for the entire site configuration. For example, the sample site configuration presented above has two service providers for shipping: UPS and FedEx. UPS is set to be active, while FedEx is inactive. In other words, the active property for UPS is set to true
, while the active property for FedEx is set to false
.Response
A successful response includes a status code of 200
, which means the site configuration has been updated.
Retrieve Single Site Configuration
Request
You can retrieve a site configuration stored in the current tenant. To do so, you need:
- Method: GET
- Request URL:
https://api.beta.yaas.io/hybris/site/v1/{tenant}/sites/{code}
- Headers:
- Authorization: You must provide a proper scope that enables users to perform these operations. These scopes should be granted in an access token from OAuth 2.0 service. For more information about the authorization and authentication used in hybris services, see the Authorization section.
- URL Path Parameters
- {tenant}: The name of the current tenant.
- {code}: The unique code of the site configuration. You can use a value of
default
to reference the default site.
Response
A successful response includes a status code of 200
, which indicates that the site configuration has been retrieved.
The body contains the details of the retrieved configuration. For example:
{
"code": "china",
"name": "Chinese Site",
"active": true,
"default": true,
"defaultLanguage": "zn",
"languages": [
"en",
"zn"
],
"currency": "CNY",
"homeBase": {
"address": {
"street": "Cheng Xiang Zhen Guan Tang Lu",
"streetNumber": "1031",
"extraLine1": "No. 2058",
"extraLine2": "Suzhou City",
"zipCode": "201202",
"city": "Taicang City",
"state": "Jiangsu Province",
"country": "CN"
},
"location": {
"latitude": 31.5316133,
"longitude": 121.1646007
}
},
"shipToCountries" : [
"CN"
],
"shipping": [
{
"id": "UPS",
"name": "UPS Shipping Service",
"serviceType": "urn:x-yaas:service:shipping",
"serviceUrl": "https://api.beta.yaas.io/shipping-ups/v1",
"active": true,
"configuration": {
"public": {
"option1": "some value",
"option2": 34
}
}
},
{
"id": "FedEx",
"name": "Fedex Shipping Service",
"serviceType": "urn:x-yaas:service:shipping",
"serviceUrl": "https://api.beta.yaas.io/shipping-fedex/v1",
"active": false
}
],
"payment": [
{
"id": "stripe",
"name": "Stripe Payment Service",
"serviceType": "urn:x-yaas:service:payment",
"serviceUrl": "https://api.beta.yaas.io/payment-stripe/v1",
"active": true,
"configuration": {
"public": {
"option1": "some value",
"option2": 34
},
"restricted": {
"securedOption": "confidential"
}
}
},
{
"id": "paypal",
"name": "PayPal Payment Service",
"serviceType": "urn:x-yaas:service:payment",
"serviceUrl": "https://api.beta.yaas.io/payment-paypal/v1",
"active": true,
"configuration": {
"public": {
"option1": "some value",
"option2": 34
},
"restricted": {
"securedOption": "confidential"
}
}
}
],
"tax": [
{
"id": "simple",
"name": "Simple Tax Service",
"serviceType": "urn:x-yaas:service:tax",
"serviceUrl": "https://api.beta.yaas.io/tax-simple/v1",
"active": true,
"configuration": {
"public": {
"option1": "some value",
"option2": 34
},
"restricted": {
"securedOption": "confidential"
}
}
},
{
"id": "avalara",
"name": "Avalara Tax Service",
"serviceType": "urn:x-yaas:service:tax",
"serviceUrl": "https://api.beta.yaas.io/tax-avalara/v1",
"active": true,
"configuration": {
"public": {
"option1": "some value",
"option2": 34
},
"restricted": {
"securedOption": "confidential"
}
}
}
]
}
Add Service Provider Configuration
Sellers can add a configuration of any service provider through the API endpoints.
Request
To add a configuration of a new service provider, you need:
- Method: POST
- Request URL:
https://api.beta.yaas.io/hybris/site/v1/{tenant}/sites/{code}/{service provider}
- Headers:
- Authorization: You must provide a proper scope that enables users to perform these operations. These scopes should be granted in an access token from OAuth 2.0 service. For more information about the authorization and authentication used in hybris services, see the Authorization section.
- URL Path Parameters:
- {tenant}: The name of the current tenant.
- {code}: The code of the site configuration where the service provider belongs.
- {service provider}: The name of the service provider: shipping, payment, or tax. For example:
/{tenant}/sites/{code}/shipping
/{tenant}/sites/{code}/payment
/{tenant}/sites/{code}/tax
This is an example of a request body that adds two shipping service providers to the site configuration:
[
{
"id": "UPS",
"name": "UPS Shipping Service",
"serviceType": "urn:x-yaas:service:shipping",
"serviceUrl": "https://api.beta.yaas.io/shipping-ups/v1",
"active": true
},
{
"id": "FedEx",
"name": "Fedex Shipping Service",
"serviceType": "urn:x-yaas:service:shipping",
"serviceUrl": "https://api.beta.yaas.io/shipping-fedex/v1",
"active": true
}
]
Response
A successful response includes a status code of 201
, indicating that the service provider configuration has been added. In this example, two shipping service providers are added to the site configuration: UPS and FedEx.
The response body includes the service provider id and the link to its configuration:
[
{
"id": "ups",
"link": "https://api.beta.yaas.io/site/v1/sites/global/shipping/ups"
}.
{
"id": "fedex",
"link": "https://api.beta.yaas.io/site/v1/sites/global/shipping/fedex"
}
]
Retrieve All Service Provider Configurations
Sellers can retrieve all service provider configurations.
Request
To retrieve all configurations of a certain type, you need:
- Method: GET
- Request URL:
https://api.beta.yaas.io/hybris/site/v1/{tenant}/sites/{code}/{service provider}
- Headers:
- Authorization: You must provide a proper scope that enables users to perform these operations. These scopes should be granted in an access token from OAuth 2.0 service. For more information about the authorization and authentication used in hybris services, see the Authorization section.
- URL Path Parameters:
- {tenant}: The name of the current tenant.
- {code}: The code of the site configuration where the service provider belongs.
- {service provider}: The name of the required service provider: shipping, payment, or tax. For example:
/{tenant}/sites/{code}/shipping
/{tenant}/sites/{code}/payment
/{tenant}/sites/{code}/tax
- Query Parameter:
- includeInactive: If set to
true
, all configurations are returned. If set tofalse
, the results only include active shipping provider configurations. You need a proper scope to see both active and inactive configurations. - expand: Use this query parameter to get additional data, including information about all defined service providers, such as shipping:
https://api.beta.yaas.io/hybris/site/v1/{tenant}/sites/{code}?expand=shipping:all
- includeInactive: If set to
Response
A successful response includes a status code of 200
, which indicates that the service provider configurations have been retrieved.
In this example, two shipping service providers are retrieved, both of which are active.
[
{
"id": "UPS",
"name": "UPS Shipping Service",
"serviceType": "urn:x-yaas:service:shipping",
"serviceUrl": "https://api.beta.yaas.io/shipping-ups/v1",
"active": true
},
{
"id": "FedEx",
"name": "Fedex Shipping Service",
"serviceType": "urn:x-yaas:service:shipping",
"serviceUrl": "https://api.beta.yaas.io/shipping-fedex/v1",
"active": true
}
]
Delete Service Provider Configuration
Sellers can remove any service provider configurations that are no longer needed through the API endpoints.
Request
To remove a selected configuration of an existing service provider, you need:
- Method: DELETE
- Request URL:
https://api.beta.yaas.io/hybris/site/v1/{tenant}/sites/{code}/{service provider}/{id}
- Headers:
- Authorization: You must provide a proper scope that enables users to perform these operations. These scopes should be granted in an access token from OAuth 2.0 service. For more information about the authorization and authentication used in hybris services, see the Authorization section.
- URL Path Parameters:
- {tenant}: The name of the current tenant.
- {code}: The code of the site configuration where the service provider belongs.
- {service provider}: The name of the service provider: shipping, payment, or tax. For example:
/{tenant}/sites/{code}/shipping
/{tenant}/sites/{code}/payment
/{tenant}/sites/{code}/tax
- {id}: The unique identifier of the service provider configuration. Each service provider has its own separate identifier, which is used to access and manage this one specific configuration, such as
https://api.beta.yaas.io/hybris/site/v1/{tenant}/sites/{code}/shipping/UPS
.
Response
A successful response includes a status code of 204
, indicating that the service provider configuration has been removed.
Update Service Provider Configuration
Sellers can manage service provider configurations through the API endpoints to keep them updated.
Request
To retrieve a single service provider configuration, you need:
- Method: PUT
- Request URL:
https://api.beta.yaas.io/hybris/site/v1/{tenant}/sites/{code}/{service provider}/{id}
- Headers:
- Authorization: You must provide a proper scope that enables users to perform these operations. These scopes should be granted in an access token from OAuth 2.0 service. For more information about the authorization and authentication used in hybris services, see the Authorization section.
- URL Path Parameters:
- {tenant}: The name of the current tenant.
- {code}: The code of the site configuration where the service provider belongs.
- {service provider}: The name of the required service provider: shipping, payment, or tax. Example URLs:
/{tenant}/sites/{code}/shipping/{id}
/{tenant}/sites/{code}/payment/{id}
/{tenant}/sites/{code}/tax/{id}
- {id}: The unique identifier of the service provider configuration. Each service provider has its own separate identifier, which is used to access and manage this one specific configuration, such as
https://api.beta.yaas.io/hybris/site/v1/{tenant}/sites/{code}/shipping/UPS
.
- Query Parameter:
- partial: If the partial query parameter is set to
true
, a partial update is performed.
- partial: If the partial query parameter is set to
This is an example of the request body that deactivates the UPS service provider configuration. The active property is set to false
.
{
"id": "UPS",
"name": "UPS Shipping Service",
"serviceType": "urn:x-yaas:service:shipping",
"serviceUrl": "https://api.beta.yaas.io/shipping-ups/v1",
"active": false
}
Response
A successful response includes a status code of 200
, which indicates that the service provider configuration has been updated.
Retrieve Single Service Provider Configuration
Sellers can retrieve all service provider configurations, or they can retrieve a single service provider configuration using the configuration's unique code.
Request
To retrieve a single service provider configuration, you need:
- Method: GET
- Request URL:
https://api.beta.yaas.io/hybris/site/v1/{tenant}/sites/{code}/{service provider}/{id}
- Headers:
- Authorization: You must provide a proper scope that enables users to perform these operations. These scopes should be granted in an access token from OAuth 2.0 service. For more information about the authorization and authentication used in hybris services, see the Authorization section.
- URL Path Parameters:
- {tenant}: The name of the current tenant.
- {code}: The code of the site configuration where the service provider belongs.
- {service provider}: The name of the required service provider: shipping, payment, or tax. For example:
/{tenant}/sites/{code}/shipping/{id}
/{tenant}/sites/{code}/payment/{id}
/{tenant}/sites/{code}/tax/{id}
- {id}: The unique identifier of the service provider configuration. Each service provider has its own unique identifier, which is used to access and manage this one specific configuration, such as
https://api.beta.yaas.io/hybris/site/v1/{tenant}/sites/{code}/shipping/UPS
.
Response
A successful response includes a status code of 200
, which indicates that the requested service provider configuration has been retrieved.
Even if the site configuration includes several service providers, you can retrieve a single specific service provider configuration. In this example, a single configuration of the UPS shipping provider is retrieved:
{
"id": "UPS",
"name": "UPS Shipping Service",
"serviceType": "urn:x-yaas:service:shipping",
"serviceUrl": "https://api.beta.yaas.io/shipping-ups/v1",
"active": true,
"configuration": {
"public": {w
"option1": "some value",
"option2": 34
},
"restricted": {
"securedOption": "confidential"
}
}
}
Glossary
Term | Description |
---|---|
mixin | Customizable definition of additional properties for the site. One site definition can use many mixins, and one mixin can be used by many site definitions. |
service provider | Pluggable services, which can implement shipping, payment, and tax functionality. |
tenant | A tenant is a group of users on a project sharing common access, with specific privileges to a service. |
If you find any information that is unclear or incorrect, please let us know so that we can improve the Dev Portal content.
Use our private help channel. Receive updates over email and contact our specialists directly.
If you need more information about this topic, visit hybris Experts to post your own question and interact with our community and experts.