Overview
The Customer service provides REST interfaces and functionality supporting the tasks responsible for managing customer accounts. The Customer service supports:
- Registration for customers to create accounts
- Sign in and sign out functionality for customers
- Sessions and authorizations for anonymous users
- Resetting passwords
- Core customer profiles, including name and locale preferences
- Addresses
The Customer service is the master record for customer accounts and profiles. It serves as the central repository of core customer information, such as names, preferences, and addresses. Other services can provide additional data, from order history to near-real-time analytics, that are linked to the central customer record.
By controlling the API access authorization for consumers, the Customer service is the main data source for session information, which is a key piece of any clickstream analysis.
API Reference
/{tenant}
/{tenant}/customers
Manages users for given tenant.
Retrieves a list of customers.
Requires scope hybris.customer_read
.
Create a customer profile (by merchant).
Requires scope hybris.customer_create
.
get /{tenant}/customers
Retrieves a list of customers.
Requires scope hybris.customer_read
.
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
- expand: (string)
Controls which elements of customer profile are expanded (included) in the returned customer profile. Available elements are:
accounts
- includes account (social and internal) information,addresses
- includes all customer addresses,defaultAddress
- includes the default address as defaultAddress property.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.
Example:
accounts,defaultAddress
- q: (string)
The simple query criteria based on available fields to limit returned results or a set of modified documents.
Example:
firstName:"Mark" title:null
- 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:
lastName,firstName
HTTP status code 200
Resource successfully retrieved.
Headers
- hybris-count: (string)
Total number of results available
Example:
hybris-count: 147
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"customerNumber": {
"type": "string"
},
"metadata": {
"type": "object",
"additionalProperties": false,
"properties": {
"mixins": {
"type": "object",
"additionalProperties": {
"type": "string",
"format": "uri"
}
},
"version": {
"type": "number",
"description": "Resource version number"
}
}
},
"mixins": {
"type": "object",
"description": "The collection of mixins stored in the customer profile. Each attribute is a separate mixin."
},
"title": {
"type": "string"
},
"firstName": {
"type": "string"
},
"middleName": {
"type": "string"
},
"lastName": {
"type": "string"
},
"active": {
"type": "boolean"
},
"contactEmail": {
"type": "string"
},
"contactPhone": {
"type": "string"
},
"company": {
"type": "string"
},
"preferredLanguage": {
"type": "string",
"default": "en_US"
},
"preferredCurrency": {
"type": "string",
"default": "USD"
},
"preferredSite": {
"type": "string",
"default": "default"
},
"accounts": {
"type": "array",
"description": "A list of OAuth accounts, associated with a customer's profile.",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"providerId": {
"type": "string"
},
"id": {
"type": "string"
}
}
}
},
"addresses": {
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"metadata": {
"type": "object",
"additionalProperties": false,
"description": "The mixins metadata for this address",
"properties": {
"mixins": {
"type": "object",
"additionalProperties": {
"type": "string",
"format": "uri"
}
}
}
},
"id": {
"type": "string"
},
"contactName": {
"type": "string"
},
"companyName": {
"type": "string"
},
"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"
},
"state": {
"type": "string"
},
"contactPhone": {
"type": "string"
},
"tags": {
"type": "array",
"description": "Values like: Billing / Shipping or any other custom tag",
"items": {
"type": "string"
}
},
"isDefault": {
"type": "boolean"
},
"mixins": {
"type": "object",
"description": "Mixins stored in this Address"
}
},
"required": [
"id",
"contactName",
"isDefault"
]
}
},
"defaultAddress": {
"description": "Default address of the customer",
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"metadata": {
"type": "object",
"additionalProperties": false,
"description": "The mixins metadata for this address",
"properties": {
"mixins": {
"type": "object",
"additionalProperties": {
"type": "string",
"format": "uri"
}
}
}
},
"id": {
"type": "string"
},
"contactName": {
"type": "string"
},
"companyName": {
"type": "string"
},
"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"
},
"state": {
"type": "string"
},
"contactPhone": {
"type": "string"
},
"tags": {
"type": "array",
"description": "Values like: Billing / Shipping or any other custom tag",
"items": {
"type": "string"
}
},
"isDefault": {
"type": "boolean"
},
"mixins": {
"type": "object",
"description": "Mixins stored in this Address"
}
},
"required": [
"id",
"contactName",
"isDefault"
]
}
},
"required": [
"customerNumber",
"preferredSite"
]
}
}
Example:
[
{
"customerNumber": "C123456",
"metadata": {
"version": 1
},
"title": "Dr.",
"firstName": "Max",
"middleName": "Simon",
"lastName": "Muster",
"active": true,
"contactEmail": "noreply@yaastest.com",
"contactPhone": "+1 1111 2222 3333",
"company": "hybris",
"preferredLanguage": "en_US",
"preferredCurrency": "USD",
"preferredSite": "default",
"addresses": [
{
"id": "53426fc4e4b08806bb0d3ecc",
"contactName": "Business",
"street": "Musterstrasse",
"streetNumber": "42",
"city": "Munich",
"country": "DE",
"isDefault": "true",
"tags": [
"shipping",
"home"
]
}
],
"defaultAddress": {
"id": "53426fc4e4b08806bb0d3ecc",
"contactName": "Business",
"street": "Musterstrasse",
"streetNumber": "42",
"city": "Munich",
"country": "DE",
"isDefault": "true",
"tags": [
"shipping",
"home"
]
}
},
{
"customerNumber": "C123457",
"metadata": {
"mixins": {
"additionalCode": "https://${api.proxy}/hybris/schema/v1/kiwistest/example-schema.json"
},
"version": 2
},
"mixins": {
"additionalCode": {
"code": "DFG-334-98330-X"
}
},
"firstName": "John",
"middleName": "Robert",
"lastName": "Doe",
"active": true,
"contactEmail": "noreply@yaastest.com",
"company": "hybris",
"preferredLanguage": "de_DE",
"preferredCurrency": "EUR",
"preferredSite": "DE",
"addresses": [
{
"id": "53426fc4e4b08806bb0d3ecc",
"contactName": "Business",
"street": "Musterstrasse",
"streetNumber": "42",
"city": "Munich",
"country": "DE",
"isDefault": "true",
"tags": [
"shipping",
"home"
]
}
],
"defaultAddress": {
"id": "53426fc4e4b08806bb0d3ecc",
"contactName": "Business",
"street": "Musterstrasse",
"streetNumber": "42",
"city": "Munich",
"country": "DE",
"isDefault": "true",
"tags": [
"shipping",
"home"
]
}
}
]
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": "q",
"message": "not a valid query",
"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"
}
HTTP status code 503
Service Unavailable. The server is currently unable to handle the request due to a temporary overloading or maintenance of the server.
post /{tenant}/customers
Create a customer profile (by merchant).
Requires scope hybris.customer_create
.
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
- sendPasswordResetNotifications: (boolean)
Changes behaviour of password reset which happens after customer creation. By default the password is reset and the customer is notified with a password-reset email. This behaviour can be turned off by sending this query parameter as "false".
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"metadata": {
"type": "object",
"additionalProperties": false,
"properties": {
"mixins": {
"type": "object",
"additionalProperties": {
"type": "string",
"format": "uri"
}
},
"version": {
"type": "number",
"description": "Resource version number"
}
}
},
"mixins": {
"type": "object",
"description": "The collection of mixins stored in the customer profile. Each attribute is a separate mixin."
},
"title": {
"type": "string"
},
"firstName": {
"type": "string"
},
"middleName": {
"type": "string"
},
"lastName": {
"type": "string"
},
"active": {
"type": "boolean"
},
"contactEmail": {
"type": "string"
},
"contactPhone": {
"type": "string"
},
"company": {
"type": "string"
},
"preferredLanguage": {
"type": "string",
"default": "en_US"
},
"preferredCurrency": {
"type": "string",
"default": "USD"
},
"preferredSite": {
"type": "string"
}
}
}
Example:
{
"metadata": {
"mixins": {
"additionalCode": "https://${api.proxy}/hybris/schema/v1/kiwistest/example-schema.json"
},
"version": 1
},
"mixins": {
"additionalCode": {
"code": "DFG-334-98330-X"
}
},
"firstName": "Arnold",
"contactEmail": "noreply@yaastest.com",
"company": "hybris",
"preferredLanguage": "en_UK",
"preferredCurrency": "GBP",
"preferredSite": "UK_site",
"active": true
}
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://api.stage.yaas.io/hybris/customer/v1/dummytenant/customers/C9606615734
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": "C9606615734",
"link": "https://${api.proxy}/hybris/customer/v1/dummytenant/customers/C9606615734"
}
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"
}
HTTP status code 503
Service Unavailable. The server is currently unable to handle the request due to a temporary overloading or maintenance of the server.
/{tenant}/customers/{customerNumber}
Manages single user for given tenant.
Updates customer profile
Requires scope hybris.customer_update
OR hybris.customer_manage
.
Update customer profile
Requires scope hybris.customer_update
OR hybris.customer_manage
.
Deprecated
Retrieve customer profile by customer number
Requires scope hybris.customer_read
.
Deletes single customer for given tenant
Requires scope hybris.customer_update
OR hybris.customer_delete
.
patch /{tenant}/customers/{customerNumber}
Updates customer profile
Requires scope hybris.customer_update
OR hybris.customer_manage
.
URI Parameters
- tenant: required (string)
The tenant string is the project's Identifier from the Builder.
- customerNumber: required (string)
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#",
"type": "object",
"properties": {
"metadata": {
"type": "object",
"additionalProperties": false,
"properties": {
"mixins": {
"type": "object",
"additionalProperties": {
"type": "string",
"format": "uri"
}
},
"version": {
"type": "number",
"description": "Resource version number"
}
}
},
"mixins": {
"type": "object",
"description": "The collection of mixins stored in the customer profile. Each attribute is a separate mixin."
},
"title": {
"type": "string"
},
"firstName": {
"type": "string"
},
"middleName": {
"type": "string"
},
"lastName": {
"type": "string"
},
"active": {
"type": "boolean"
},
"contactEmail": {
"type": "string"
},
"contactPhone": {
"type": "string"
},
"company": {
"type": "string"
},
"preferredLanguage": {
"type": "string",
"default": "en_US"
},
"preferredCurrency": {
"type": "string",
"default": "USD"
},
"preferredSite": {
"type": "string"
}
}
}
Example:
{
"metadata": {
"mixins": {
"additionalCode": "https://${api.proxy}/hybris/schema/v1/kiwistest/example-schema.json"
},
"version": 1
},
"mixins": {
"additionalCode": {
"code": "DFG-334-98330-X"
}
},
"firstName": "Arnold",
"contactEmail": "noreply@yaastest.com",
"company": "hybris",
"preferredLanguage": "en_UK",
"preferredCurrency": "GBP",
"preferredSite": "UK_site",
"active": true
}
Type: application/merge-patch+json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"metadata": {
"type": "object",
"additionalProperties": false,
"properties": {
"mixins": {
"type": "object",
"additionalProperties": {
"type": "string",
"format": "uri"
}
},
"version": {
"type": "number",
"description": "Resource version number"
}
}
},
"mixins": {
"type": "object",
"description": "The collection of mixins stored in the customer profile. Each attribute is a separate mixin."
},
"title": {
"type": "string"
},
"firstName": {
"type": "string"
},
"middleName": {
"type": "string"
},
"lastName": {
"type": "string"
},
"active": {
"type": "boolean"
},
"contactEmail": {
"type": "string"
},
"contactPhone": {
"type": "string"
},
"company": {
"type": "string"
},
"preferredLanguage": {
"type": "string",
"default": "en_US"
},
"preferredCurrency": {
"type": "string",
"default": "USD"
},
"preferredSite": {
"type": "string"
}
}
}
Example:
{
"metadata": {
"mixins": {
"additionalCode": "https://${api.proxy}/hybris/schema/v1/kiwistest/example-schema.json"
},
"version": 1
},
"mixins": {
"additionalCode": {
"code": "DFG-334-98330-X"
}
},
"firstName": "Arnold",
"contactEmail": "noreply@yaastest.com",
"company": "hybris",
"preferredLanguage": "en_UK",
"preferredCurrency": "GBP",
"preferredSite": "UK_site",
"active": true
}
HTTP status code 200
Successful Customer profile update
HTTP status code 400
Request syntactically incorrect. See more details in the provided 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
Customer profile 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
Update failed due to a conflict with another 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"
]
}
HTTP status code 503
Service Unavailable. The server is currently unable to handle the request due to a temporary overloading or maintenance of the server.
put /{tenant}/customers/{customerNumber}
Update customer profile
Requires scope hybris.customer_update
OR hybris.customer_manage
.
Deprecated
URI Parameters
- tenant: required (string)
The tenant string is the project's Identifier from the Builder.
- customerNumber: required (string)
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#",
"type": "object",
"properties": {
"metadata": {
"type": "object",
"additionalProperties": false,
"properties": {
"mixins": {
"type": "object",
"additionalProperties": {
"type": "string",
"format": "uri"
}
},
"version": {
"type": "number",
"description": "Resource version number"
}
}
},
"mixins": {
"type": "object",
"description": "The collection of mixins stored in the customer profile. Each attribute is a separate mixin."
},
"title": {
"type": "string"
},
"firstName": {
"type": "string"
},
"middleName": {
"type": "string"
},
"lastName": {
"type": "string"
},
"active": {
"type": "boolean"
},
"contactEmail": {
"type": "string"
},
"contactPhone": {
"type": "string"
},
"company": {
"type": "string"
},
"preferredLanguage": {
"type": "string",
"default": "en_US"
},
"preferredCurrency": {
"type": "string",
"default": "USD"
},
"preferredSite": {
"type": "string"
}
}
}
Example:
{
"metadata": {
"mixins": {
"additionalCode": "https://${api.proxy}/hybris/schema/v1/kiwistest/example-schema.json"
},
"version": 1
},
"mixins": {
"additionalCode": {
"code": "DFG-334-98330-X"
}
},
"firstName": "Arnold",
"contactEmail": "noreply@yaastest.com",
"company": "hybris",
"preferredLanguage": "en_UK",
"preferredCurrency": "GBP",
"preferredSite": "UK_site",
"active": true
}
HTTP status code 200
Successful Customer profile update
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
Customer profile 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 503
Service Unavailable. The server is currently unable to handle the request due to a temporary overloading or maintenance of the server.
get /{tenant}/customers/{customerNumber}
Retrieve customer profile by customer number
Requires scope hybris.customer_read
.
URI Parameters
- tenant: required (string)
The tenant string is the project's Identifier from the Builder.
- customerNumber: required (string)
Headers
- Authorization: required (string)
Used to send a valid OAuth2 access token.
Example:
Bearer access_token
Query Parameters
- expand: (string)
Controls which elements of customer profile are expanded (included) in the returned customer profile. Available elements are:
accounts
- includes account (social and internal) information,addresses
- includes all customer addresses,defaultAddress
- includes the default address as defaultAddress property.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.
Example:
accounts,defaultAddress
HTTP status code 200
Successful customer profile retrieval
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"customerNumber": {
"type": "string"
},
"metadata": {
"type": "object",
"additionalProperties": false,
"properties": {
"mixins": {
"type": "object",
"additionalProperties": {
"type": "string",
"format": "uri"
}
},
"version": {
"type": "number",
"description": "Resource version number"
}
}
},
"mixins": {
"type": "object",
"description": "The collection of mixins stored in the customer profile. Each attribute is a separate mixin."
},
"title": {
"type": "string"
},
"firstName": {
"type": "string"
},
"middleName": {
"type": "string"
},
"lastName": {
"type": "string"
},
"active": {
"type": "boolean"
},
"contactEmail": {
"type": "string"
},
"contactPhone": {
"type": "string"
},
"company": {
"type": "string"
},
"preferredLanguage": {
"type": "string",
"default": "en_US"
},
"preferredCurrency": {
"type": "string",
"default": "USD"
},
"preferredSite": {
"type": "string",
"default": "default"
},
"accounts": {
"type": "array",
"description": "A list of OAuth accounts, associated with a customer's profile.",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"providerId": {
"type": "string"
},
"id": {
"type": "string"
}
}
}
},
"addresses": {
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"metadata": {
"type": "object",
"additionalProperties": false,
"description": "The mixins metadata for this address",
"properties": {
"mixins": {
"type": "object",
"additionalProperties": {
"type": "string",
"format": "uri"
}
}
}
},
"id": {
"type": "string"
},
"contactName": {
"type": "string"
},
"companyName": {
"type": "string"
},
"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"
},
"state": {
"type": "string"
},
"contactPhone": {
"type": "string"
},
"tags": {
"type": "array",
"description": "Values like: Billing / Shipping or any other custom tag",
"items": {
"type": "string"
}
},
"isDefault": {
"type": "boolean"
},
"mixins": {
"type": "object",
"description": "Mixins stored in this Address"
}
},
"required": [
"id",
"contactName",
"isDefault"
]
}
},
"defaultAddress": {
"description": "Default address of the customer",
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"metadata": {
"type": "object",
"additionalProperties": false,
"description": "The mixins metadata for this address",
"properties": {
"mixins": {
"type": "object",
"additionalProperties": {
"type": "string",
"format": "uri"
}
}
}
},
"id": {
"type": "string"
},
"contactName": {
"type": "string"
},
"companyName": {
"type": "string"
},
"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"
},
"state": {
"type": "string"
},
"contactPhone": {
"type": "string"
},
"tags": {
"type": "array",
"description": "Values like: Billing / Shipping or any other custom tag",
"items": {
"type": "string"
}
},
"isDefault": {
"type": "boolean"
},
"mixins": {
"type": "object",
"description": "Mixins stored in this Address"
}
},
"required": [
"id",
"contactName",
"isDefault"
]
}
},
"required": [
"customerNumber",
"preferredSite"
]
}
Example:
{
"customerNumber": "C123456",
"metadata": {
"mixins": {
"additionalCode": "https://${api.proxy}/hybris/schema/v1/kiwistest/example-schema.json"
},
"version": 3
},
"mixins": {
"additionalCode": {
"code": "DFG-334-98330-X"
}
},
"title": "Dr.",
"firstName": "Max",
"middleName": "Simon",
"lastName": "Muster",
"active": true,
"contactEmail": "noreply@yaastest.com",
"contactPhone": "+1 1111 2222 3333",
"company": "hybris",
"preferredLanguage": "en_US",
"preferredCurrency": "USD",
"addresses": [
{
"id": "53426fc4e4b08806bb0d3ecc",
"contactName": "Business",
"street": "Musterstrasse",
"streetNumber": "42",
"city": "Munich",
"country": "DE",
"isDefault": "true",
"tags": [
"shipping",
"home"
]
},
{
"id": "53442904e4b08806bb0d4243",
"contactName": "Business",
"street": "Grünwalderstrasse",
"streetNumber": "42",
"city": "Frankfurt",
"country": "DE",
"isDefault": "false",
"tags": [
"billing"
]
}
],
"defaultAddress": {
"id": "53426fc4e4b08806bb0d3ecc",
"contactName": "Business",
"street": "Musterstrasse",
"streetNumber": "42",
"city": "Munich",
"country": "DE",
"isDefault": "true",
"tags": [
"shipping",
"home"
]
}
}
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
Customer with specified customer number 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 503
Service Unavailable. The server is currently unable to handle the request due to a temporary overloading or maintenance of the server.
delete /{tenant}/customers/{customerNumber}
Deletes single customer for given tenant
Requires scope hybris.customer_update
OR hybris.customer_delete
.
URI Parameters
- tenant: required (string)
The tenant string is the project's Identifier from the Builder.
- customerNumber: required (string)
Headers
- Authorization: required (string)
Used to send a valid OAuth2 access token.
Example:
Bearer access_token
Body
Type: application/json
HTTP status code 202
Customer profile deletion request was accepted
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
Forbidden if the calling user is anonymous
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
Customer with specified customer number 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 503
Service Unavailable. The server is currently unable to handle the request due to a temporary overloading or maintenance of the server.
/{tenant}/customers/{customerNumber}/addresses
Manages addresses of given customer for given tenant.
Retrieves a list of addresses of a given customer.
Requires scope hybris.customer_read
.
Creates an address for a given customer.
Requires scope hybris.customer_update
OR hybris.customer_manage
.
get /{tenant}/customers/{customerNumber}/addresses
Retrieves a list of addresses of a given customer.
Requires scope hybris.customer_read
.
URI Parameters
- tenant: required (string)
The tenant string is the project's Identifier from the Builder.
- customerNumber: required (string)
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#",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"metadata": {
"type": "object",
"additionalProperties": false,
"description": "The mixins metadata for this address",
"properties": {
"mixins": {
"type": "object",
"additionalProperties": {
"type": "string",
"format": "uri"
}
}
}
},
"id": {
"type": "string"
},
"contactName": {
"type": "string"
},
"companyName": {
"type": "string"
},
"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"
},
"state": {
"type": "string"
},
"contactPhone": {
"type": "string"
},
"tags": {
"type": "array",
"description": "Values like: Billing / Shipping or any other custom tag",
"items": {
"type": "string"
}
},
"isDefault": {
"type": "boolean"
},
"mixins": {
"type": "object",
"description": "Mixins stored in this Address"
}
},
"required": [
"id",
"contactName",
"isDefault"
]
}
}
Example:
[
{
"id": "53426fc4e4b08806bb0d3ecc",
"contactName": "Joe Smith",
"companyName": "Cargo Services Airfreight",
"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",
"contactPhone": "+86 182 9349 4663",
"isDefault": "true",
"tags": [
"shipping",
"billing"
]
},
{
"id": "53442904e4b08806bb0d4243",
"contactName": "Business",
"street": "Grünwalderstrasse",
"streetNumber": "42",
"city": "Frankfurt",
"country": "DE",
"isDefault": "false",
"tags": [
"home"
],
"metadata": {
"mixins": {
"secondaryContactPhone": "https://${api.proxy}/hybris/schema/v1/kiwistest/contact-number.json"
}
},
"mixins": {
"secondaryContactPhone": {
"number": "+86 334 0033 9934"
}
}
}
]
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"
}
HTTP status code 503
Service Unavailable. The server is currently unable to handle the request due to a temporary overloading or maintenance of the server.
post /{tenant}/customers/{customerNumber}/addresses
Creates an address for a given customer.
Requires scope hybris.customer_update
OR hybris.customer_manage
.
URI Parameters
- tenant: required (string)
The tenant string is the project's Identifier from the Builder.
- customerNumber: required (string)
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#",
"type": "object",
"properties": {
"metadata": {
"type": "object",
"additionalProperties": false,
"description": "The mixins metadata for this address",
"properties": {
"mixins": {
"type": "object",
"additionalProperties": {
"type": "string",
"format": "uri"
}
}
}
},
"contactName": {
"type": "string"
},
"companyName": {
"type": "string"
},
"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"
},
"state": {
"type": "string"
},
"contactPhone": {
"type": "string"
},
"tags": {
"type": "array",
"description": "Values like: Billing / Shipping or any other custom tag",
"items": {
"type": "string"
}
},
"mixins": {
"type": "object",
"description": "Mixins stored in this Address"
}
},
"required": [
"contactName"
]
}
Example:
{
"contactName": "Joe Smith",
"companyName": "Cargo Services Airfreight",
"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",
"contactPhone": "+86 182 9349 4663",
"isDefault": "false",
"tags": [
"shipping",
"billing"
],
"metadata": {
"mixins": {
"secondaryContactPhone": "https://${api.proxy}/hybris/schema/v1/kiwistest/contact-number.json"
}
},
"mixins": {
"secondaryContactPhone": {
"number": "+86 334 0033 9934"
}
}
}
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://api.stage.yaas.io/hybris/customer/v1/dummytenant/customers/C9606615734/addresses/76eac35ec4
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": "76eac35ec4",
"link": "https://${api.proxy}/hybris/customer/v1/dummytenant/customers/C9606615734/addresses/76eac35ec4"
}
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"
}
HTTP status code 503
Service Unavailable. The server is currently unable to handle the request due to a temporary overloading or maintenance of the server.
/{tenant}/customers/{customerNumber}/addresses/{addressId}
Manages single address of given customer for given tenant.
Retrieves a single address of a given customer.
Requires scope hybris.customer_read
.
Updates an address of a given customer.
Requires scope hybris.customer_update
OR hybris.customer_manage
.
Deprecated
Deletes an address.
Requires scope hybris.customer_update
OR hybris.customer_manage
.
Updates an address of a given customer.
Requires scope hybris.customer_update
OR hybris.customer_manage
.
get /{tenant}/customers/{customerNumber}/addresses/{addressId}
Retrieves a single address of a given customer.
Requires scope hybris.customer_read
.
URI Parameters
- tenant: required (string)
The tenant string is the project's Identifier from the Builder.
- customerNumber: required (string)
- addressId: required (string)
Headers
- Authorization: required (string)
Used to send a valid OAuth2 access token.
Example:
Bearer access_token
HTTP status code 200
address successfully retrieved.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"metadata": {
"type": "object",
"additionalProperties": false,
"description": "The mixins metadata for this address",
"properties": {
"mixins": {
"type": "object",
"additionalProperties": {
"type": "string",
"format": "uri"
}
}
}
},
"id": {
"type": "string"
},
"contactName": {
"type": "string"
},
"companyName": {
"type": "string"
},
"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"
},
"state": {
"type": "string"
},
"contactPhone": {
"type": "string"
},
"tags": {
"type": "array",
"description": "Values like: Billing / Shipping or any other custom tag",
"items": {
"type": "string"
}
},
"isDefault": {
"type": "boolean"
},
"mixins": {
"type": "object",
"description": "Mixins stored in this Address"
}
},
"required": [
"id",
"contactName",
"isDefault"
]
}
Example:
{
"id": "53426fc4e4b08806bb0d3ecc",
"contactName": "Joe Smith",
"companyName": "Cargo Services Airfreight",
"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",
"contactPhone": "+86 182 9349 4663",
"isDefault": "false",
"tags": [
"shipping",
"billing"
],
"metadata": {
"mixins": {
"secondaryContactPhone": "https://${api.proxy}/hybris/schema/v1/kiwistest/contact-number.json"
}
},
"mixins": {
"secondaryContactPhone": {
"number": "+86 334 0033 9934"
}
}
}
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"
}
HTTP status code 503
Service Unavailable. The server is currently unable to handle the request due to a temporary overloading or maintenance of the server.
put /{tenant}/customers/{customerNumber}/addresses/{addressId}
Updates an address of a given customer.
Requires scope hybris.customer_update
OR hybris.customer_manage
.
Deprecated
URI Parameters
- tenant: required (string)
The tenant string is the project's Identifier from the Builder.
- customerNumber: required (string)
- addressId: required (string)
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#",
"type": "object",
"properties": {
"metadata": {
"type": "object",
"additionalProperties": false,
"description": "The mixins metadata for this address",
"properties": {
"mixins": {
"type": "object",
"additionalProperties": {
"type": "string",
"format": "uri"
}
}
}
},
"contactName": {
"type": "string"
},
"companyName": {
"type": "string"
},
"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"
},
"state": {
"type": "string"
},
"contactPhone": {
"type": "string"
},
"isDefault": {
"type": "boolean"
},
"tags": {
"type": "array",
"description": "Values like: Billing / Shipping or any other custom tag",
"items": {
"type": "string"
}
},
"mixins": {
"type": "object",
"description": "Mixins stored in this Address"
}
},
"required": [
"contactName",
"isDefault"
]
}
Example:
{
"contactName": "Joe Smith",
"companyName": "Cargo Services Airfreight",
"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",
"contactPhone": "+86 182 9349 4663",
"isDefault": "false",
"tags": [
"shipping",
"billing"
],
"metadata": {
"mixins": {
"secondaryContactPhone": "https://${api.proxy}/hybris/schema/v1/kiwistest/contact-number.json"
}
},
"mixins": {
"secondaryContactPhone": {
"number": "+86 334 0033 9934"
}
}
}
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"
}
HTTP status code 503
Service Unavailable. The server is currently unable to handle the request due to a temporary overloading or maintenance of the server.
delete /{tenant}/customers/{customerNumber}/addresses/{addressId}
Deletes an address.
Requires scope hybris.customer_update
OR hybris.customer_manage
.
URI Parameters
- tenant: required (string)
The tenant string is the project's Identifier from the Builder.
- customerNumber: required (string)
- addressId: required (string)
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"
}
HTTP status code 503
Service Unavailable. The server is currently unable to handle the request due to a temporary overloading or maintenance of the server.
patch /{tenant}/customers/{customerNumber}/addresses/{addressId}
Updates an address of a given customer.
Requires scope hybris.customer_update
OR hybris.customer_manage
.
URI Parameters
- tenant: required (string)
The tenant string is the project's Identifier from the Builder.
- customerNumber: required (string)
- addressId: required (string)
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#",
"type": "object",
"properties": {
"metadata": {
"type": "object",
"additionalProperties": false,
"description": "The mixins metadata for this address",
"properties": {
"mixins": {
"type": "object",
"additionalProperties": {
"type": "string",
"format": "uri"
}
}
}
},
"contactName": {
"type": "string"
},
"companyName": {
"type": "string"
},
"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"
},
"state": {
"type": "string"
},
"contactPhone": {
"type": "string"
},
"isDefault": {
"type": "boolean"
},
"tags": {
"type": "array",
"description": "Values like: Billing / Shipping or any other custom tag",
"items": {
"type": "string"
}
},
"mixins": {
"type": "object",
"description": "Mixins stored in this Address"
}
},
"required": [
"contactName",
"isDefault"
]
}
Example:
{
"contactName": "Joe Smith",
"companyName": "Cargo Services Airfreight",
"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",
"contactPhone": "+86 182 9349 4663",
"isDefault": "false",
"tags": [
"shipping",
"billing"
],
"metadata": {
"mixins": {
"secondaryContactPhone": "https://${api.proxy}/hybris/schema/v1/kiwistest/contact-number.json"
}
},
"mixins": {
"secondaryContactPhone": {
"number": "+86 334 0033 9934"
}
}
}
Type: application/merge-patch+json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"metadata": {
"type": "object",
"additionalProperties": false,
"description": "The mixins metadata for this address",
"properties": {
"mixins": {
"type": "object",
"additionalProperties": {
"type": "string",
"format": "uri"
}
}
}
},
"contactName": {
"type": "string"
},
"companyName": {
"type": "string"
},
"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"
},
"state": {
"type": "string"
},
"contactPhone": {
"type": "string"
},
"isDefault": {
"type": "boolean"
},
"tags": {
"type": "array",
"description": "Values like: Billing / Shipping or any other custom tag",
"items": {
"type": "string"
}
},
"mixins": {
"type": "object",
"description": "Mixins stored in this Address"
}
},
"required": [
"contactName",
"isDefault"
]
}
Example:
{
"contactName": "Joe Smith",
"companyName": "Cargo Services Airfreight",
"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",
"contactPhone": "+86 182 9349 4663",
"isDefault": "false",
"tags": [
"shipping",
"billing"
],
"metadata": {
"mixins": {
"secondaryContactPhone": "https://${api.proxy}/hybris/schema/v1/kiwistest/contact-number.json"
}
},
"mixins": {
"secondaryContactPhone": {
"number": "+86 334 0033 9934"
}
}
}
HTTP status code 200
Address has been successfully updated
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
Address 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
Update failed due to a conflict with another 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"
]
}
HTTP status code 503
Service Unavailable. The server is currently unable to handle the request due to a temporary overloading or maintenance of the server.
/{tenant}/customers/{customerNumber}/addresses/{addressId}/tags
Manages address tags of given customer for given tenant.
Add an array of tags to given address
Requires scope hybris.customer_update
OR hybris.customer_manage
.
Delete an array of tags from given address
Requires scope hybris.customer_update
OR hybris.customer_manage
.
post /{tenant}/customers/{customerNumber}/addresses/{addressId}/tags
Add an array of tags to given address
Requires scope hybris.customer_update
OR hybris.customer_manage
.
URI Parameters
- tenant: required (string)
The tenant string is the project's Identifier from the Builder.
- customerNumber: required (string)
- addressId: required (string)
Headers
- Authorization: required (string)
Used to send a valid OAuth2 access token.
Example:
Bearer access_token
Query Parameters
- tags: required (string)
The tags of the addresses separated by comma.
Example:
billing, shipping
HTTP status code 204
Successful add of tags to Address.
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 503
Service Unavailable. The server is currently unable to handle the request due to a temporary overloading or maintenance of the server.
delete /{tenant}/customers/{customerNumber}/addresses/{addressId}/tags
Delete an array of tags from given address
Requires scope hybris.customer_update
OR hybris.customer_manage
.
URI Parameters
- tenant: required (string)
The tenant string is the project's Identifier from the Builder.
- customerNumber: required (string)
- addressId: required (string)
Headers
- Authorization: required (string)
Used to send a valid OAuth2 access token.
Example:
Bearer access_token
Query Parameters
- tags: required (string)
The tags of the addresses separated by comma.
Example:
billing, shipping
HTTP status code 204
Successful delete of tags from Address.
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 503
Service Unavailable. The server is currently unable to handle the request due to a temporary overloading or maintenance of the server.
/{tenant}/customers/{customerNumber}/accounts
Manages accounts of the customer.
/{tenant}/customers/{customerNumber}/accounts/internal
Adds a new internal account for the customer.
Assigning an internal account to an existing customer profile.
Requires scope hybris.customer_update
OR hybris.customer_manage
.
post /{tenant}/customers/{customerNumber}/accounts/internal
Assigning an internal account to an existing customer profile.
Requires scope hybris.customer_update
OR hybris.customer_manage
.
URI Parameters
- tenant: required (string)
The tenant string is the project's Identifier from the Builder.
- customerNumber: required (string)
Headers
- Authorization: required (string)
Used to send a valid OAuth2 access token.
Example:
Bearer access_token
Query Parameters
- sendPasswordResetNotifications: (boolean)
Changes behaviour of password reset which happens after internal account is created. By default the password is reset and the customer is notified with a password-reset email. This behaviour can be turned off by sending this query parameter as "false".
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"email": {
"type": "string"
}
},
"required": [
"email"
]
}
Example:
{
"email": "noreply@yaastest.com"
}
HTTP status code 201
Successful account assignment to an existing customer profile.
Headers
- Location: (string)
Example:
http://api.stage.yaas.io/hybris/customer/v1/dummytenant/customers/C9606615734/accounts/internal
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": "C9606615734",
"link": "https://${api.proxy}/hybris/customer/v1/dummytenant/customers/C9606615734/accounts/internal"
}
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
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 503
Service Unavailable. The server is currently unable to handle the request due to a temporary overloading or maintenance of the server.
/{tenant}/password
Manages customer password.
/{tenant}/password/reset
Handles password reset scenario.
Request for password reset token using email id.
Does not require any specific scope.
post /{tenant}/password/reset
Request for password reset token using email id.
Does not require any specific scope.
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#",
"type": "object",
"properties": {
"email": {
"type": "string"
}
},
"required": [
"email"
]
}
Example:
{
"email": "noreply@yaastest.com"
}
HTTP status code 204
Request is valid and successful
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
Account with provided email address 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 503
Service Unavailable. The server is currently unable to handle the request due to a temporary overloading or maintenance of the server.
/{tenant}/password/reset/update
Handles password update after reset.
Update password using token
Does not require any specific scope.
post /{tenant}/password/reset/update
Update password using token
Does not require any specific scope.
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#",
"type": "object",
"properties": {
"token": {
"type": "string",
"description": "Password reset token, that was sent via email"
},
"password": {
"type": "string",
"description": "New password to be set"
}
},
"required": [
"token",
"password"
]
}
Example:
{
"token": "LS5EY7qbDcCTtRfYYPtHWpHhd9lLfJYDIFw3ApgWF1JLa847J9UAd4f53xqRhxI5",
"password": "myNewPassword"
}
HTTP status code 204
Password updated successfully
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 503
Service Unavailable. The server is currently unable to handle the request due to a temporary overloading or maintenance of the server.
/{tenant}/password/change
Handles regular password updates.
Change password using old password to authorize password update.
Requires scope hybris.customer_edit_profile
.
post /{tenant}/password/change
Change password using old password to authorize password update.
Requires scope hybris.customer_edit_profile
.
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#",
"type": "object",
"properties": {
"currentPassword": {
"type": "string",
"description": "Current valid password"
},
"newPassword": {
"type": "string",
"description": "New password to be set"
}
},
"required": [
"currentPassword",
"newPassword"
]
}
Example:
{
"currentPassword": "secret",
"newPassword": "myNewPassword"
}
HTTP status code 204
Password successfully updated
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
Incorrect password has been provided.
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
Account has been locked and changing the password is not possible anymore until some timeout is lapsed.\
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 503
Service Unavailable. The server is currently unable to handle the request due to a temporary overloading or maintenance of the server.
/{tenant}/me
Manages currently logged-in customer profile.
Updates my customer profile
Requires scope hybris.customer_edit_profile
.
Retrieve my customer profile
Requires scope hybris.customer_view_profile
.
Updates my customer profile
Requires scope hybris.customer_edit_profile
.
Deprecated
Delete my customer profile and associated accounts
Requires scope hybris.customer_edit_profile
patch /{tenant}/me
Updates my customer profile
Requires scope hybris.customer_edit_profile
.
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#",
"type": "object",
"properties": {
"metadata": {
"type": "object",
"additionalProperties": false,
"properties": {
"mixins": {
"type": "object",
"additionalProperties": {
"type": "string",
"format": "uri"
}
},
"version": {
"type": "number",
"description": "Resource version number"
}
}
},
"mixins": {
"type": "object",
"description": "The collection of mixins stored in the customer profile. Each attribute is a separate mixin."
},
"title": {
"type": "string"
},
"firstName": {
"type": "string"
},
"middleName": {
"type": "string"
},
"lastName": {
"type": "string"
},
"contactEmail": {
"type": "string"
},
"contactPhone": {
"type": "string"
},
"company": {
"type": "string"
},
"preferredLanguage": {
"type": "string",
"default": "en_US"
},
"preferredCurrency": {
"type": "string",
"default": "USD"
},
"preferredSite": {
"type": "string"
}
}
}
Example:
{
"metadata": {
"mixins": {
"additionalCode": "https://${api.proxy}/hybris/schema/v1/kiwistest/example-schema.json"
},
"version": 1
},
"mixins": {
"additionalCode": {
"code": "DFG-334-98330-X"
}
},
"firstName": "Arnold",
"contactEmail": "noreply@yaastest.com",
"company": "hybris",
"preferredLanguage": "en_UK",
"preferredCurrency": "GBP",
"preferredSite": "UK_site"
}
Type: application/merge-patch+json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"metadata": {
"type": "object",
"additionalProperties": false,
"properties": {
"mixins": {
"type": "object",
"additionalProperties": {
"type": "string",
"format": "uri"
}
},
"version": {
"type": "number",
"description": "Resource version number"
}
}
},
"mixins": {
"type": "object",
"description": "The collection of mixins stored in the customer profile. Each attribute is a separate mixin."
},
"title": {
"type": "string"
},
"firstName": {
"type": "string"
},
"middleName": {
"type": "string"
},
"lastName": {
"type": "string"
},
"contactEmail": {
"type": "string"
},
"contactPhone": {
"type": "string"
},
"company": {
"type": "string"
},
"preferredLanguage": {
"type": "string",
"default": "en_US"
},
"preferredCurrency": {
"type": "string",
"default": "USD"
},
"preferredSite": {
"type": "string"
}
}
}
Example:
{
"metadata": {
"mixins": {
"additionalCode": "https://${api.proxy}/hybris/schema/v1/kiwistest/example-schema.json"
},
"version": 1
},
"mixins": {
"additionalCode": {
"code": "DFG-334-98330-X"
}
},
"firstName": "Arnold",
"contactEmail": "noreply@yaastest.com",
"company": "hybris",
"preferredLanguage": "en_UK",
"preferredCurrency": "GBP",
"preferredSite": "UK_site"
}
HTTP status code 200
Successful Customer profile update
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
Forbidden if the calling user is anonymous
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
Customer profile 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 503
Service Unavailable. The server is currently unable to handle the request due to a temporary overloading or maintenance of the server.
get /{tenant}/me
Retrieve my customer profile
Requires scope hybris.customer_view_profile
.
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
- expand: (string)
Controls which elements of customer profile are expanded (included) in the returned customer profile. Available elements are:
accounts
- includes account (social and internal) information,addresses
- includes all customer addresses,defaultAddress
- includes the default address as defaultAddress property.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.
Example:
accounts,defaultAddress
HTTP status code 200
Successful Customer profile retrieval
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"customerNumber": {
"type": "string"
},
"metadata": {
"type": "object",
"additionalProperties": false,
"properties": {
"mixins": {
"type": "object",
"additionalProperties": {
"type": "string",
"format": "uri"
}
},
"version": {
"type": "number",
"description": "Resource version number"
}
}
},
"mixins": {
"type": "object",
"description": "The collection of mixins stored in the customer profile. Each attribute is a separate mixin."
},
"title": {
"type": "string"
},
"firstName": {
"type": "string"
},
"middleName": {
"type": "string"
},
"lastName": {
"type": "string"
},
"contactEmail": {
"type": "string"
},
"contactPhone": {
"type": "string"
},
"company": {
"type": "string"
},
"preferredLanguage": {
"type": "string",
"default": "en_US"
},
"preferredCurrency": {
"type": "string",
"default": "USD"
},
"preferredSite": {
"type": "string",
"default": "default"
},
"accounts": {
"type": "array",
"description": "A list of OAuth accounts, associated with a customer's profile.",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"providerId": {
"type": "string"
},
"id": {
"type": "string"
}
}
}
},
"addresses": {
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"metadata": {
"type": "object",
"additionalProperties": false,
"description": "The mixins metadata for this address",
"properties": {
"mixins": {
"type": "object",
"additionalProperties": {
"type": "string",
"format": "uri"
}
}
}
},
"id": {
"type": "string"
},
"contactName": {
"type": "string"
},
"companyName": {
"type": "string"
},
"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"
},
"state": {
"type": "string"
},
"contactPhone": {
"type": "string"
},
"tags": {
"type": "array",
"description": "Values like: Billing / Shipping or any other custom tag",
"items": {
"type": "string"
}
},
"isDefault": {
"type": "boolean"
},
"mixins": {
"type": "object",
"description": "Mixins stored in this Address"
}
},
"required": [
"id",
"contactName",
"isDefault"
]
}
},
"defaultAddress": {
"description": "Default address of the customer",
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"metadata": {
"type": "object",
"additionalProperties": false,
"description": "The mixins metadata for this address",
"properties": {
"mixins": {
"type": "object",
"additionalProperties": {
"type": "string",
"format": "uri"
}
}
}
},
"id": {
"type": "string"
},
"contactName": {
"type": "string"
},
"companyName": {
"type": "string"
},
"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"
},
"state": {
"type": "string"
},
"contactPhone": {
"type": "string"
},
"tags": {
"type": "array",
"description": "Values like: Billing / Shipping or any other custom tag",
"items": {
"type": "string"
}
},
"isDefault": {
"type": "boolean"
},
"mixins": {
"type": "object",
"description": "Mixins stored in this Address"
}
},
"required": [
"id",
"contactName",
"isDefault"
]
}
},
"required": [
"customerNumber",
"preferredSite"
]
}
Example:
{
"customerNumber": "C123456",
"metadata": {
"mixins": {
"additionalCode": "https://${api.proxy}/hybris/schema/v1/kiwistest/example-schema.json"
},
"version": 1
},
"mixins": {
"additionalCode": {
"code": "DFG-334-98330-X"
}
},
"title": "Dr.",
"firstName": "Max",
"middleName": "Simon",
"lastName": "Muster",
"contactEmail": "noreply@yaastest.com",
"contactPhone": "+1 1111 2222 3333",
"company": "hybris",
"preferredLanguage": "en_US",
"preferredCurrency": "USD",
"addresses": [
{
"id": "53426fc4e4b08806bb0d3ecc",
"contactName": "Business",
"street": "Musterstrasse",
"streetNumber": "42",
"city": "Munich",
"country": "DE",
"isDefault": "true",
"tags": [
"shipping",
"home"
]
},
{
"id": "53442904e4b08806bb0d4243",
"contactName": "Business",
"street": "Grünwalderstrasse",
"streetNumber": "42",
"city": "Frankfurt",
"country": "DE",
"isDefault": "false",
"tags": [
"billing"
]
}
],
"defaultAddress": {
"id": "53426fc4e4b08806bb0d3ecc",
"contactName": "Business",
"street": "Musterstrasse",
"streetNumber": "42",
"city": "Munich",
"country": "DE",
"isDefault": "true",
"tags": [
"shipping",
"home"
]
}
}
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 503
Service Unavailable. The server is currently unable to handle the request due to a temporary overloading or maintenance of the server.
put /{tenant}/me
Updates my customer profile
Requires scope hybris.customer_edit_profile
.
Deprecated
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#",
"type": "object",
"properties": {
"metadata": {
"type": "object",
"additionalProperties": false,
"properties": {
"mixins": {
"type": "object",
"additionalProperties": {
"type": "string",
"format": "uri"
}
},
"version": {
"type": "number",
"description": "Resource version number"
}
}
},
"mixins": {
"type": "object",
"description": "The collection of mixins stored in the customer profile. Each attribute is a separate mixin."
},
"title": {
"type": "string"
},
"firstName": {
"type": "string"
},
"middleName": {
"type": "string"
},
"lastName": {
"type": "string"
},
"contactEmail": {
"type": "string"
},
"contactPhone": {
"type": "string"
},
"company": {
"type": "string"
},
"preferredLanguage": {
"type": "string",
"default": "en_US"
},
"preferredCurrency": {
"type": "string",
"default": "USD"
},
"preferredSite": {
"type": "string"
}
}
}
Example:
{
"metadata": {
"mixins": {
"additionalCode": "https://${api.proxy}/hybris/schema/v1/kiwistest/example-schema.json"
},
"version": 1
},
"mixins": {
"additionalCode": {
"code": "DFG-334-98330-X"
}
},
"firstName": "Arnold",
"contactEmail": "noreply@yaastest.com",
"company": "hybris",
"preferredLanguage": "en_UK",
"preferredCurrency": "GBP",
"preferredSite": "UK_site"
}
HTTP status code 200
Successful Customer profile update
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
Forbidden if the calling user is anonymous
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
Customer profile 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 503
Service Unavailable. The server is currently unable to handle the request due to a temporary overloading or maintenance of the server.
delete /{tenant}/me
Delete my customer profile and associated accounts
Requires scope hybris.customer_edit_profile
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
- token: (string)
The token for the confirmation of the deletion.
Example:
3zmaDC6uYBxaDf1X6enZ2G4QbIhvKA0PL6gnB2hZDbXk1moBwckJbPdm6umMRii0
Body
Type: application/json
HTTP status code 202
Customer profile deletion confirmation was successfully accepted
HTTP status code 204
Customer profile deletion request was successful
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
Forbidden if the calling user is anonymous
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
Customer profile 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 503
Service Unavailable. The server is currently unable to handle the request due to a temporary overloading or maintenance of the server.
/{tenant}/me/addresses
Manages addresses of currently logged-in customer.
Retrieves the list of addresses of the current customer.
Requires scope hybris.customer_view_profile
.
Creates an address for the current customer.
Requires scope hybris.customer_edit_profile
.
get /{tenant}/me/addresses
Retrieves the list of addresses of the current customer.
Requires scope hybris.customer_view_profile
.
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
HTTP status code 200
Resource successfully retrieved.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"metadata": {
"type": "object",
"additionalProperties": false,
"description": "The mixins metadata for this address",
"properties": {
"mixins": {
"type": "object",
"additionalProperties": {
"type": "string",
"format": "uri"
}
}
}
},
"id": {
"type": "string"
},
"contactName": {
"type": "string"
},
"companyName": {
"type": "string"
},
"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"
},
"state": {
"type": "string"
},
"contactPhone": {
"type": "string"
},
"tags": {
"type": "array",
"description": "Values like: Billing / Shipping or any other custom tag",
"items": {
"type": "string"
}
},
"isDefault": {
"type": "boolean"
},
"mixins": {
"type": "object",
"description": "Mixins stored in this Address"
}
},
"required": [
"id",
"contactName",
"isDefault"
]
}
}
Example:
[
{
"id": "53426fc4e4b08806bb0d3ecc",
"contactName": "Joe Smith",
"companyName": "Cargo Services Airfreight",
"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",
"contactPhone": "+86 182 9349 4663",
"isDefault": "true",
"tags": [
"shipping",
"billing"
]
},
{
"id": "53442904e4b08806bb0d4243",
"contactName": "Business",
"street": "Grünwalderstrasse",
"streetNumber": "42",
"city": "Frankfurt",
"country": "DE",
"isDefault": "false",
"tags": [
"home"
],
"metadata": {
"mixins": {
"secondaryContactPhone": "https://${api.proxy}/hybris/schema/v1/kiwistest/contact-number.json"
}
},
"mixins": {
"secondaryContactPhone": {
"number": "+86 334 0033 9934"
}
}
}
]
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"
}
HTTP status code 503
Service Unavailable. The server is currently unable to handle the request due to a temporary overloading or maintenance of the server.
post /{tenant}/me/addresses
Creates an address for the current customer.
Requires scope hybris.customer_edit_profile
.
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#",
"type": "object",
"properties": {
"metadata": {
"type": "object",
"additionalProperties": false,
"description": "The mixins metadata for this address",
"properties": {
"mixins": {
"type": "object",
"additionalProperties": {
"type": "string",
"format": "uri"
}
}
}
},
"contactName": {
"type": "string"
},
"companyName": {
"type": "string"
},
"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"
},
"state": {
"type": "string"
},
"contactPhone": {
"type": "string"
},
"tags": {
"type": "array",
"description": "Values like: Billing / Shipping or any other custom tag",
"items": {
"type": "string"
}
},
"mixins": {
"type": "object",
"description": "Mixins stored in this Address"
}
},
"required": [
"contactName"
]
}
Example:
{
"contactName": "Joe Smith",
"companyName": "Cargo Services Airfreight",
"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",
"contactPhone": "+86 182 9349 4663",
"isDefault": "false",
"tags": [
"shipping",
"billing"
],
"metadata": {
"mixins": {
"secondaryContactPhone": "https://${api.proxy}/hybris/schema/v1/kiwistest/contact-number.json"
}
},
"mixins": {
"secondaryContactPhone": {
"number": "+86 334 0033 9934"
}
}
}
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://api.stage.yaas.io/hybris/customer/v1/dummytenant/me/addresses/76eac35ec4
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": "76eac35ec4",
"link": "https://${api.proxy}/hybris/customer/v1/dummytenant/me/addresses/76eac35ec4"
}
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
Forbidden if the calling user is anonymous
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"
}
HTTP status code 503
Service Unavailable. The server is currently unable to handle the request due to a temporary overloading or maintenance of the server.
/{tenant}/me/addresses/{addressId}
Manages single address of currently logged-in customer.
Retrieves details of the given address of the current customer.
Requires scope hybris.customer_view_profile
.
Updates the given address of the current customer.
Requires scope hybris.customer_edit_profile
.
Deprecated
Deletes the given address of the current customer.
Requires scope hybris.customer_edit_profile
.
Updates the given address of the current customer.
Requires scope hybris.customer_edit_profile
.
get /{tenant}/me/addresses/{addressId}
Retrieves details of the given address of the current customer.
Requires scope hybris.customer_view_profile
.
URI Parameters
- tenant: required (string)
The tenant string is the project's Identifier from the Builder.
- addressId: required (string)
Headers
- Authorization: required (string)
Used to send a valid OAuth2 access token.
Example:
Bearer access_token
HTTP status code 200
address successfully retrieved.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"metadata": {
"type": "object",
"additionalProperties": false,
"description": "The mixins metadata for this address",
"properties": {
"mixins": {
"type": "object",
"additionalProperties": {
"type": "string",
"format": "uri"
}
}
}
},
"id": {
"type": "string"
},
"contactName": {
"type": "string"
},
"companyName": {
"type": "string"
},
"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"
},
"state": {
"type": "string"
},
"contactPhone": {
"type": "string"
},
"tags": {
"type": "array",
"description": "Values like: Billing / Shipping or any other custom tag",
"items": {
"type": "string"
}
},
"isDefault": {
"type": "boolean"
},
"mixins": {
"type": "object",
"description": "Mixins stored in this Address"
}
},
"required": [
"id",
"contactName",
"isDefault"
]
}
Example:
{
"id": "53426fc4e4b08806bb0d3ecc",
"contactName": "Joe Smith",
"companyName": "Cargo Services Airfreight",
"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",
"contactPhone": "+86 182 9349 4663",
"isDefault": "false",
"tags": [
"shipping",
"billing"
],
"metadata": {
"mixins": {
"secondaryContactPhone": "https://${api.proxy}/hybris/schema/v1/kiwistest/contact-number.json"
}
},
"mixins": {
"secondaryContactPhone": {
"number": "+86 334 0033 9934"
}
}
}
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
Address does not belong to the specified customer
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"
}
HTTP status code 503
Service Unavailable. The server is currently unable to handle the request due to a temporary overloading or maintenance of the server.
put /{tenant}/me/addresses/{addressId}
Updates the given address of the current customer.
Requires scope hybris.customer_edit_profile
.
Deprecated
URI Parameters
- tenant: required (string)
The tenant string is the project's Identifier from the Builder.
- addressId: required (string)
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#",
"type": "object",
"properties": {
"metadata": {
"type": "object",
"additionalProperties": false,
"description": "The mixins metadata for this address",
"properties": {
"mixins": {
"type": "object",
"additionalProperties": {
"type": "string",
"format": "uri"
}
}
}
},
"contactName": {
"type": "string"
},
"companyName": {
"type": "string"
},
"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"
},
"state": {
"type": "string"
},
"contactPhone": {
"type": "string"
},
"isDefault": {
"type": "boolean"
},
"tags": {
"type": "array",
"description": "Values like: Billing / Shipping or any other custom tag",
"items": {
"type": "string"
}
},
"mixins": {
"type": "object",
"description": "Mixins stored in this Address"
}
},
"required": [
"contactName",
"isDefault"
]
}
Example:
{
"contactName": "Joe Smith",
"companyName": "Cargo Services Airfreight",
"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",
"contactPhone": "+86 182 9349 4663",
"isDefault": "false",
"tags": [
"shipping",
"billing"
],
"metadata": {
"mixins": {
"secondaryContactPhone": "https://${api.proxy}/hybris/schema/v1/kiwistest/contact-number.json"
}
},
"mixins": {
"secondaryContactPhone": {
"number": "+86 334 0033 9934"
}
}
}
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
Address does not belong to the specified customer
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"
}
HTTP status code 503
Service Unavailable. The server is currently unable to handle the request due to a temporary overloading or maintenance of the server.
delete /{tenant}/me/addresses/{addressId}
Deletes the given address of the current customer.
Requires scope hybris.customer_edit_profile
.
URI Parameters
- tenant: required (string)
The tenant string is the project's Identifier from the Builder.
- addressId: required (string)
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
Address does not belong to the specified customer
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"
}
HTTP status code 503
Service Unavailable. The server is currently unable to handle the request due to a temporary overloading or maintenance of the server.
patch /{tenant}/me/addresses/{addressId}
Updates the given address of the current customer.
Requires scope hybris.customer_edit_profile
.
URI Parameters
- tenant: required (string)
The tenant string is the project's Identifier from the Builder.
- addressId: required (string)
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#",
"type": "object",
"properties": {
"metadata": {
"type": "object",
"additionalProperties": false,
"description": "The mixins metadata for this address",
"properties": {
"mixins": {
"type": "object",
"additionalProperties": {
"type": "string",
"format": "uri"
}
}
}
},
"contactName": {
"type": "string"
},
"companyName": {
"type": "string"
},
"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"
},
"state": {
"type": "string"
},
"contactPhone": {
"type": "string"
},
"isDefault": {
"type": "boolean"
},
"tags": {
"type": "array",
"description": "Values like: Billing / Shipping or any other custom tag",
"items": {
"type": "string"
}
},
"mixins": {
"type": "object",
"description": "Mixins stored in this Address"
}
},
"required": [
"contactName",
"isDefault"
]
}
Example:
{
"contactName": "Joe Smith",
"companyName": "Cargo Services Airfreight",
"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",
"contactPhone": "+86 182 9349 4663",
"isDefault": "false",
"tags": [
"shipping",
"billing"
],
"metadata": {
"mixins": {
"secondaryContactPhone": "https://${api.proxy}/hybris/schema/v1/kiwistest/contact-number.json"
}
},
"mixins": {
"secondaryContactPhone": {
"number": "+86 334 0033 9934"
}
}
}
Type: application/merge-patch+json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"metadata": {
"type": "object",
"additionalProperties": false,
"description": "The mixins metadata for this address",
"properties": {
"mixins": {
"type": "object",
"additionalProperties": {
"type": "string",
"format": "uri"
}
}
}
},
"contactName": {
"type": "string"
},
"companyName": {
"type": "string"
},
"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"
},
"state": {
"type": "string"
},
"contactPhone": {
"type": "string"
},
"isDefault": {
"type": "boolean"
},
"tags": {
"type": "array",
"description": "Values like: Billing / Shipping or any other custom tag",
"items": {
"type": "string"
}
},
"mixins": {
"type": "object",
"description": "Mixins stored in this Address"
}
},
"required": [
"contactName",
"isDefault"
]
}
Example:
{
"contactName": "Joe Smith",
"companyName": "Cargo Services Airfreight",
"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",
"contactPhone": "+86 182 9349 4663",
"isDefault": "false",
"tags": [
"shipping",
"billing"
],
"metadata": {
"mixins": {
"secondaryContactPhone": "https://${api.proxy}/hybris/schema/v1/kiwistest/contact-number.json"
}
},
"mixins": {
"secondaryContactPhone": {
"number": "+86 334 0033 9934"
}
}
}
HTTP status code 200
Address has been successfully updated
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
Address 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
Update failed due to a conflict with another 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"
]
}
HTTP status code 503
Service Unavailable. The server is currently unable to handle the request due to a temporary overloading or maintenance of the server.
/{tenant}/me/addresses/{addressId}/tags
Manages address tags for currently logged-in customer.
Add an array of tags to given address
Requires scope hybris.customer_edit_profile
.
Delete an array of tags from given address
Requires scope hybris.customer_edit_profile
.
post /{tenant}/me/addresses/{addressId}/tags
Add an array of tags to given address
Requires scope hybris.customer_edit_profile
.
URI Parameters
- tenant: required (string)
The tenant string is the project's Identifier from the Builder.
- addressId: required (string)
Headers
- Authorization: required (string)
Used to send a valid OAuth2 access token.
Example:
Bearer access_token
Query Parameters
- tags: required (string)
The tags of the addresses separated by comma.
Example:
billing, shipping
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 503
Service Unavailable. The server is currently unable to handle the request due to a temporary overloading or maintenance of the server.
delete /{tenant}/me/addresses/{addressId}/tags
Delete an array of tags from given address
Requires scope hybris.customer_edit_profile
.
URI Parameters
- tenant: required (string)
The tenant string is the project's Identifier from the Builder.
- addressId: required (string)
Query Parameters
- tags: required (string)
The tags of the addresses separated by comma.
Example:
billing, shipping
HTTP status code 503
Service Unavailable. The server is currently unable to handle the request due to a temporary overloading or maintenance of the server.
/{tenant}/me/accounts
Manages accounts of currently logged-in customer.
/{tenant}/me/accounts/internal
Manages internal account of currently logged-in customer.
Sign-up for an internal account, assigning this account to an existing customer profile, created by a 3rd party login. The security mechanism takes care that only an authenticated user with a related, security mechanism verified customer number can assign an internal account to an already existing customer profile.
Requires scope hybris.customer_edit_profile
.
post /{tenant}/me/accounts/internal
Sign-up for an internal account, assigning this account to an existing customer profile, created by a 3rd party login. The security mechanism takes care that only an authenticated user with a related, security mechanism verified customer number can assign an internal account to an already existing customer profile.
Requires scope hybris.customer_edit_profile
.
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#",
"type": "object",
"properties": {
"email": {
"type": "string"
},
"password": {
"description": "at least six characters long, leading or trailing whitespaces will be trimmed",
"type": "string"
}
},
"required": [
"email",
"password"
]
}
Example:
{
"email": "noreply@yaastest.com",
"password": "secret"
}
HTTP status code 201
Successful account assignment to an existing profile, created by a 3rd party.
Headers
- Location: (string)
Example:
http://api.stage.yaas.io/hybris/customer/v1/dummytenant/me/accounts/internal
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": "C9606615734",
"link": "https://${api.proxy}/hybris/customer/v1/dummytenant/me/accounts/internal"
}
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
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 503
Service Unavailable. The server is currently unable to handle the request due to a temporary overloading or maintenance of the server.
/{tenant}/me/accounts/internal/email
Manages changing of customer's own login email address.
/{tenant}/me/accounts/internal/email/change
Handles requests to change customer's own email.
Request for changing login email token using current email id and password.
Requires scope hybris.customer_edit_profile
post /{tenant}/me/accounts/internal/email/change
Request for changing login email token using current email id and password.
Requires scope hybris.customer_edit_profile
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#",
"type": "object",
"properties": {
"email": {
"type": "string",
"description": "Current account login email address."
},
"password": {
"type": "string",
"description": "Current account password."
},
"newEmail": {
"type": "string",
"description": "New account login email address."
},
"syncContactEmail": {
"type": "boolean",
"description": "Makes the contact email of the customer same as the new login email. Default value is false."
}
},
"required": [
"email",
"password",
"newEmail"
]
}
Example:
{
"email": "noreply@yaastest.com",
"password": "s3cr3t",
"newEmail": "pleasereply@yaastest.com",
"syncContactEmail": true
}
HTTP status code 204
Request is valid and successful
HTTP status code 401
Incorrect password has been provided.
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
Denotes that another account with the specified new-email already exists.
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 503
Service Unavailable. The server is currently unable to handle the request due to a temporary overloading or maintenance of the server.
/{tenant}/me/accounts/internal/email/change/confirm
Changes the customer's own email after it is confirmed with a token.
Update login email address using token.
Does not require any specific scope.
post /{tenant}/me/accounts/internal/email/change/confirm
Update login email address using token.
Does not require any specific scope.
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#",
"type": "object",
"properties": {
"token": {
"type": "string"
}
},
"required": [
"token"
]
}
Example:
{
"token": "aCd35CzsAhKt6mKcfCVef54YvfdsfbewFaCd35CzsAhKt6mKcfCVef54YvfdsfbA"
}
HTTP status code 204
Email updated successfully
HTTP status code 400
Bad request, possibly because of an invalid 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:
{
"type": "bad_request",
"status": 400,
"message": "Invalid Token: aCd35CzsAhKt6mKcfCVef54YvfdsfbewFaCd35CzsAhKt6mKcfCVef54YvfdsfbA."
}
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
Denotes that another account with the specified new-email already exists.
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 503
Service Unavailable. The server is currently unable to handle the request due to a temporary overloading or maintenance of the server.
/{tenant}/me/accounts/{providerId}
Manages social (OAuth) account of currently logged-in customer.
Connect a social OAuth provider - Facebook or Google. A client app needs to be configured for each provider to enable OAuth. The OAuth provider Id that denotes one of the supported providers like Facebook or Google.
Requires scope hybris.customer_edit_profile
.
Disconnect a social OAuth provider - Facebook or Google. The OAuth provider Id that denotes one of the supported providers - Facebook or Google.
Requires scope hybris.customer_edit_profile
.
post /{tenant}/me/accounts/{providerId}
Connect a social OAuth provider - Facebook or Google. A client app needs to be configured for each provider to enable OAuth. The OAuth provider Id that denotes one of the supported providers like Facebook or Google.
Requires scope hybris.customer_edit_profile
.
URI Parameters
- tenant: required (string)
The tenant string is the project's Identifier from the Builder.
- providerId: required (string)
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#",
"type": "object",
"properties": {
"accessToken": {
"type": "string"
}
},
"required": [
"accessToken"
]
}
Example:
{
"accessToken": "BgQ75HNivPQ6TTrvwIrsuqSM2iENjhvu"
}
HTTP status code 200
Social OAuth provider has been successfully assigned to customer's inernal account.
HTTP status code 401
Denotes an invalid OAuth access token which is inteded for the OAuth provider
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
Denotes that this social provider has already been assigned to the internal account.
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 503
Service Unavailable. The server is currently unable to handle the request due to a temporary overloading or maintenance of the server.
delete /{tenant}/me/accounts/{providerId}
Disconnect a social OAuth provider - Facebook or Google. The OAuth provider Id that denotes one of the supported providers - Facebook or Google.
Requires scope hybris.customer_edit_profile
.
URI Parameters
- tenant: required (string)
The tenant string is the project's Identifier from the Builder.
- providerId: required (string)
Headers
- Authorization: required (string)
Used to send a valid OAuth2 access token.
Example:
Bearer access_token
HTTP status code 204
Social OAuth provider has been successfully disconnected from customer's profile.
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
Forbidden if the calling user is anonymous
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
OAuth provider not found for the customer
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 503
Service Unavailable. The server is currently unable to handle the request due to a temporary overloading or maintenance of the server.
/{tenant}/signup
Manages customer signup process.
Sign-up as a new customer, create a new customer account.
Does not require any specific scope.
post /{tenant}/signup
Sign-up as a new customer, create a new customer account.
Does not require any specific scope.
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#",
"type": "object",
"properties": {
"email": {
"type": "string"
},
"password": {
"description": "at least six characters long, leading or trailing whitespaces will be trimmed",
"type": "string"
}
},
"required": [
"email",
"password"
]
}
Example:
{
"email": "noreply@yaastest.com",
"password": "secret"
}
HTTP status code 201
Successful account creation
Headers
- Location: (string)
Example:
http://api.stage.yaas.io/hybris/customer/v1/dummytenant/me
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": "C9606615734",
"link": "https://${api.proxy}/hybris/customer/v1/dummytenant/me"
}
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
Duplicate account '%s' for tenant '%s'
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://devportal.yaas.io/overview/error_types.html",
"type": "conflict_resource"
}
HTTP status code 503
Service Unavailable. The server is currently unable to handle the request due to a temporary overloading or maintenance of the server.
/{tenant}/login
Manages customer login process.
Login as a customer and request an authentication token. Account is locked and login is not possible when a certain number of failed logins has been recorded. The account is unlocked after a certain amount of time lapsed.
Does not require any specific scope.
post /{tenant}/login
Login as a customer and request an authentication token. Account is locked and login is not possible when a certain number of failed logins has been recorded. The account is unlocked after a certain amount of time lapsed.
Does not require any specific scope.
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#",
"type": "object",
"properties": {
"email": {
"type": "string"
},
"password": {
"type": "string"
}
},
"required": [
"email",
"password"
]
}
Example:
{
"email": "noreply@yaastest.com",
"password": "secret"
}
HTTP status code 200
Successful retrieval of new authentication token
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"accessToken": {
"type": "string"
}
},
"required": [
"accessToken"
]
}
Example:
{
"accessToken": "CgQ75HNivPQ6TTrvwIrsuqSM2iENjhvu"
}
HTTP status code 401
Incorrect password has been provided.
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": "Access denied. Entered credentials are incorrect.",
"type": "insufficient_credentials",
"moreInfo": "https://${api.proxy}/patterns/errortypes.html"
}
HTTP status code 403
Account has been locked and a login is not possible until some timeout is lapsed.
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 503
Service Unavailable. The server is currently unable to handle the request due to a temporary overloading or maintenance of the server.
/{tenant}/login/{providerId}
Manages social (OAuth) login process.
Sign-in using a OAuth provider - Facebook or Google. A client app needs to be configured for each provider to enable OAuth.
Does not require any specific scope.
post /{tenant}/login/{providerId}
Sign-in using a OAuth provider - Facebook or Google. A client app needs to be configured for each provider to enable OAuth.
Does not require any specific scope.
URI Parameters
- tenant: required (string)
The tenant string is the project's Identifier from the Builder.
- providerId: required (string)
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#",
"type": "object",
"properties": {
"accessToken": {
"type": "string"
}
},
"required": [
"accessToken"
]
}
Example:
{
"accessToken": "BgQ75HNivPQ6TTrvwIrsuqSM2iENjhvu"
}
HTTP status code 200
Successful retrieval of new authentication token
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"accessToken": {
"type": "string"
}
},
"required": [
"accessToken"
]
}
Example:
{
"accessToken": "CgQ75HNivPQ6TTrvwIrsuqSM2iENjhvu"
}
HTTP status code 401
Denotes an invalid OAuth access token which is intended for the OAuth provider
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 503
Service Unavailable. The server is currently unable to handle the request due to a temporary overloading or maintenance of the server.
/{tenant}/logout
Manages customer logout process.
Invalidate authentication token - user is logged out.
Does not require any specific scope.
get /{tenant}/logout
Invalidate authentication token - user is logged out.
Does not require any specific scope.
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
- accessToken: required (string)
Authentication token to be invalidated.
Example:
6fc4e4b08806b0d3ec
HTTP status code 204
Successful invalidation of an authentication token.
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 503
Service Unavailable. The server is currently unable to handle the request due to a temporary overloading or maintenance of the server.
/{tenant}/loginconfig
Manages anonymous access to customer service specific configuration options.
Get configuration for (Social) Login providers
Does not require any specific scope.
get /{tenant}/loginconfig
Get configuration for (Social) Login providers
Does not require any specific scope.
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
HTTP status code 200
Successful retrieval of login configuration
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"facebookAppId": {
"type": "string"
},
"googleClientId": {
"type": "string"
}
}
}
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 503
Service Unavailable. The server is currently unable to handle the request due to a temporary overloading or maintenance of the server.
Events
Topic | Description | Payload | Example |
---|---|---|---|
hybris.customer.password-reset-requested | Customer requested to reset their password | schema |
|
hybris.customer.password-updated | Customer updated the password | schema |
|
hybris.customer.customer-account-unlinked | A third-party account is detached from the customer profile | schema |
|
hybris.customer.customer-signup | Customer signed up | schema |
|
hybris.customer.customer-login | Login attempts | schema |
|
hybris.customer.customer-logout | Logout attempts | schema |
|
hybris.customer.customer-account-linked | A third-party account is attached to the customer profile | schema |
|
hybris.customer.customer-updated | Customer profile updated by merchant | schema |
|
hybris.customer.customer-deleted | Customer profile has been deleted. | schema |
|
hybris.customer.address-created | Address created | schema |
|
hybris.customer.address-updated | Address updated | schema |
|
hybris.customer.address-deleted | Address deleted | schema |
|
hybris.customer.address-tag-added | Address tagged | schema |
|
hybris.customer.address-tag-deleted | Address tag deleted | schema |
|
hybris.customer.customer-login-email-changed | Customer changed his/her login email | schema |
|
Accessing Email Template Attributes
The customer service triggers a password reset email. The email contains customer-related data obtained from customer and address attributes. All customer service email templates include these DTO attributes. Ordinarily, you use d.customer.<attribute>
to access an attribute.
To ensure better security, you can begin with HTML escaping instead. To use HTML escaping, use ${tools.esc.html(${d.customer.firstName})}
. To access nested attributes, such as addresses, use the following: ${tools.esc.html(${d.customer.defaultAddress.street})}
For the list attributes, you can loop over each item or access a specific item. To loop over each item:
`#foreach($address in ${d.customer.addresses}) ${tools.esc.html($address.street)}
#end`
Access a specific item by using ${tools.esc.html(${d.customer.addresses.get(0).street})}
. Also, you can access a customer's sign-in email address using ${tools.esc.html(${d.customer_email})}
.
The following attributes are currently available:
Customer Attributes
customerNumber
title
firstName
middleName
lastName
contactPhone
company
preferredLanguage
preferredCurrency
preferredSite
mixins
defaultAddress
addresses
contactEmail
Address Attributes
contactName
companyName
street
streetNumber
streetAppendix
extraLine1
extraLine2
extraLine3
extraLine4
zipCode
city
country
state
contactPhone
tags
(collection of strings)mixins
Storing Customer Addresses
The customer address is an integral part of the customer data because it is embedded in the customer profile. There are several endpoints that enable you to perform operations on customer addresses:
/{tenant}/customers/{customerNumber}/addresses
: You can get all addresses for a specific account. You can also create a new address for any customer account./{tenant}/customers/{customerNumber}/addresses/{addressId}
: You can retrieve an address by its id provided in the URL as the {addressId} path parameter value. You can also update or delete an address./{tenant}/me/addresses
: You can create and retrieve your own addresses./{tenant}/me/addresses/{addressId}
: If you have several addresses, you can retrieve a specific one by its id. You can also update and delete a specific address.
Customer addresses are stored in the customer profile data as a list. The first created address for a customer is always the default, even when it is explicitly specified as not default.
{
"customerNumber": "C123456",
"title": "Dr.",
"firstName": "Max",
"middleName": "Simon",
"lastName": "Muster",
"contactEmail": "noreply@yaastest.com",
"contactPhone": "+1 1111 2222 3333",
"company": "hybris",
"preferredLanguage": "en_US",
"preferredCurrency": "USD",
"addresses":
[
{
"id": "53426fc4e4b08806bb0d3ecc",
"contactName": "Business",
"street": "Musterstrasse",
"streetNumber": "42",
"city": "Munich",
"country": "DE",
"isDefault": "true",
"tags": ["home"]
},
{
"id": "53442904e4b08806bb0d4243",
"contactName": "Joe Smith",
"companyName": "Cargo Services Airfreight",
"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",
"contactPhone": "+86 182 9349 4663",
"isDefault": "false",
"tags": ["shipping", "billing"]
}
]
}
Extending a customer address with a mixin
Each customer address can be enriched with additional custom attributes that extend the customer address definition on a need-to-have basis. This is where mixins can be used. Mixins help you define an additional property or set of properties you can add in, such as your customer address definition. In this case, the default customer address information is extended with a mixin-based property for secondary contact phone.
{
"id": "53426fc4e4b08806bb0d3ecc",
"contactName": "Joe Smith",
"companyName": "Cargo Services Airfreight",
"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",
"contactPhone": "+86 182 9349 4663",
"isDefault": "false",
"tags": ["shipping", "billing"],
"metadata": {
"mixins": {
"secondaryContactPhone": "<%- @partial('proxy_url') %>/hybris/schema/v1/kiwistest/contact-number.json"
}
},
"mixins": {
"secondaryContactPhone": {
"number": "+86 334 0033 9934"
}
}
}
Customer address autosave
When an order is placed with a billing or a shipping address:
- If the addresses did not previously exist in the customer address book, they are added to the customer's address book.
- If the address already exists, then the attributes that are not considered to check for equality are merged. Addresses are equal if everything except the tag and mixins match.
- The merging of the attributes does not replace the existing value. For example, if a mixin contains an additionalCode property and the new address also contain the same entity but with a different value, then the previous value remain intact.
Following is an example of a mixin:
"mixins":{
"additionalCode":{
"code":"abc"
}
}
Following is a mixin with additional information:
"mixins":{
"additionalCode":{
"myKey":"xyz"
},
"houseInfo":{
"color":"white"
}
}
If the two are merged, only the new mixin houseInfo is added with its value whereas the additionalCode mixin remains intact. Therefore, the result of the merge would be:
"mixins":{
"additionalCode":{
"code":"abc"
},
"houseInfo":{
"color":"white"
}
}
Extend Customer Information
Customers can be defined by a set of properties, such as contactEmail or customerNumber, that uniquely identify a customer for the external world.
However, these schema-based properties are few and are very common to all customers. However, mixins can help you to define a set of additional properties once and reuse them in many different customer definitions. You can assign one mixin to many customers, but you can also use many mixins to extend the information about one customer.
In the Customer service, mixins are supported by the following methods and endpoints:
- POST
/{tenant}/customers
- GET, PUT
/{tenant}/customers/{customerNumber}
- GET, PUT
/{tenant}/me
In the case of GET requests in the Customer 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, you can usemixin:<mixin name>
multiple times, such asexpand=mixin:mixin1,mixin:mixin2
.
Mixin schema
Mixins define a set of properties you can add in your customer definition. The mixin itself is supported by the Schema service and is always referred from other services by a URL. The schema is used to validate the contents of the mixin and is also a unique namespace identifier for the mixin. Following is an example of the mixin structure:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Color Schema",
"type": "object",
"additionalProperties": false,
"properties": {
"red": {
"type": "number"
},
"green": {
"type": "number"
},
"blue": {
"type": "number"
}
},
"required": ["red", "green", "blue"]
}
Mixins declare the properties and data types of these properties. In this example, there are three colors defined, each of which is designated by a numerical value.
With this mixin in the Schema service, you can use it to extend any kind of customer information with these additional properties. These properties are not part of the Customer schema, they are part of the mixin schema.
Mixin data
Each mixin is a named JSON fragment with an associated JSON Schema. In this example, it is a color. The metadata attribute specifies which mixins can be included. To include a mixin with a name color, the metadata.mixins.color
attribute must declare a schema for the mixin. When you create a new customer or update any customer with new information, you can add these mixin-based properties to the whole customer configuration.
{
"name": "John",
"metadata": {
"mixins": {
"color": "https://api.beta.yaas.io/hybris/schema/v1/tenant/color.json"
}
},
"mixins": {
"color": {
"red": 15,
"green": 34,
"blue": 255
}
}
}
Important notes about this example:
- 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 create the alias as you like. What is important is that when you use the mixin, you always take the mixin alias you defined in the metadata section.
- You must have the mixins property, which can have properties from multiple mixins, each one referred by its alias. In this example, there is only one color mixin, and it has only three properties.
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 an HTTP status code of 400
, with detailed information is available in the response body.
Scopes in the Customer Service
Scopes enable you to specify the permissions that are required to access resources and operations in the Customer service.
The following table includes all of the scopes supported by the Customer service.
Scope | Description |
---|---|
hybris.customer_create | Use this scope to create a new customer account, such as merchants or sellers. |
hybris.customer_read | Use this scope to read customer profiles or retrieve a list of customers. |
hybris.customer_update OR hybris.customer_manage | Use this scope to update customer profiles. |
hybris.customer_delete | Use this scope to delete customer profiles. |
hybris.customer_view_profile | This scope is granted to customers during login. Use this scope to access the profile of the logged-in customer. |
hybris.customer_edit_profile | This scope is granted to customers during login. Use this scope to modify the profile of the logged-in customer. |
For more information about the authorization and authentication used in SAP Hybris services, and also about the scopes in general, see:
Preferred Site Support
The Storefront can support multiple sites, so customers can save their preferred site in their profile using the attribute preferredSite.
- For Authenticated Users: This attribute can store one of the site codes (identifiers) that are stored in the Site service configuration for the sites.
- For Anonymous Users: A default site will be used.
Additionally, the authenticated users who do not have a configured preferred site will also have the default site set as their preferred site.
Email Notification Options
At some occasion, the Customer service sends an email notifications to customers. This may happen, for example, when a customer changes email address and the service sends an email notification asking for confirmation.
Using Builder, it is possible to set email configurations which is used by customer service when sending notifications to customers. Let's take a look at the available configuration keys and what kind of values they can hold:
- cust.notification.email.from.name: The name of the email sender. If this value is not set explicitly in Builder, it will have the default value:
noreply@{tenant}.mail.yaas.io
. For example, for kiwiscitest tenant, the default value will benoreply@kiwiscitest.mail.yaas.io
. - cust.notification.email.from: The email address of the sender. The value can consist of alphanumeric characters, however special characters are not allowed. It can be set to: null.
- cust.notification.email.replyToName: The name of the sender to be used as the receipient name during email reply.
- cust.notification.email.replyTo: The sender's email address to be used as the receipient email address during email reply. The value can consist of alphanumeric characters, whereas special characters are not allowed. It can be set to: null.
The values of these keys are set either in Commerce Settings section of the Builder module or they can be directly set by using the API of the Configuration service.
Create New Account
As a customer, you can sign up to create a new account.
Request
To create an account, you need:
- Method: POST
- Request URL:
https://api.beta.yaas.io/hybris/customer/v1/{tenant}/signup
- Authorization: You must provide a proper scope that enables users to perform these operations. The 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 Authorization.
- URL Path Parameters
- {tenant}: The name of the current tenant.
Body
To sign up for a new account, you must provide an email and password:
- email: A valid email address
- password: A minimum of six characters
This is an example of the format of the request body:
{
"email": "user@yaastest.com",
"password": "secret"
}
Validation
The service provides methods to avoid possible issues and provide feedback. For example:
- If you try to create an account using an email address that already exists, the error message
User email must be unique
is returned. - If you try to set a password that does not comply with the minimum requirements, an error is generated with feedback information.
- A validation mechanism checks if the email format is correct.
Response
After you successfully create a new account, you receive a confirmation consisting of three parts:
- Status code:
201
- Header:
- Location: Contains a string value. For example:
https://api.beta.yaas.io/hybris/customer/v1/dummyTenant/me
- Location: Contains a string value. For example:
- Body: The body returns the id value, which is used to uniquely identify the account. For example:
json { "id": "536cd455cb4e6cc7d8f50165" "link": "https://api.beta.yaas.io/hybris/customer/v1/dummyTenant/me" }
Create Customer without Email
You can create a customer profile without specifying an email address. The hybris.customer_create scope is required. To create a customer profile without an email, you need:
- Method: POST
- Request URL:
https://api.beta.yaas.io/hybris/customer/v1/{tenant}/customers
- Authorization: You must provide a proper scope that enables users to perform these operations. The 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 Authorization.
The body may contain some basic customer data. However, the contactEmail attribute is not needed in this scenario. For example:
{
"firstName": "John Smith",
"company": "example_Company",
"preferredLanguage": "en_UK",
"preferredCurrency": "GBP"
}
As a response, a customer id and the link to the resource are returned:
- "id": "CO139024732"
- "link": "https://api.beta.yaas.io/hybris/customer/v1/dummytenant/customers/CO139024732"
If you now retrieve this customer by id, the returned customer record does not contain the contactEmail attribute. These customer records cannot be used to log in to a storefront until the merchant adds the account information to the customer profile.
If there is no contactEmail provider for the customer, then no internal account is created for the customer. If you retrieve the customer with the expand parameter set to accounts
, such as https://api.beta.yaas.io/hybris/customer/v1/{tenant}/customers/CO139024732?expand=accounts
, the response will be similar to the example below:
{
"firstName": "John Smith",
"company": "example_Company",p
"preferredLanguage": "en_UK",
"preferredCurrency": "GBP",hybris
"accounts": [],
"customerNumber": "CO139024732",
"id": "CO139024732"
}
Add Internal Account to Customer
It is possible to have a customer profile that does not have any internal account assigned. For example, a customer may have been created without an email or with the help of an external account such as Facebook. However, you can always create an internal account for such a customer later. To do so, a proper scope is required. You can read more about the scopes in the Scopes in Customer Service section.
Adding an internal account
In the following example, there is a customer with a Facebook account, but no internal account. You can retrieve this customer using the expand parameter set to accounts
: https://api.beta.yaas.io/hybris/customer/v1/{tenant}/customers/CO139024732?expand=accounts
.
The customer profile looks like the example below, where only the external Facebook account is connected to the profile:
{
"preferredLanguage": "en_UK",
"preferredCurrency": "GBP",
"accounts": [
{
"providerId": "facebook",
"id": "10205575494848716"
}
],
"customerNumber": "CO139024732",
"id": "CO139024732"
}
To add an internal account, use the request URL https://api.beta.yaas.io/hybris/customer/v1/{tenant}/customers/CO139024732/accounts/internal
.
The message body must contain an email associated with the customer. For example:
{
"email": "John_Smith@yaastest.com"
}
The customer number is returned in the response:
{
"ID": "CO139024732"
}
Now, if you retrieve the customer with the expand parameter set to accounts
, such as https://api.beta.yaas.io/hybris/customer/v1/{tenant}/customers/CO139024732?expand=accounts
, you get something similar to the example below, which shows that the additional internal account has been added to the customer profile, as well as the contact email:
{
"preferredLanguage": "en_UK",
"preferredCurrency": "GBP",
"accounts": [
{
"providerId": "facebook",
"id": "10205575494848716"
},
{
"id": "John_Smith@yaastest.com"
}
],
"customerNumber": "CO139024732",
"id": "CO139024732",
"contactEmail": "John_Smith@yaastest.com"
}
- The email used to create an internal account for a customer is used as a customer login.
- A password reset token is generated and sent to the user.
- If the query parameter
?sendPasswordResetNotifications=false
is given, then no reset token is generated, and the PubSub event to notify about a password reset is not sent.
Update Customer Profile
Merchants can update the profile data of a customer using a simple PUT request. You can modify almost any customer property, with the exception of customerNumber. To update a customer profile, a proper scope is required. You can read more about the scopes in the Scopes in Customer Service section.
Request
To update a customer profile, you need:
- Method: PUT
- Request URL:
https://api.beta.yaas.io/hybris/customer/v1/{tenant}/customer/{customerNumber}
- Authorization: You must provide a proper scope that enables users to perform these operations. The 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 Authorization.
- URL Path Parameters
- {tenant}: The name of the current tenant.
- {customerNumber}: The unique identifier of the customer.
Body
In the following example, you will update a customer's preferred language.
- Following are the properties for an existing customer.
{ "firstName": "Jack", "lastName": "Williams", "contactEmail": "noreply@yaastest.com", "preferredLanguage": "en_UK" }
- To change the preferred language for the customer, you need to send the properties that you want to update in the request body. You do not need to send any other properties.
{ "preferredLanguage": "de_DE" }
- If you now retrieve this customer's profile data, the properties have been modified.
{ "id": "C8685677011", "customerNumber": "C8685677011" "firstName": "Jack", "lastName": "Williams", "contactEmail": "noreply@yaastest.com", "preferredLanguage": "de_DE" }
Validation
This feature includes a validation mechanism. For example, if you used the following invalid data to update the preferredLanguage property of a customer, the update would fail:
{
"preferredLanguage": "der_DERq"
}
If validation fails, an error code of 400
is returned.
Response
A successful response includes a status code of 200
.
Get All Customer Accounts
Merchants with the proper scope can view all customer accounts in a particular tenant.
Request
To get all customer accounts, you need:
- Method: GET
- Request URL:
https://api.beta.yaas.io/hybris/customer/v1/{tenant}/customers
- Authorization: You must provide a proper scope that enables users to perform these operations. The 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 Authorization.
- URL Path Parameters
- {tenant}: The name of the current tenant.
You can use several query parameters to modify the results:
- Expanding: Use the expand parameter to include additional customer information.
- Paging, filtering, sorting: You can add additional query parameters to your request. This works as a filter according to specific fields. Use these parameters to:
- Set the number of items to be displayed on one page.
- Filter your results by selected fields.
- Sort the results.
For more information about query parameters, see Use Query Parameters.
Response
A successful response includes a status code of 200
to indicate that the list of customers has been successfully retrieved.
Also, if you set the totalCount query parameter to true
in your request, the header that contains the total number of results is returned. This example is a use case for results consisting of two entries.
[
{
"email": "muster@yaastest.com",
"name": "Max Muster",
"type": "BUYER"
},
{
"email": "john.doe@yaastest.com",
"name": "John Doe",
"type": "BUYER"
}
]
If there are a significant number of results, the query parameters provide convenient tools to better organize the search results. For more information about query parameters, see Use Query Parameters.
Get Specific Customer Account
Merchants can retrieve the details of any customer account in a particular tenant. The request body does not need to contain any information. All the necessary data is sent together with the query parameter and message headers.
Request
To get a customer account, you need:
- Method: GET
- Request URL:
https://api.beta.yaas.io/hybris/customer/v1/{tenant}/customers/{customerNumber}
Each customer is given an identifying number. You can use this number in your query to retrieve the account data of a single customer. - Authorization: You must provide a proper scope that enables users to perform these operations. The 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 Authorization.
- URL Path Parameters:
- {tenant}: The name of the current tenant.
- {customerNumber}: The unique identifier of the customer.
- Query Parameters:
- expand: You can use this parameter to include additional customer information. For more information about this parameter, see Expanding Customer Information.
Response
A successful response includes a code of 200
.
The successful response contains the requested customer profile data. For example:
{
"customerNumber": "C123456",
"firstName": "Joe",
"lastName": "Doe"
}
Use Query Parameters
You can use several query parameters to influence the way your results are displayed. You can control the sort order and the number of results displayed per page. You can also apply filters based on the selected attributes.
Paging results
You can set parameters for paging results for methods that return more than one value, such as a GET applied on the https://api.beta.yaas.io/hybris/customer/v1/{tenant}/customers
resource. There are two parameters that can be used for paging results:
- pageSize: Defines the number of result entries allocated to one page. If there are more results than a single page can hold, additional pages become available.
- pageNumber: Defines the page number to be retrieved. Page numbering starts with 1.
URL example
This example displays three accounts per single page, and the third page of results is displayed: https://api.beta.yaas.io/hybris/customer/v1/{tenant}/customers/?pageNumber=3&pageSize=3
Sorting results
You can set parameters to filter the results for methods that return more than one value, such as a GET applied on the https://api.beta.yaas.io/hybris/customer/v1/{tenant}/customers
resource. You can sort the results using the product attributes as a sort criteria. To sort the results, append one or more sort properties to the URL. By default, the values are sorted in an ascending order. However, this can be changed. For example, sorting by email:
- Ascending:
https://api.beta.yaas.io/hybris/customer/v1/{tenant}/customers?sort=email:asc
- Descending:
https://api.beta.yaas.io/hybris/customer/v1/{tenant}/customers?sort=email:desc
You can sort the results by more than one criterion. To do so, use the list of the comma-separated properties.
Filtering results
You can set parameters to filter results for methods that return more than one value, such as a GET applied on the https://api.beta.yaas.io/hybris/customer/v1/{tenant}/customers
resource. Generally, using a GET method on the https://api.beta.yaas.io/hybris/customer/v1/{tenant}/customers
resource returns all existing customer accounts. However, you can limit the number of results by providing certain parameters.
URL example
This example query displays all accounts belonging to customers with the name John Smith:
https://api.beta.yaas.io/hybris/customer/v1/{tenant}/customers/?q=name:"John Smith"
Total count of results info
This is a Boolean value you can use to determine if the total count of the results should be returned together with the response.
URL examples
https://api.beta.yaas.io/hybris/customer/v1/{tenant}/customers/?totalCount=false
https://api.beta.yaas.io/hybris/customer/v1/{tenant}/customers/?totalCount=true
Expanding customer information
When you retrieve customer data, you can include additional customer information, such as accounts or addresses. To do so, you need:
- Method: GET
- Query Parameter: expand
- Resources:
/{tenant}/customers
: Get extended data for all customers./{tenant}/customers/{customerNumber}
: Get extended data for a specific customer./{tenant}/me
: Get extended data for your own customer profile.
The expand parameter accepts several values:
- accounts: Returns customer profile information and a list of customer accounts, both social and internal.
- addresses: Returns a list of all customer addresses associated with the customer profile.
- defaultAddress: Returns a separate defaultAddress property that contains a single default address. If a default address does not exist, this property is not provided.
- mixin:name: Returns the information that has been defined in the mixin specified by its name.
- mixin:*: Returns the customer-related information that has been defined in mixins.
These comma-separated values can be used. For example:
https://api.beta.yaas.io/hybris/customer/v1/{tenant}/customers?expand=accounts,defaultAddress
- By default, the customer profile is always returned with accounts data.
- By default, addresses and defaultAddress are not returned. To get this data together with customer profile data, you must use the query parameter with the appropriate value, such as
expand=defaultAddress
. - By default, there is no mixin information that can be returned with the customer data.
Customer Login
Customers with accounts can log in to create and place orders, modify their profiles, and select a payment method.
Request
To log in, you need:
- Method: POST
- Request URL:
https://api.beta.yaas.io/hybris/customer/v1/{tenant}/login
- Authorization: You must provide a proper scope that enables users to perform these operations. The 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 Authorization.
- URL Path Parameters
- {tenant}: The name of the current tenant.
Example
In the message body, put an email address and password as shown in this example:
{
"email": "name.surname@yaastest.com",
"password": "secret"
}
Response
A successful response includes a status code of 200
and the authentication token as shown in this example:
{
"accessToken": "6fc4e4b08806b0d3ec"
}
Change Login Email
There are many reasons your customers may want to change their login email. Your task is to make sure the process is easy and safe. You do not let your customers simply change their login email unless they are verified and consciously confirm they understand what they do. Here is an example of how this goal is achieved:
- When a customer changes the login email, the customer is asked to provide the account password to confirm the email change.
- Once the customer has confirmed the email change by providing the account password, a confirmation email containing a link to confirm is sent to the new email address provided in previous step. Also a notification email is sent to the old address.
- Now, the customer should click the link included in the email to do the final confirmation of the login email change. Only after this, the login email address is updated in the system.
Two-step operation
There are two endpoints involved in the whole operation:
- One used to send a request for login email change
- One used to update the login email, after the request has been confirmed
Let's go through them one by one.
Request for login email change
First, a customer should make a request to change the login email. To make such a request, the following endpoint /{tenant}/me/accounts/internal/email/change
should be used. Scope: hybris.customer_edit_profile is required to make this request.
The request payload carries the following information: email, password, and newEmail. Let's see an example:
{
"email" : "noreply@yaastest.com",
"password": "s3cr3t",
"newEmail" : "pleasereply@yaastest.com"
}
In the payload, all fields are mandatory. If the operation is successful, the 204
status code is returned. If the specified newEmail
already exists, the 409
status code is returned.
Let's take a closer look at what actually happens during this operation:
- After the request is successfully made, an email is sent to the customer's new email address, that has been provided in the newEmail field.
- The email contains the confirmation URL. The URL must be configured by the tenant in the Configuration service.
- The configuration key is customer.changeemail.redirecturl. That is where the URL should be stored.
- Now, take a look at the link:
http://www.example.com/confirmChangeEmail.html?token={token}
- The
{token}
in the URL above should be replaced by the generated token. - The token mentioned above is valid only for 24 hours.
Confirm the change of the login email
The customer can confirm the changing of the login email address by making a POST request to the endpoint /{tenant}/me/accounts/internal/email/change/confirm
with a token in the payload. No scope is required to make this request. As soon as the customer confirms, the login email is changed.
The POST request consists of a simple payload that carries a valid token. As mentioned before, this token is valid only for 24 hours. After it expires, customers are no longer able to use it to change the login email.
{
"token" : "aCd35CzsAhKt6mKcfCVef54YvfdsfbewFaCd35CzsAhKt6mKcfCVef54YvfdsfbA"
}
In the token
field, in the payload, is mandatory. If the operation is successful, the 204
status code is returned.
After a customer confirms and the service updates the login email, a hybris.customer.customer-login-email-changed event is fired. The event payload consists of the following information:
- Customer number
- Old email address
- New email address
Synchronization of the login email and contact email
Optionally, you can also synchronize the existing contact email with a new login email by providing an additional, optional property in the payload. Let's see an example:
{
"email" : "noreply@yaastest.com",
"password": "s3cr3t",
"newEmail" : "pleasereply@yaastest.com",
"syncContactEmail": "true"
}
The first three properties are obligatory and have been presented in the sections above. The syncContactEmail property, however, is a new one here. It accepts a boolean value, true or false:
- If the property is set to true, then the contact email will be set to the new login email address after the login email is changed successfully. In other words, the contact email will be identical with the login email, after the login email change is confirmed.
- If the property is absent or it is set to false, then the contact email is not modified and only the login email address will be changed.
OAuth Logins
You can sign in using supported OAuth providers. This table shows the providers that are currently supported.
Provider | Provider ID |
---|---|
YaaS | yaas |
If the OAuth provider uses an email address to identify the person signing in it will be stored in the corresponding customer profile as contact email address. This is the case for Yaas. There is a time limit of 10 seconds after which an attempt to sign in a user via a social account will be aborted by the service.
Request
To use OAuth2 authorization, you must configure your client application for each provider.
- Method: POST
- Request URL:
https://api.beta.yaas.io/hybris/customer/v1/{tenant}/login/{providerId}
In the request body, put the accessToken your application receives from the social login provider, such as Facebook:
{
"accessToken": "BgQ75HNivPQ6TTrvwIrsuqSM2iENjhvu"
}
Response
A successful response includes a status code of 200
and the new authentication token from the Customer service that you can use to sign in. This is an example of a response:
{
"accessToken": "6fc4e4b08806b0d3ec"
}
Activate Customer Profile
When a customer creates a profile, the profile is active immediately by default. This can be modified later by a merchant. A merchant can deactivate any customer by updating the customer profile. Deactivated customers cannot:
- Log in to the tenant
- Reset their passwords
Request
To deactivate or activate a customer profile, you need:
- Method: PUT
- Request URL:
https://api.beta.yaas.io/hybris/customer/v1/{tenant}/customer/{customerNumber}
- Authorization: You must provide a proper scope that enables users to perform these operations. The 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 Authorization.
- URL Path Parameters:
- {tenant}: The name of the current tenant.
- {customerNumber}: The unique identifier of the customer.
Merchants can activate or deactivate a customer profile by changing the value of the active property. Technically, it can be described as updating the customer profile, where the only updated property is the active property.
Modify Password
You can update your password using a token or your old password for authorization.
Password update
To update a password, use:
- Request URL:
/{tenant}/password/update
- Method: POST
You must put these required entries in the request body:
- token: Password reset token that was sent via email
- password: New password
A successful response includes a status code of 204
, which means the password has been updated successfully.
Password change
To change a password, use:
- Request URL:
/{tenant}/password/change
- Method: POST
You must put these required entries in the request body:
- email: The email address associated with the account for which the password is being changed
- currentPassword: Current valid password
- newPassword: New password to be set
A successful response includes a status code of 204
, which means the password has been changed successfully.
Reset Customer Password
Customers can reset their passwords to regain access to their accounts. The workflow for this process is similar to this example:
- After a customer requests to reset their password, an email is sent that includes a link and a token to reset their password. The token can only be used once and is only valid for a short period of time, such as 24 hours.
- The customer clicks the link in the email and the service takes care of the rest using the POST method, URL, and the body content presented in the example.
- The link that points to the password reset form can be set up in the Configuration service with the help of the key customer.passwordreset.redirecturl. This is an example link:
http://www.example.com/resetPasswordForm.html?token=
Request
To reset the customer password, you need:
- Method: POST
- Request URL:
https://api.beta.yaas.io/hybris/customer/v1/{tenant}/password/reset
- Authorization: You must provide a proper scope that enables users to perform these operations. The 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 Authorization.
- URL Path Parameters
- {tenant}: The name of the current tenant.
Example
- Customers provide their unique identifier in the tenant. In this example, it is an email address that is unique to the tenant. The password-reset request is similar to this example:
{ "email": "noreply@yaastest.com" }
- Response to the successful request includes a code of
204
with no content.
Manage Social Logins
Add a social login
Customers can add social account logins to their account profiles. The process of adding social logins is controlled. For example:
- If the social login is already associated with a different profile, the request is rejected.
- The user must be authenticated to add a login to the profile.
Remove a social login
If you no longer need a social account to access your profile, you can remove it. In other words, you can disassociate your profile account from the social account login. There are several potential situations you may encounter when disconnecting a social account from your profile:
- You have several social logins associated with your profile.
- You have only one social login in the profile. In this case, the operation generates an error.
- You tried to remove a social login that does not exist in the profile. This generates an error.
Removing a social login
In this example, you have several social account logins, including a Facebook login. You want to unlink the Facebook account login from your profile. To do so, you need:
- Method: DELETE
- Request URL:
/{tenant}/me/accounts/facebook
- Authorization: You must provide a proper scope that enables users to perform these operations. The 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 Authorization.
- URL Path Parameters:
- {tenant}: Name of the current tenant.
- {providerId}: Social account identifier, in this case
facebook
.
A successful response includes a status code of 204 No Content
. This indicates that the server has successfully processed your request. The service does not return any content here. Any other social logins previously assigned to the customer profile remain unchanged.
After you have disassociated a social account login from your customer profile, you can no longer use this social login to access your profile.
Removing the last social login
In this example, you only have a Facebook account login linked to your customer profile and you want to remove this login. No other social account logins exist in your profile.
You perform the same operation as shown in the previous Removing a Social Login section, using the same methods, resource, headers, and other data. However, you cannot remove the last social login from your profile. If you try to do this, you receive the following error:
- status code:
400 Bad Request
- Response Body: Contains an error message that provides these elements:
- Type of error
- Status code number
- Error description
The result is that the last social account login for a customer profile cannot be deleted.
Removing a non-linked social login
In this example, you do not have any social account logins associated with your customer profile. However, if you try to remove the Facebook social login, an error is generated. See the Removing a Social Login and Removing the Last Social Login sections for details about the operation and a possible error explanation.
See social logins connected to an account
As a customer, you can see all social account logins associated with your profile. In this example, you create a new account:
- Log in using the Customer service with a social login provider, such as Facebook:
https://api.beta.yaas.io/hybris/customer/v1/{tenant}/customer/login/facebook
- POST
- Body contains the accessToken
- Headers provide authorization
- As a response, you get the accessToken that is associated with the social account login that has just been created and the corresponding profile that is assigned to this social account.
- The profile and social account login have been created. Now, you access the Customer profile and see the social account login assigned to your profile. To do so:
/me
- GET
- Authorization: You must provide a proper manage scope that enables the user to perform these operations. For example, you can use an Authorization header to send a valid OAuth 2.0 access token for authorization purposes.
- A successful response includes a status code of
200
and this message body:{ "id": "accessToken for social login", "customerNumber": "Customer Number", "preferredLanguage": "en_US", "preferredCurrency": "USD", "oAuthProviders": [ "Facebook": "Facebook App ID" ] }
- In the response, you can see the assignment of Facebook together with the Facebook app ID. It is assigned to your customer profile as one of the social account login providers that can be assigned to the profile.
- In this way, you can see all social login providers assigned to the customer profile. The list includes all assigned accounts and their types.
Retrieve Social Login Configuration
The Customer service can provide the social media login configuration in response to the request received from the storefront application. The response from the Customer service includes a Facebook App Id and a Google Client Id.
Both identifiers can be used for social login from the storefront application. This does not require any other authentication, so social login configuration is accessible for anonymous users.
The values for these two fields are to be set in the Configuration service, which is responsible for the management of the tenant and project related configuration.
The values can be provided via the Builder.
The keys are: facebook.app.id and google.client.id.
Request
To retrieve the configuration for the social media login providers, you need:
- Method: GET
- Request URL:
https://api.beta.yaas.io/hybris/customer/v1/{tenant}/loginconfig
Response
A successful response includes:
- status code:
200
- Response body: A JSON-formatted message containing all retrieved social media identifiers.
{ "facebookAppId" : "1112225435398760", "googleClientId" : "123424689777-git5emebgh3to7p1gscq2j9etsvmds4i.apps.googleusercontent.com" }
If a Facebook App Id or Google Client Id has not been set, then it is omitted from the response. If neither is set, then the response is an empty object.
Delete a Customer Profile
The Customer service allows customers to delete their profiles and associated accounts. A customer must be signed in to delete the profile and account from the Customer service. Here is the process for deleting a customer profile and account.
Request for the profile deletion
When the customer requests to delete the account, send a DELETE
request to the {tenant}/me endpoint
- Method: DELETE
- Request URL:
https://api.beta.yaas.io/hybris/customer/v1/{tenant}/me
- Authorization: You must provide a proper scope that enables users to perform these operations. The 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 Authorization.
- URL Path Parameters
- {tenant}: The name of the tenant.
- Scope:
hybris.customer_edit_profile
Response status code for successful request is 204
.
After a successful deletion request:
- The service sends an email to the customer, asking for the confirmation of the deletion
- The email contains a link with a token that the customer needs to open in order to confirm the deletion
- The token, in the link, is valid for 24 hours
- The email, asking for the confirmation of the deletion, is sent to:
- The sign-in email (username), if the customer has an internal account
- The contactEmail, if the customer does not have an internal account but the contactEmail is set
- Otherwise, the account is simply deleted without any confirmation email
Confirmation of the profile deletion
A customer can confirm the deletion of the profile by sending a DELETE
request with the token (received in the email) as a query parameter:
- Method: DELETE
- Request URL:
https://api.beta.yaas.io/hybris/customer/v1/{tenant}/me?token={token}
- Authorization: You must provide a proper scope that enables users to perform these operations. The 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 Authorization.
- URL Path Parameters
- {tenant}: The name of the tenant.
- Query parameter:
token={token}
: {token} is the token sent in the email asking for the confirmation.
If successful, the Customer service responds with a 202 Accepted
message.
The service deletes the customer's data asynchronously, in the background. That means that the deletion may happen after a short delay. As soon as the service accepts the delete request, the service fires the hybris.customer.customer-deleted event. The payload of this event includes the customerNumber
and email
address of the deleted customer, and the information who actually requested deletion - in this case it is the customer.
A sample payload of a customer-deleted event:
{
"customerNumber" : "C0123456789",
"email" : "user.name@yaastest.com",
"triggeredBy" : "C0123456789"
}
Delete a Customer Profile As Merchant
The Customer service now allows merchants to delete customer profiles and associated accounts. Here is the process for deleting a customer account.
Request for the profile deletion
When the merchant requests the deletion of a customer profile, he sends a DELETE
request to the /{tenant}/customers/{customerNumber} endpoint.
- Method: DELETE
- Request URL:
https://api.beta.yaas.io/hybris/customer/v1/{tenant}/customers/{customerNumber}
- Authorization: You must provide a proper scope that enables users to perform these operations. The 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 Authorization.
- URL Path Parameters
- {tenant}
- {customerNumber}
- Scope:
hybris.customer_update
ORhybris.customer_delete
Response status code for successful request is 202 Accepted
.
The service deletes the customer data asynchronously, in the background, and therefore no further action or communication is required. As soon as the service accepts the delete request, it fires the hybris.customer.customer-deleted event. The payload of this event contains the customerNumber
and, if available, the email' of the customer that is being deleted. Additionally, it contains the
hybris.user` that requested the deletion.
A sample payload of a customer-deleted event:
{
"customerNumber" : "C0123456789",
"email" : "ibuyalot@yaastest.com"
"triggeredBy" : "yaastest"
}
Error Types
For information about error codes, see the API Reference.
Glossary
Term | Description |
---|---|
mixin | Customizable definition of additional properties for the customer. One customer definition can use many mixins, and one mixin can be used by many customer definitions. |
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.