openapi: 3.0.1 info: title: Authentication description: "This is Intershop ICM REST API documentation. \n\nThis reference lists\ \ the REST API for storefront development. The REST API covers features of both,\ \ the B2C (SMB - Small and Medium-sized businesses) and the B2B storefront development.\ \ \nThis reference is intended for developers who want to make use of an easy-to-use\ \ API when developing frontend solutions.\nYou can find more information at [Intershop\ \ Communications](https://www.intershop.com). Contact our Intershop experts at\ \ [Support - Intershop Communications](https://www.intershop.com/en/support) \ \ \n\n# Introduction\nThis API is documented in **OpenAPI format**.\n\n" version: 1.0.0 servers: - url: /INTERSHOP/rest/{serverGroup}/{siteName}/{appUrl} description: Intershop ICM Server variables: serverGroup: description: The server group default: WFS siteName: description: The site name default: inSPIRED-inTRONICS-Site appUrl: description: The application URL identifier enum: - smb-responsive default: '-' tags: - name: 'Authentication Protocol: Identity Tokens' description: "# Authentication of REST-Requests\nSeveral API operations require\ \ an authenticated user. Intershop ICM REST API supports authentication using:\n\ - Token endpoint (supports password grant, refresh-token grant, client-authentication\ \ grant via basic authentication or bearer token)\n- Basic authentication\n- Header\ \ ```authentication-token```\n\n## Authentication via Token\nTokens are encoded\ \ or signed strings that can be used to authenticate a REST request. Tokens are\ \ submitted using the header ```Authorization``` containing the word **Bearer**\ \ followed by space and the token string.\nAlternatively the header ```authentication-token```\ \ containing the user token can be used.\n\n## Token Creation via Token Endpoint\n\ The token endpoint is used to create tokens that are used in subsequent requests\ \ as authentication token. The user can authenticate using:\n- Username and password\n\ - Anonymous user\n- Basic authentication\n- Refresh token\nThe response will contain\ \ a set of tokens that should be used to authenticate subsequent requests. Along\ \ with ID- and access-tokens a refresh token is returned. Use the received refresh\ \ token to renew expired tokens to authenticate further requests.\nAlong with\ \ the token, expiration times are given in the token set response. ID and access\ \ tokens cannot be used after this expiration time. \n\n## Implicit Token Creation\n\ Every REST endpoint supports authentication using basic authentication. To authenticate\ \ the client, send the users credentials with the header ```Authorization``` that\ \ contains the word **Basic** followed by space and a base64-encoded string username:password.\n\ The response of such a request includes a header ```authentication-token``` containing\ \ the user token. If the server does not support JWT (JSON Web Token) each response\ \ of the REST request will contain the header ```authentication-token``` which\ \ should replace former tokens since it contains an updated expiration time.\n\ \n> *Note:*\n> REST endpoints that support Web-Adapter-cached responses cannot\ \ be used for implicit token creation. \n> If the server supports JWT token\ \ as user token, implicit token creation should not be used because the token\ \ will not renew. \n\n# Token Creation Endpoint\n\nThis API can be used to\ \ create access and identity tokens which allow clients to securely call protected\ \ APIs.\nClients request tokens that can be used in the 'Authorization' header\ \ so the server grants access to a particular resource which will be invoked in\ \ the context of the encoded user-identity.\n\n> # Example Use Case\n> - Client\ \ logs in a user with name and password. The client uses the received ID-token\ \ for subsequent requests and stores the refresh-token for further use:\n> ```\n\ > curl http:///INTERSHOP/rest/WFS//-/token -X POST -d \"grant_type=password&username=&password=&organization=\"\ \n> ```\n> - The client renews the ID-token using the refresh-token if it is expired\ \ or about to expire:\n> Creates a set of tokens based on a refresh token:\n>\ \ ```\n> curl http:///INTERSHOP/rest/WFS//-/token -X POST -d \"\ grant_type=refresh_token&refresh_token=\n> ```\n> - The client\ \ logs out the user (this will expire refresh-tokens):\n> ```\n> curl http:///INTERSHOP/rest/WFS//-/logout\ \ -X PUT -H \"Authorization:Basic \"\n> ```\n" x-priority: "100" x-origin-class: com.intershop.beehive.platformrest.resource.auth.TokenResource - name: Identity Provider Configurations description: | # Identity Provider Configurations End Point Identity providers are used to authenticate users. Clients can use this endpoint in order to receive all identity providers that are available for an organization. Typically, this information can be used to enable a user to log on to the ICM back office or the storefront. There might be different types of identity providers. The type *local* is used for the standard internal ICM user login handling which is most often represented by a login form and completely handled by ICM server. However, other types include *oidc* for OpenID Connect compatible providers which can be used for single sign-on scenarios. ## Example Usage The following example shows how to retrieve identity providers for organization *Operations*: ``` curl https:///INTERSHOP/rest/WFS//-/identityproviderconfigurations/Operations ``` x-origin-class: com.intershop.beehive.platformrest.resource.identity.IdentityProviderConfigurationResource - name: Public Keys description: "# Public Keys\nICM JWT tokens are signed using keys. An asymmetric\ \ signature uses a public/private key pair. A signature that was generated with\ \ a private key can be verified with the public key.\nThis API allows clients\ \ to get the public keys the server uses. \n\n## Examples\n# Get all public keys:\n\ ```\ncurl https:///INTERSHOP/rest/WFS//-/keys \n\n---\nExample Response:\n\ \t{\n\t \"keys\": [\n\t {\n\t \"kty\": \"OKP\",\n\t \"use\": \"\ sig\",\n\t \"crv\": \"Ed25519\",\n\t \"kid\": \"FUCsFd.hcIIAAAFzAEx5sJAu\"\ ,\n\t \"x\": \"AeasbZjilrI2pnlJ6gH91BbBP_1CdTQl0EaU_Wr1G6Y\"\n\t },\n\t\ \ {\n\t \"kty\": \"OKP\",\n\t \"use\": \"sig\",\n\t \"crv\"\ : \"Ed25519\",\n\t \"kid\": \"rA.sFd.hIswAAAFzwEp5sJAu\",\n\t \"x\"\ : \"8Vpyz4Y95iZpz88HKh2xtgRgYMh8Rj-4zXpI6LNtJPU\"\n\t }\n\t ]\n\t}\n``` \n\ \n# Following Java code shows how an ID-token can be parsed and verified:\n\n\ ```java\nimport java.text.ParseException;\nimport java.util.Objects;\n\nimport\ \ javax.ws.rs.client.ClientBuilder;\nimport javax.ws.rs.core.MediaType;\n\nimport\ \ com.nimbusds.jose.JOSEException;\nimport com.nimbusds.jose.JWSAlgorithm;\nimport\ \ com.nimbusds.jose.JWSHeader;\nimport com.nimbusds.jose.crypto.Ed25519Verifier;\n\ import com.nimbusds.jose.jwk.JWK;\nimport com.nimbusds.jose.jwk.JWKSet;\nimport\ \ com.nimbusds.jwt.SignedJWT;\n\n/**\n * This example illustrates how to verify\ \ an ID-token that was signed using a private key.\n */\npublic class VerifyTokenExample\n\ {\n /**\n * Verifies a signed token using the JSON web-key from the tokens\ \ header.\n * \n * @param idToken the token\n * \n * @return true\ \ if the token is valid, false otherwise\n * @throws ParseException\ \ if the token could not the parsed\n * @throws JOSEException\n */\n \ \ public boolean verifyTokenWithJWKinHeader(String idToken) throws ParseException,\ \ JOSEException\n {\n // parse the token into a SignedJWT\n SignedJWT\ \ jwt = SignedJWT.parse(idToken);\n\n JWSHeader header = jwt.getHeader();\n\ \n // can only verify asymmetric key\n if (JWSAlgorithm.EdDSA.equals(header.getAlgorithm())\ \ && null != header.getJWK())\n {\n // get key from header and\ \ verify\n return jwt.verify(new Ed25519Verifier(header.getJWK()\n\ \ .toOctetKeyPair()));\n }\n return true;\n\ \ }\n\n /**\n * Verifies a signed token using the JSON web-key resolved\ \ by the key URI from the tokens header.\n * \n * @param idToken the token\n\ \ * \n * @return true if the token is valid, false\ \ otherwise\n * @throws ParseException if the token could not the parsed\n\ \ * @throws JOSEException\n */\n public boolean verifyTokenWithJWKFromJKU(String\ \ idToken) throws ParseException, JOSEException\n {\n // parse the token\ \ into a SignedJWT\n SignedJWT jwt = SignedJWT.parse(idToken);\n\n \ \ JWSHeader header = jwt.getHeader();\n\n // can only verify asymmetric\ \ key\n if (JWSAlgorithm.EdDSA.equals(header.getAlgorithm()) && null !=\ \ header.getJWKURL())\n {\n // read the key, URI should be present\ \ in claim 'jku'\n String key = ClientBuilder.newClient()\n \ \ .target(header.getJWKURL())\n \ \ .request(MediaType.APPLICATION_JSON_TYPE)\n .get(String.class);\n\ \n // get key from resource and verify\n JWK jwk = JWK.parse(key);\n\ \n return jwt.verify(new Ed25519Verifier(jwk.toOctetKeyPair()));\n\ \ }\n return true;\n }\n\n /**\n * Verifies a signed token\ \ using the JSON web-key resolved using the 'keys'-endpoint.\n * \n *\ \ @param idToken the token\n * \n * @return true if the token\ \ is valid, false otherwise\n * @throws ParseException if the\ \ token could not the parsed\n * @throws JOSEException\n */\n public\ \ boolean verifyTokenWithJWKFromKeysWithKidResource(String idToken) throws ParseException,\ \ JOSEException\n {\n // parse the token into a SignedJWT\n SignedJWT\ \ jwt = SignedJWT.parse(idToken);\n\n JWSHeader header = jwt.getHeader();\n\ \n // can only verify asymmetric key\n if (JWSAlgorithm.EdDSA.equals(header.getAlgorithm()))\n\ \ {\n // read the key from the keys resource\n String\ \ key = ClientBuilder.newClient()\n .target(getKeysURI())\n\ \ // add key id\n .path(header.getKeyID())\n\ \ .request(MediaType.APPLICATION_JSON_TYPE)\n \ \ .get(String.class);\n\n // get key from resource\ \ and verify\n JWK jwk = JWK.parse(key);\n\n return jwt.verify(new\ \ Ed25519Verifier(jwk.toOctetKeyPair()));\n }\n return true;\n \ \ }\n\n /**\n * Verifies a signed token using the JSON web-key resolved\ \ using the 'keys'-endpoint.\n * \n * @param idToken the token\n *\ \ \n * @return true if the token is valid, false\ \ otherwise\n * @throws ParseException if the token could not the parsed\n\ \ * @throws JOSEException\n */\n public boolean verifyTokenWithJWKFromKeysResource(String\ \ idToken) throws ParseException, JOSEException\n {\n // parse the token\ \ into a SignedJWT\n SignedJWT jwt = SignedJWT.parse(idToken);\n\n \ \ JWSHeader header = jwt.getHeader();\n\n // can only verify asymmetric\ \ key\n if (JWSAlgorithm.EdDSA.equals(header.getAlgorithm()))\n \ \ {\n // read the key from the keys resource\n String keys\ \ = ClientBuilder.newClient()\n .target(getKeysURI())\n\ \ .request(MediaType.APPLICATION_JSON_TYPE)\n \ \ .get(String.class);\n\n // get key from resource\ \ and verify\n JWKSet jwkSet = JWKSet.parse(keys);\n\n JWK\ \ jwk = Objects.requireNonNull(jwkSet.getKeyByKeyId(header.getKeyID()),\n \ \ \"Could not resolve key with id \" + header.getKeyID());\n\ \n return jwt.verify(new Ed25519Verifier(jwk.toOctetKeyPair()));\n\ \ }\n return true;\n }\n\n String getKeysURI()\n {\n \ \ return \"https://localhost/INTERSHOP/rest/WFS/inSPIRED/-/keys/\";\n \ \ }\n\n}\n```" x-origin-class: com.intershop.beehive.platformrest.resource.keys.KeyResource - name: Process ID JSON Web Token description: |- # Identity JSON Web Token Processing Processes an identity **JSON web token**. Allows clients to explicitly create users or customers associated with identity providers. x-origin-class: com.intershop.beehive.platformrest.resource.user.UserTokenResource paths: /token: post: tags: - 'Authentication Protocol: Identity Tokens' summary: Creates a new set of tokens. description: | # Token Creation Creates a set of **tokens**. The given authorization grant determines for which identity the tokens are created. Following authorization grants are supported: # Authorization Grants ## Anonymous Creates a set of tokens for an **anonymous** user. Example call with no form data: ``` curl https:///INTERSHOP/rest/WFS//-/token -X POST ``` Alternatively the grant_type can be submitted: ``` curl https:///INTERSHOP/rest/WFS//-/token -X POST -d "grant_type=anonymous" ``` # Password Creates a set of tokens for a user that authenticates via user name and password (and organization, defaults to the sites default organization): ``` curl http:///INTERSHOP/rest/WFS//-/token -X POST -d "grant_type=password&username=&password=&organization=" ``` # Client Credentials Creates a set of tokens for a user that authenticates using e.g. basic authentication (user name and password given Base64 encoded , here: admin:!InterShop00!): ``` curl http:///INTERSHOP/rest/WFS//-/token -X POST -d "grant_type=client_credentials&organization=" -H "Authorization:Basic YWRtaW46IUludGVyU2hvcDAwIQ==" ``` # Refresh Token Creates a set of tokens based on a refresh token: ``` curl http:///INTERSHOP/rest/WFS//-/token -X POST -d "grant_type=refresh_token&refresh_token= ``` operationId: token requestBody: content: application/x-www-form-urlencoded: schema: anyOf: - $ref: '#/components/schemas/AnonymousGrant' - $ref: '#/components/schemas/PasswordGrant' - $ref: '#/components/schemas/RefreshGrant' - $ref: '#/components/schemas/ClientCredentialsGrant' responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/TokenRO' 401: description: Unauthorized 400: description: Bad request x-priority: "100" x-origin-method: public com.intershop.beehive.platformrest.resource.auth.TokenRO com.intershop.beehive.platformrest.resource.auth.TokenResource.token(javax.ws.rs.core.MultivaluedMap) x-origin-class: com.intershop.beehive.platformrest.resource.auth.TokenResource /captcha: get: tags: - Captcha summary: get captcha code description: |- Responds with script snippet containing CAPTCHA challenge. Workflow: - Send a request to a protected resource. - Detect the status 401 Authorization required. - Determine the authentication scheme and the necessary parameters. - Display the CAPTCHA a human user can solve. - Re-send the request including the CAPTCHA challenge and solution. At least on CAPTCHA service must be configured as enabled for the application/site. Otherwise the resource will return an error. operationId: getCaptchaCode responses: 200: description: OK content: '*/*': schema: type: string 500: description: |- Internal Server Error response headers will include required fields: `RequiredFields: recaptcha_challenge_field,recaptcha_response_field` security: - bearerAuth: [] - basicAuth: [] - authToken: [] x-origin-method: public java.lang.String com.intershop.sellside.rest.common.capi.resource.CaptchaResource.getCaptchaCode() x-origin-class: com.intershop.sellside.rest.common.capi.resource.CaptchaResource /customers/{CustomerKey}/users/{CustomerItemUserKey}/credentials/login: put: tags: - Credentials summary: Update login description: Updates the login of the currently logged in user with a new one. operationId: updateLogin_1 parameters: - name: CustomerKey in: path description: The key or UUID to resolve a single item required: true schema: type: string example: ExampleKey x-item-key: com.intershop.sellside.rest.smb.capi.resource.customer.CustomerListResource - name: CustomerItemUserKey in: path description: The key or UUID to resolve a single item required: true schema: type: string example: ExampleKey x-item-key: com.intershop.sellside.rest.smb.capi.resource.user.CustomerItemUserListResource requestBody: content: application/json: schema: $ref: '#/components/schemas/CustomerLoginRO' text/xml: schema: $ref: '#/components/schemas/CustomerLoginRO' responses: 204: description: No content 401: description: Unauthorized 400: description: |- Bad request possible values for header error-key: - customer.credentials.missing_fields.error - customer.credentials.invalid_fields.error security: - bearerAuth: [] - basicAuth: [] - authToken: [] x-origin-method: public void com.intershop.sellside.rest.common.capi.resource.customer.credentials.CustomerLoginItemResource.updateLogin(com.intershop.sellside.rest.common.capi.resourceobject.CustomerLoginRO) x-origin-class: com.intershop.sellside.rest.common.capi.resource.customer.credentials.CustomerLoginItemResource /customers/{CustomerKey}/users/{CustomerItemUserKey}/credentials/password: put: tags: - Security - Credentials summary: Update password description: Updates the password of the currently logged in customer with a new one. operationId: updatePassword_1 parameters: - name: CustomerKey in: path description: The key or UUID to resolve a single item required: true schema: type: string example: ExampleKey x-item-key: com.intershop.sellside.rest.smb.capi.resource.customer.CustomerListResource - name: CustomerItemUserKey in: path description: The key or UUID to resolve a single item required: true schema: type: string example: ExampleKey x-item-key: com.intershop.sellside.rest.smb.capi.resource.user.CustomerItemUserListResource requestBody: content: application/json: schema: $ref: '#/components/schemas/CustomerPasswordRO' text/xml: schema: $ref: '#/components/schemas/CustomerPasswordRO' responses: 204: description: No content 401: description: Unauthorized 400: description: |- Bad request possible values for header error-key: - customer.credentials.missing_fields.error - customer.credentials.invalid_fields.error security: - bearerAuth: [] - basicAuth: [] - authToken: [] x-origin-method: public void com.intershop.sellside.rest.common.capi.resource.customer.credentials.CustomerPasswordItemResource.updatePassword(com.intershop.sellside.rest.common.capi.resourceobject.CustomerPasswordRO) x-origin-class: com.intershop.sellside.rest.common.capi.resource.customer.credentials.CustomerPasswordItemResource /customers/{CustomerKey}/users/{CustomerItemUserKey}/credentials/question: put: tags: - Security - Credentials summary: Update security question description: |- Updates the security question of the currently logged in customer. The key of the security question should be submitted. A client could get the list of possible keys from /securiry/questions resource. operationId: updateSecurityQuestion_1 parameters: - name: CustomerKey in: path description: The key or UUID to resolve a single item required: true schema: type: string example: ExampleKey x-item-key: com.intershop.sellside.rest.smb.capi.resource.customer.CustomerListResource - name: CustomerItemUserKey in: path description: The key or UUID to resolve a single item required: true schema: type: string example: ExampleKey x-item-key: com.intershop.sellside.rest.smb.capi.resource.user.CustomerItemUserListResource requestBody: content: application/json: schema: $ref: '#/components/schemas/SecurityQuestionRO' text/xml: schema: $ref: '#/components/schemas/SecurityQuestionRO' responses: 204: description: No content 400: description: Bad request 401: description: Unauthorized security: - bearerAuth: [] - basicAuth: [] - authToken: [] x-origin-method: public void com.intershop.sellside.rest.common.capi.resource.customer.credentials.CustomerSecurityQuestionItemResource.updateSecurityQuestion(com.intershop.sellside.rest.common.capi.resourceobject.SecurityQuestionRO) throws com.intershop.beehive.core.capi.pipeline.PipeletExecutionException x-origin-class: com.intershop.sellside.rest.common.capi.resource.customer.credentials.CustomerSecurityQuestionItemResource /identityproviderconfigurations/{organizationKey}: get: tags: - Identity Provider Configurations summary: Returns a list of identity provider configurations description: This operation returns the identity providers that are available for an organization. operationId: getConfigurations parameters: - name: organizationKey in: path description: The key of organization required: true schema: type: string description: The key of organization - name: providerType in: query description: The provider type. If used only matching configurations will be returned. schema: type: string description: The provider type. If used only matching configurations will be returned. responses: 200: description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/IdentityProviderConfigurationRO' 404: description: Not found x-origin-method: public java.util.List com.intershop.beehive.platformrest.resource.identity.IdentityProviderConfigurationResource.getConfigurations(java.lang.String,java.lang.String) x-origin-class: com.intershop.beehive.platformrest.resource.identity.IdentityProviderConfigurationResource /identityproviderconfigurations/{organizationKey}/{providerKey}: get: tags: - Identity Provider Configurations summary: Returns an identity provider configuration description: This operation returns the identity providers that are available for an organization. operationId: getConfiguration parameters: - name: organizationKey in: path description: The key of organization required: true schema: type: string description: The key of organization - name: providerKey in: path description: The key of the configuration required: true schema: type: string description: The key of the configuration responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/IdentityProviderConfigurationRO' 404: description: Not found x-origin-method: public com.intershop.beehive.platformrest.resource.identity.IdentityProviderConfigurationRO com.intershop.beehive.platformrest.resource.identity.IdentityProviderConfigurationResource.getConfiguration(java.lang.String,java.lang.String) x-origin-class: com.intershop.beehive.platformrest.resource.identity.IdentityProviderConfigurationResource /keys: get: tags: - Public Keys summary: Returns public keys description: This operation returns a set of *public* keys as JSON Web key (JWT) that can be used to verify signatures generated by ICM server. externalDocs: description: JSON Web Key (JWK) (RFC 7517) url: https://tools.ietf.org/html/rfc7517 operationId: keySet responses: 200: description: OK content: application/json: schema: type: array description: OK items: $ref: '#/components/schemas/JSONWebKey' x-origin-method: public net.minidev.json.JSONObject com.intershop.beehive.platformrest.resource.keys.KeyResource.keySet() x-origin-class: com.intershop.beehive.platformrest.resource.keys.KeyResource /keys/{keyID}: get: tags: - Public Keys summary: Returns a public key description: This operation returns the *public* key as JSON Web key (JWT) with the given key id (claim ```kid```). operationId: key parameters: - name: keyID in: path description: The key ID required: true schema: type: string description: The key ID responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/JSONWebKey' 404: description: Not found. A JWT with the given key could not be found. Note that expired keys will be deleted from the system after a certain duration. x-origin-method: public net.minidev.json.JSONObject com.intershop.beehive.platformrest.resource.keys.KeyResource.key(java.lang.String) x-origin-class: com.intershop.beehive.platformrest.resource.keys.KeyResource /logout: put: tags: - 'Authentication Protocol: Identity Tokens' summary: Logs out the current user. description: Logs out the current user as associated with the given authentication token (as header). All (refresh) tokens issued for this user will expire and invalidated. operationId: logout responses: 204: description: No content 401: description: Unauthorized x-origin-method: public void com.intershop.beehive.platformrest.resource.auth.TokenResource.logout() x-origin-class: com.intershop.beehive.platformrest.resource.auth.TokenResource /personalization: get: tags: - Personalization summary: Returns a unique personalization ID based on user credentials operationId: getPersonalizationInfo responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/PersonalizationRO' text/xml: schema: $ref: '#/components/schemas/PersonalizationRO' 401: description: Unauthorized security: - bearerAuth: [] - basicAuth: [] - authToken: [] x-origin-method: public com.intershop.sellside.rest.common.capi.resourceobject.PersonalizationRO com.intershop.sellside.rest.common.capi.resource.PersonalizationResource.getPersonalizationInfo() x-origin-class: com.intershop.sellside.rest.common.capi.resource.PersonalizationResource /privatecustomers/{CustomerKey}/credentials/login: put: tags: - Credentials summary: Update login description: Updates the login of the currently logged in user with a new one. operationId: updateLogin parameters: - name: CustomerKey in: path description: The key or UUID to resolve a single item required: true schema: type: string example: ExampleKey x-item-key: com.intershop.sellside.rest.b2c.capi.resource.customer.PrivateCustomerListResource requestBody: content: application/json: schema: $ref: '#/components/schemas/CustomerLoginRO' text/xml: schema: $ref: '#/components/schemas/CustomerLoginRO' responses: 204: description: No content 401: description: Unauthorized 400: description: |- Bad request possible values for header error-key: - customer.credentials.missing_fields.error - customer.credentials.invalid_fields.error security: - bearerAuth: [] - basicAuth: [] - authToken: [] x-origin-method: public void com.intershop.sellside.rest.common.capi.resource.customer.credentials.CustomerLoginItemResource.updateLogin(com.intershop.sellside.rest.common.capi.resourceobject.CustomerLoginRO) x-origin-class: com.intershop.sellside.rest.common.capi.resource.customer.credentials.CustomerLoginItemResource /privatecustomers/{CustomerKey}/credentials/password: put: tags: - Security - Credentials summary: Update password description: Updates the password of the currently logged in customer with a new one. operationId: updatePassword parameters: - name: CustomerKey in: path description: The key or UUID to resolve a single item required: true schema: type: string example: ExampleKey x-item-key: com.intershop.sellside.rest.b2c.capi.resource.customer.PrivateCustomerListResource requestBody: content: application/json: schema: $ref: '#/components/schemas/CustomerPasswordRO' text/xml: schema: $ref: '#/components/schemas/CustomerPasswordRO' responses: 204: description: No content 401: description: Unauthorized 400: description: |- Bad request possible values for header error-key: - customer.credentials.missing_fields.error - customer.credentials.invalid_fields.error security: - bearerAuth: [] - basicAuth: [] - authToken: [] x-origin-method: public void com.intershop.sellside.rest.common.capi.resource.customer.credentials.CustomerPasswordItemResource.updatePassword(com.intershop.sellside.rest.common.capi.resourceobject.CustomerPasswordRO) x-origin-class: com.intershop.sellside.rest.common.capi.resource.customer.credentials.CustomerPasswordItemResource /privatecustomers/{CustomerKey}/credentials/question: put: tags: - Security - Credentials summary: Update security question description: |- Updates the security question of the currently logged in customer. The key of the security question should be submitted. A client could get the list of possible keys from /securiry/questions resource. operationId: updateSecurityQuestion parameters: - name: CustomerKey in: path description: The key or UUID to resolve a single item required: true schema: type: string example: ExampleKey x-item-key: com.intershop.sellside.rest.b2c.capi.resource.customer.PrivateCustomerListResource requestBody: content: application/json: schema: $ref: '#/components/schemas/SecurityQuestionRO' text/xml: schema: $ref: '#/components/schemas/SecurityQuestionRO' responses: 204: description: No content 400: description: Bad request 401: description: Unauthorized security: - bearerAuth: [] - basicAuth: [] - authToken: [] x-origin-method: public void com.intershop.sellside.rest.common.capi.resource.customer.credentials.CustomerSecurityQuestionItemResource.updateSecurityQuestion(com.intershop.sellside.rest.common.capi.resourceobject.SecurityQuestionRO) throws com.intershop.beehive.core.capi.pipeline.PipeletExecutionException x-origin-class: com.intershop.sellside.rest.common.capi.resource.customer.credentials.CustomerSecurityQuestionItemResource /security/password: post: tags: - Security summary: Reset password of registered user. description: |- If the client submits a valid user ID and secure code then password of the related user will be reset to the provided new password value. User ID and secure hash code are available in the "Change Password" link of password reminder e-mail, send to the user. operationId: resetPassword requestBody: description: Request body containing user identification and new password. content: application/json: schema: $ref: '#/components/schemas/PasswordResetRO' text/xml: schema: $ref: '#/components/schemas/PasswordResetRO' responses: 204: description: Password reset finished successfully. No content in the response body. 400: description: |- Bad request in case when submitted data is missing or invalid. userID should represent registered and non disabled user in the current application. Provided secure code should match to the secure code of the related user generated when sending Password Reminder e-mail. Secure code should not be expired at the time this REST call is made. New Password provided should match to the password validation rules configured for the current application. Possible values for header error-key: - customer.credentials.passwordreset.missing_fields.error - customer.credentials.passwordreset.invalid_fields.error - customer.credentials.passwordreset.invalid_password.error.PasswordExpressionViolation - customer.credentials.passwordreset.invalid_password.error.PasswordRecentlyUsed 403: description: In case of expired secure code for reset password. 422: description: If for some reason valid new password could not be stored x-origin-method: public void com.intershop.sellside.rest.common.capi.resource.credentials.PasswordResetResource.resetPassword(com.intershop.sellside.rest.common.capi.resourceobject.PasswordResetRO) x-origin-class: com.intershop.sellside.rest.common.capi.resource.credentials.PasswordResetResource /security/questions: get: tags: - Security summary: Get list of security questions operationId: getSecurityQuestions responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/SecurityQuestionsCollectionRO' text/xml: schema: $ref: '#/components/schemas/SecurityQuestionsCollectionRO' security: - bearerAuth: [] - basicAuth: [] - authToken: [] x-origin-method: public com.intershop.sellside.rest.common.capi.resource.credentials.SecurityQuestionListResource$SecurityQuestionsCollectionRO com.intershop.sellside.rest.common.capi.resource.credentials.SecurityQuestionListResource.getSecurityQuestions() x-origin-class: com.intershop.sellside.rest.common.capi.resource.credentials.SecurityQuestionListResource /security/reminder: post: tags: - Security summary: Request password reminder e-mail description: |- If the client submits a login e-mail address, first and last name and the answer to the security question set during the registration then an e-mail will be sent to the customer, or customer's user, containing a link to reset their password. This feature depends on correctly configured preferences for "Forgotten password" functionality and "SecurityQuestion". operationId: sendPassword requestBody: content: application/json: schema: $ref: '#/components/schemas/PasswordReminderRO' text/xml: schema: $ref: '#/components/schemas/PasswordReminderRO' responses: 200: description: OK 400: description: |- Bad request in case when submitted data is missing or invalid 500: description: Internal Server Error security: - bearerAuth: [] - basicAuth: [] - authToken: [] x-origin-method: public void com.intershop.sellside.rest.common.capi.resource.credentials.PasswordReminderResource.sendPassword(com.intershop.sellside.rest.common.capi.resourceobject.PasswordReminderRO) x-origin-class: com.intershop.sellside.rest.common.capi.resource.credentials.PasswordReminderResource /token/logout: put: tags: - 'Authentication Protocol: Identity Tokens' summary: Revokes a token. description: Revokes the token given as authentication token (as header). This is equivalent with the ~~~logout~~~ end-point, so it logs out the current user. All (refresh) tokens issued for this user will expire and invalidated. operationId: logout responses: 204: description: No content 401: description: Unauthorized x-origin-method: public void com.intershop.beehive.platformrest.resource.auth.TokenResource.tokenLogout() x-origin-class: com.intershop.beehive.platformrest.resource.auth.TokenResource /users/processtoken: post: tags: - Process ID JSON Web Token operationId: processIDToken requestBody: content: application/json: schema: $ref: '#/components/schemas/IDTokenRO' responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/UserRO' 201: description: Created content: application/json: schema: $ref: '#/components/schemas/UserRO' 401: description: Unauthorized x-origin-method: public javax.ws.rs.core.Response com.intershop.beehive.platformrest.resource.user.UserTokenResource.processIDToken(com.intershop.beehive.platformrest.resource.user.IDTokenRO) x-origin-class: com.intershop.beehive.platformrest.resource.user.UserTokenResource components: schemas: CustomerPasswordRO: type: object properties: name: type: string description: The name of an element. xml: attribute: true type: type: string description: 'The type of the object. This is normally a **constant** that can be used to differentiate objects by their type. ' readOnly: true xml: attribute: true password: type: string description: new password example: InterShop00 currentPassword: type: string description: current password example: '!InterShop00!' xml: name: CustomerPassword CustomerLoginRO: type: object properties: name: type: string description: The name of an element. xml: attribute: true type: type: string description: 'The type of the object. This is normally a **constant** that can be used to differentiate objects by their type. ' readOnly: true xml: attribute: true login: type: string description: the login used for authentication example: pmiller@test.intershop.de xml: name: CustomerLogin SecurityQuestionRO: type: object properties: name: type: string description: The name of an element. xml: attribute: true type: type: string description: 'The type of the object. This is normally a **constant** that can be used to differentiate objects by their type. ' example: SecurityQuestion xml: attribute: true text: type: string description: the text of the security question example: What is your pet's name? key: type: string description: the key of the security question example: account.security_question.pet_name.text xml: name: SecurityQuestion IdentityProviderConfigurationRO: title: IdentityProviderConfiguration type: object properties: key: type: string description: The key of this identity provider configuration example: uniqueKey name: type: string description: The name of this identity provider configuration example: display name type: type: string description: The type of this identity provider configuration example: local description: Properties of an identity provider. AnonymousGrant: title: Anonymous User Grant type: object properties: grant_type: type: string description: The grant type. If set to **anonymous**, a new token for an anonymous user will be created. example: anonymous enum: - anonymous description: Use this grant with optional grant_type **anonymous** to create new tokens an anonymous user. PasswordGrant: title: Password Grant type: object properties: grant_type: type: string description: The grant type. If set to **password**, the user credentials and organization has to be passed in as form parameters 'username', 'password' and 'organization'. example: password enum: - password username: type: string description: user login name password: type: string description: user password organization: type: string description: The user login organization. example: inSPIRED description: Use this grant with grant_type **password** to create new tokens based on login credentials of a user. The user credentials and organization has to be passed in as form parameters 'username', 'password' and 'organization'. RefreshGrant: title: Refresh Token Grant type: object properties: grant_type: type: string description: The grant type. If set to **refresh_token**, the refresh token has to be present in form parameter 'refresh_token'. example: refresh_token enum: - refresh_token refresh_token: type: string description: The refresh token that was created by a create token request. description: Use this grant with grant_type **refresh_token** to create new tokens based on a refresh token that was created by a prior token request. ClientCredentialsGrant: title: Client Credentials Grant type: object properties: grant_type: type: string description: The grant type. If set to **client_credentials** client credentials has to be provided as 'authorization' header. example: client_credentials enum: - client_credentials organization: type: string description: Use this grant with grant_type **client_credentials** to create new tokens based on client credentials. Client credentials has to be provided as 'authorization' header. TokenRO: title: Token Set type: object properties: id_token: title: ID Token type: string description: ID token access_token: title: Access Token type: string description: the access token refresh_token: type: string description: Refresh token. The refresh token can be used to create a new token set. expires_in: type: integer description: Expiration time of access and ID token format: int64 refresh_expires_in: type: integer description: Expiration time of the refresh token format: int64 token_type: type: string description: Type of the access and ID token. If the tokens are encoded as JWT, the type is 'bearer', 'user' otherwise. example: bearer enum: - bearer - user description: A set of tokens containing access, ID and refresh tokens. UserRO: type: object properties: name: type: string description: The name of an element. xml: attribute: true type: type: string description: 'The type of the object. This is normally a **constant** that can be used to differentiate objects by their type. ' readOnly: true xml: attribute: true id: type: string title: type: string description: The personal title, like Ms., Mr. example: Mr. firstName: type: string secondName: type: string lastName: type: string secondLastName: type: string gender: type: string birthday: type: string description: Date of birth of the person represented by this user in format MM/dd/yyyy nullable: true example: 12/24/1998 businessPartnerNo: type: string description: ID uniquely identifying the user in the context of the customer. example: PMerkel login: type: string IDTokenRO: title: IDToken type: object properties: id_token: type: string description: The base64 encoded identity token nullable: true example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c externalDocs: description: JSON Web Token (JWT) url: https://tools.ietf.org/html/rfc7519 secure_user_ref: $ref: '#/components/schemas/SecureUserRefRO' options: type: array description: Processing options nullable: true items: type: string nullable: true enum: - CREATE_USER - CREATE_CUSTOMER - CREATE_SMB_CUSTOMER - UPDATE - MOVE_TO_TARGET_USER description: The identity token along with processing options SecureUserRefRO: type: object properties: user_id: type: string secure_code: type: string nullable: true JSONWebKey: type: object properties: kid: type: string description: Key ID parameter. x: type: string description: The key example: MKBCTNIcKUSDii11ySs3526iDZ8AiTo7Tu6KPAqv7D4 use: type: string description: Public key use parameter example: sig kty: type: string example: YPsXB8rdXix5vwsg1F crv: type: string jku: type: string description: JSON Web Key (JWK) set URL example: https://localhost/INTERSHOP/rest/WFS/inSPIRED/-/keys/ description: A JSON Web Key (JWK) is a JavaScript Object Notation (JSON) data structure that represents a cryptographic key. externalDocs: description: JSON Web Key (JWK) (RFC 7517) url: https://tools.ietf.org/html/rfc7517 JSONObject: type: object properties: empty: type: boolean additionalProperties: type: object PersonalizationRO: type: object properties: name: type: string description: The name of an element. xml: attribute: true type: type: string description: 'The type of the object. This is normally a **constant** that can be used to differentiate objects by their type. ' example: Personalization xml: attribute: true pgid: type: string description: the personalization group identifier (pgid) of the personalization object example: HLgg8Yus9qBSR0rCuy4DMI9n0000ys xml: name: Personalization PasswordReminderRO: required: - email type: object properties: name: type: string description: The name of an element. xml: attribute: true type: type: string description: 'The type of the object. This is normally a **constant** that can be used to differentiate objects by their type. ' readOnly: true xml: attribute: true email: type: string description: 'the email to send the reminder to ' example: goosen@test.intershop.de firstName: type: string description: the first name of the recipient. Required in case Security question feature is enabled. example: Gerhardt lastName: type: string description: the last name of the recipient. Required in case Security question feature is enabled. example: Goosen answer: type: string description: the answer to the security question. Required in case Security question feature is enabled. example: Snoopy xml: name: PasswordReminder SecurityQuestionsCollectionRO: type: object properties: pageable: type: string description: The pageable ID total: type: integer description: The pageable amount total format: int32 offset: type: integer description: The pageable offset format: int32 amount: type: integer description: The pageable amount format: int32 elements: type: array description: The list of elements xml: wrapped: true items: $ref: '#/components/schemas/SecurityQuestionRO' type: type: string description: 'The type of the object. This is normally a **constant** that can be used to differentiate objects by their type. ' xml: attribute: true sortKeys: uniqueItems: true type: array description: The keys to sort for xml: wrapped: true items: type: string description: the keys to sort for xml: name: sortKey name: type: string description: The name of an element. xml: attribute: true xml: name: SecurityQuestions PasswordResetRO: required: - password - secureCode - userID type: object properties: userID: type: string description: The unique ID of the user which password will be set. Provided in the Password Reminder e-mail message. example: mt4KAEsByeIAAAFtwuREkERx secureCode: type: string description: Unique security code used for verification. Provided in the Password Reminder e-mail message. example: bfd51c73-0e2a-46e1-a3e4-b977a001ae9a password: type: string description: The new password to be set for the related user. example: mynewpassword2019 description: Holder for the data necessary to reset password of registered user. xml: name: PasswordReset responses: 200: description: OK 201: description: Created 202: description: Accepted 204: description: No Content 205: description: Reset Content 206: description: Partial Content 301: description: Moved Permanently 302: description: Found 303: description: See Other 304: description: Not Modified 305: description: Use Proxy 307: description: Temporary Redirect 400: description: Bad Request 401: description: Unauthorized 402: description: Payment Required 403: description: Forbidden 404: description: Not Found 405: description: Method Not Allowed 406: description: Not Acceptable 407: description: Proxy Authentication Required 408: description: Request Timeout 409: description: Conflict 410: description: Gone 411: description: Length Required 412: description: Precondition Failed 413: description: Request Entity Too Large 414: description: Request-URI Too Long 415: description: Unsupported Media Type 416: description: Requested Range Not Satisfiable 417: description: Expectation Failed 500: description: Internal Server Error 501: description: Not Implemented 502: description: Bad Gateway 503: description: Service Unavailable 504: description: Gateway Timeout 505: description: HTTP Version Not Supported parameters: loc: name: loc in: path description: The locale ID (submitted as optional matrix parameter ```;loc=```). If omitted, the site's or user's default locale is used. required: false style: matrix schema: type: string description: The locale ID (submitted as optional matrix parameter ```;loc=```). If omitted, the site's or user's default locale is used. default: en_US examples: en_US: description: English (United States) value: en_US fr_FR: description: French (France) value: fr_FR de_DE: description: German (Germany) value: de_DE x-matrixParamPath: / cur: name: cur in: path description: The currency code (submitted as optional matrix parameter ```;cur=```). If omitted, the site's or user's default currency is used. required: false style: matrix schema: type: string description: The currency code (submitted as optional matrix parameter ```;cur=```). If omitted, the site's or user's default currency is used. default: USD examples: FJD: description: Fiji Dollar value: FJD STD: description: São Tomé / Príncipe Dobra value: STD MXN: description: Mexican Peso value: MXN LVL: description: Latvian Lats value: LVL SCR: description: Seychelles Rupee value: SCR CDF: description: Congolese Franc value: CDF GTQ: description: Guatemalan Quetzal value: GTQ BBD: description: Barbados Dollar value: BBD CLP: description: Chilean Peso value: CLP HNL: description: Honduran Lempira value: HNL UGX: description: Ugandan Shilling value: UGX ZAR: description: South African Rand value: ZAR TND: description: Tunisian Dinar value: TND BSD: description: Bahamian Dollar value: BSD SLL: description: Sierra Leonean Leone value: SLL SDG: description: Sudanese Pound value: SDG IQD: description: Iraqi Dinar value: IQD GMD: description: Gambian Dalasi value: GMD CUP: description: Cuban Peso value: CUP TWD: description: New Taiwan Dollar value: TWD RSD: description: Serbian Dinar value: RSD ZRZ: description: Zaire value: ZRZ DOP: description: Dominican Peso value: DOP KMF: description: Comoro Franc value: KMF MYR: description: Malaysian Ringgit value: MYR FKP: description: Falkland Islands Pound value: FKP XOF: description: CFA Franc BCEAO value: XOF GEL: description: Lari value: GEL UYU: description: Uruguayan Peso value: UYU MAD: description: Moroccan Dirham value: MAD CVE: description: Cape Verde Escudo value: CVE TOP: description: Tongan Pa'anga value: TOP AZN: description: Azerbaijanian Manat value: AZN PGK: description: Papua New Guinean Kina value: PGK OMR: description: Omani Rial value: OMR KES: description: Kenyan Shilling value: KES SEK: description: Swedish Krona value: SEK BTN: description: Ngultrum value: BTN UAH: description: Ukrainian Hryvnia value: UAH GNF: description: Guinea Franc value: GNF ERN: description: Nakfa value: ERN MZN: description: Mozambican Metical value: MZN SVC: description: Salvadoran Colón value: SVC ARS: description: Argentine Peso value: ARS QAR: description: Qatari Riyal value: QAR IRR: description: Iranian Rial value: IRR NLG: description: Dutch Guilder value: NLG MRO: description: Mauritanian Ouguiya value: MRO CNY: description: Yuan Renminbi value: CNY XPF: description: CFP Franc value: XPF UZS: description: Uzbekistani Som value: UZS THB: description: Thai Baht value: THB BDT: description: Bangladeshi Taka value: BDT LYD: description: Libyan Dinar value: LYD BMD: description: Bermudian Dollar value: BMD KWD: description: Kuwaiti Dinar value: KWD PHP: description: Philippine Peso value: PHP RUB: description: Russian Ruble value: RUB PYG: description: Paraguayan Guarani value: PYG JMD: description: Jamaican Dollar value: JMD ISK: description: Iceland Krona value: ISK GWP: description: Guinea Peso value: GWP BEF: description: Belgian Franc value: BEF ESP: description: Spanish Peseta value: ESP COP: description: Colombian Peso value: COP MKD: description: Denar value: MKD USD: description: US Dollar value: USD DZD: description: Algerian Dinar value: DZD PAB: description: Panamanian Balboa value: PAB SGD: description: Singapore Dollar value: SGD ETB: description: Ethiopian Birr value: ETB KGS: description: Som value: KGS VUV: description: Vanuatu Vatu value: VUV VEF: description: Venezuelan Bolivar Fuerte value: VEF SOS: description: Somali Shilling value: SOS LAK: description: Lao Kip value: LAK BND: description: Brunei Dollar value: BND ZMK: description: Zambian Kwacha value: ZMK XAF: description: CFA Franc BEAC value: XAF LRD: description: Liberian Dollar value: LRD ITL: description: Italian Lira value: ITL HRK: description: Croatian Kuna value: HRK CHF: description: Swiss Franc value: CHF ATS: description: Austrian Schilling value: ATS DJF: description: Djibouti Franc value: DJF ALL: description: Albanian Lek value: ALL MTL: description: Maltese Lira value: MTL TZS: description: Tanzanian Shilling value: TZS VND: description: Vietnamese Dong value: VND AUD: description: Australian Dollar value: AUD ILS: description: New Israeli Sheqel value: ILS KPW: description: North Korean Won value: KPW GYD: description: Guyanese Dollar value: GYD GHS: description: Ghanaian Cedi value: GHS MDL: description: Moldovan Leu value: MDL KHR: description: Cambodian Riel value: KHR BOB: description: Boliviano value: BOB IDR: description: Indonesian Rupiah value: IDR KYD: description: Cayman Islands Dollar value: KYD AMD: description: Armenian Dram value: AMD BWP: description: Botswana Pula value: BWP TRY: description: Turkish Lira value: TRY SHP: description: Saint Helena Pound value: SHP LBP: description: Lebanese Pound value: LBP CYP: description: Cyprus Pound value: CYP TJS: description: Tajikistani Somoni value: TJS JOD: description: Jordanian Dinar value: JOD HKD: description: Hong Kong Dollar value: HKD AED: description: United Arab Emirates Dirham value: AED RWF: description: Rwanda Franc value: RWF EUR: description: Euro value: EUR LSL: description: Lesotho Loti value: LSL DKK: description: Danish Krone value: DKK CAD: description: Canadian Dollar value: CAD BGN: description: Bulgarian Lev value: BGN MMK: description: Kyat value: MMK EEK: description: Estonian Kroon value: EEK MUR: description: Mauritian Rupee value: MUR SYP: description: Syrian Pound value: SYP NOK: description: Norwegian Krone value: NOK ZWL: description: Zimbabwean Dollar value: ZWL GIP: description: Gibraltar Pound value: GIP RON: description: Romanian New Leu value: RON LKR: description: Sri Lankan Rupee value: LKR NGN: description: Nigerian Naira value: NGN IEP: description: Irish Pound value: IEP CZK: description: Czech Koruna value: CZK CRC: description: Costa Rican Colon value: CRC PKR: description: Pakistani Rupee value: PKR GRD: description: Greek Drachma value: GRD XCD: description: East Carribean Dollar value: XCD HTG: description: Haitian Gourde value: HTG ANG: description: Netherlands Antillian Guilder value: ANG BHD: description: Bahraini Dinar value: BHD SIT: description: Slovenian Tolar value: SIT PTE: description: Portuguese Escudo value: PTE BPP: description: Bonus Point Price value: BPP KZT: description: Kazakhstani Tenge value: KZT SZL: description: Swazi Lilangeni value: SZL SRD: description: Surinam Dollar value: SRD LTL: description: Lithuanian Litas value: LTL TTD: description: Trinidad and Tobago Dollar value: TTD SAR: description: Saudi Riyal value: SAR YER: description: Yemeni Rial value: YER MVR: description: Maldivian Rufiyaa value: MVR AFN: description: Afghani value: AFN BPV: description: Bonus Point Value value: BPV INR: description: Indian Rupee value: INR KRW: description: South Korean Won value: KRW AWG: description: Aruban Florin value: AWG NPR: description: Nepalese Rupee value: NPR MNT: description: Mongolian Tugrik value: MNT JPY: description: Japanese Yen value: JPY AOA: description: Angolan Kwanza value: AOA PLN: description: Polish Złoty value: PLN GBP: description: Pound Sterling value: GBP SBD: description: Solomon Islands Dollar value: SBD HUF: description: Hungarian Forint value: HUF BYR: description: Belarussian Ruble value: BYR LUF: description: Luxembourgian Franc value: LUF BIF: description: Burundi Franc value: BIF MWK: description: Malawian Kwacha value: MWK MGA: description: Malagasy Ariary value: MGA FIM: description: Finnish Mark value: FIM DEM: description: Deutsche Mark value: DEM BZD: description: Belize Dollar value: BZD BAM: description: Convertible Marks value: BAM MOP: description: Macanese Pataca value: MOP EGP: description: Egyptian Pound value: EGP NAD: description: Namibian Dollar value: NAD SKK: description: Slovakian Krona value: SKK NIO: description: Cordoba Oro value: NIO PEN: description: Peruvian Nuevo Sol value: PEN WST: description: Samoan Tala value: WST NZD: description: New Zealand Dollar value: NZD TMT: description: Turkmenistani Manat value: TMT FRF: description: French Franc value: FRF BRL: description: Brazilian Real value: BRL x-matrixParamPath: / regionals: name: regionals in: path required: false style: matrix schema: type: object properties: loc: type: string description: The locale ID example: en_US cur: type: string description: The currency code example: EUR x-matrixParamPath: / pgid: name: pgid in: path description: The personal group identifier (submitted as matrix parameter ```;pgid=```). required: false style: matrix schema: type: string description: The personal group identifier (submitted as matrix parameter ```;pgid=```). example: FUOGrzQ_VjORpGaN8DRGmLLE0000 example: FUOGrzQ_VjORpGaN8DRGmLLE0000 spgid: name: spgid in: path description: The secure personal group identifier (submitted as matrix parameter ```;spgid=```). required: false style: matrix schema: type: string description: The secure personal group identifier (submitted as matrix parameter ```;spgid=```). example: FUOGrzQ_VjORpGaN8DRGmLLE0000 example: FUOGrzQ_VjORpGaN8DRGmLLE0000 securitySchemes: basicAuth: type: http description: 'Basic access authentication. In basic authentication, a request contains a header field in the form of authorization: ```Basic ```, where credentials is the Base64 encoding of ID and password joined by a single colon :.' scheme: basic authToken: type: apiKey description: User authentication token to authenticate the request. The token is a string generated by the ICM server in the same header in every response of an REST endpoint. name: authentication-token in: header bearerAuth: type: http description: 'Bearer token authentication. A request contains a header field in the form of authorization: ```Bearer ```, where is a string generated by an authentication service in response to a login request.' scheme: bearer bearerFormat: JWT x-apiID: auth x-origin-class: com.intershop.component.rest.capi.resource.RootResource,com.intershop.sellside.rest.common.capi.resource.customer.credentials.CustomerCredentialListResource,com.intershop.sellside.rest.common.capi.resource.customer.credentials.CustomerCredentialListResource,com.intershop.beehive.platformrest.resource.auth.TokenResource,com.intershop.sellside.rest.common.capi.resource.customer.credentials.CustomerCredentialListResource,com.intershop.sellside.rest.common.capi.resource.customer.credentials.CustomerCredentialListResource,com.intershop.sellside.rest.common.capi.resource.customer.credentials.CustomerCredentialListResource,com.intershop.sellside.rest.common.capi.resource.customer.credentials.CustomerCredentialListResource,com.intershop.sellside.rest.common.capi.resource.customer.credentials.CustomerCredentialListResource,com.intershop.sellside.rest.common.capi.resource.customer.credentials.CustomerCredentialListResource