openapi: 3.0.3 info: version: "1.0" title: B2C Commerce Developer Sandbox REST API description: B2C Commerce provides a REST API to manage developer sandboxes. The API allows you to create, manage, and delete developer sandboxes. contact: name: Salesforce B2C Commerce Infocenter url: https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/content/b2c_commerce/topics/sandboxes/b2c_developer_sandboxes.html?cp=0_6_4 tags: - name: Common x-sfdc-group-id: Common description: General purpose API endpoints. - name: Realms x-sfdc-group-id: realms description: Operations on the realm level. - name: Sandboxes x-sfdc-group-id: sandboxes description: Operations on the sandbox level. - name: Cloning x-sfdc-group-id: cloning description: APIs for creating and managing sandbox clones. paths: /: get: operationId: getApiInfo summary: Retrieve API information. description: Return API version information. tags: - Common responses: "200": description: API version information. content: application/json: schema: $ref: "#/components/schemas/ApiVersionResponse" /me: get: operationId: getUserInfo summary: Retrieve user information. description: Return information about the user interacting with the API. tags: - Common responses: "200": description: Metadata about the authenticated API user. content: application/json: schema: $ref: "#/components/schemas/UserInfoResponse" security: - AccountManager: [] - ClientCredentials: [] /system: get: operationId: getSystemInfo summary: Retrieve system information description: Returns information about the system, the user is interacting with. tags: - Common responses: "200": description: Metadata about the system content: application/json: schema: $ref: "#/components/schemas/SystemInfoResponse" security: - AccountManager: [] - ClientCredentials: [] /realms/{realm}/system: parameters: - name: realm in: path required: true schema: type: string description: The four-letter ID of the realm. get: operationId: getRealmSystemInfo summary: Retrieve system information description: Returns information about the system, the user is interacting with. tags: - Common responses: "200": description: Metadata about the system content: application/json: schema: $ref: "#/components/schemas/SystemInfoResponse" security: - AccountManager: [] - ClientCredentials: [] "/realms/{realm}": parameters: - $ref: "#/components/parameters/realmParam" - in: query name: expand description: "Additional information, which should be shown in the realm query. Available options are: [configuration,usage, accountdetails]." style: form explode: false schema: type: array items: type: string enum: - configuration - usage - accountdetails get: operationId: getRealm summary: Show realm information. description: Return metadata about a realm. tags: - Realms responses: "200": description: Realm metadata. content: application/json: schema: $ref: "#/components/schemas/RealmResponse" "400": description: The ID is not a valid realm ID. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "401": description: The user isn't authenticated. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "403": description: The user doesn't have access to the realm. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "404": description: There isn't any realm with that ID. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" security: - AccountManager: [] - ClientCredentials: [] "/realms/{realm}/configuration": parameters: - $ref: "#/components/parameters/realmParam" get: operationId: getRealmConfiguration summary: Show realm configuration. description: Return the current configuration values of the realm. tags: - Realms responses: "200": description: Current configuration values of the realm. content: application/json: schema: $ref: "#/components/schemas/RealmConfigurationResponse" "400": description: The ID isn't valid or the configuration isn't valid. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "403": description: The user doesn't have access to that realm. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "404": description: There isn't any realm with that ID. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" security: - AccountManager: [] - ClientCredentials: [] patch: operationId: patchRealmConfiguration summary: Update realm configuration. description: Update the customizable configuration of a realm. Note that the internal time format in weekday schedules is [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#Times). tags: - Realms requestBody: content: application/json: schema: $ref: "#/components/schemas/RealmConfigurationUpdateRequestModel" description: Realm values to update. required: true responses: "200": description: Updated realm configuration data. content: application/json: schema: $ref: "#/components/schemas/RealmConfigurationResponse" "400": description: The ID isn't a valid realm ID. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "401": description: The user isn't authenticated. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "403": description: The user doesn't have access to that realm. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "404": description: There isn't any realm with that ID. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" security: - AccountManager: [] - ClientCredentials: [] "/realms/{realm}/usage": parameters: - $ref: "#/components/parameters/realmParam" - $ref: "#/components/parameters/fromParam" - $ref: "#/components/parameters/toParam" - $ref: "#/components/parameters/detailedReportParam" - $ref: "#/components/parameters/granularityParam" get: operationId: getRealmUsage summary: Show usage information for realm. description: Return information about the realm's usage. tags: - Realms responses: "200": description: Realm's usage information. content: application/json: schema: $ref: "#/components/schemas/RealmUsageResponse" text/csv: schema: $ref: "#/components/schemas/RealmUsageResponse" "400": description: The ID isn't valid. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" text/csv: schema: $ref: "#/components/schemas/ErrorResponse" "403": description: The user doesn't have access to the realm. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" text/csv: schema: $ref: "#/components/schemas/ErrorResponse" "404": description: There isn't any realm with that ID. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" text/csv: schema: $ref: "#/components/schemas/ErrorResponse" security: - AccountManager: [] - ClientCredentials: [] /realms/usages: post: operationId: searchRealmUsage summary: Show usage information for given realms. description: Update the customizable configuration of a realm. Note that the internal time format in weekday schedules is [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#Times). tags: - Realms requestBody: content: application/json: schema: $ref: "#/components/schemas/MultiRealmUsageRequest" description: Return information for given all realm's usage required: true responses: "200": description: Aggregates all realm usage data. content: application/json: schema: $ref: "#/components/schemas/MultiRealmUsageResponse" text/csv: schema: $ref: "#/components/schemas/MultiRealmUsageResponse" "400": description: The ID isn't a valid realm ID. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" text/csv: schema: $ref: "#/components/schemas/ErrorResponse" "401": description: The user isn't authenticated. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" text/csv: schema: $ref: "#/components/schemas/ErrorResponse" "403": description: The user doesn't have access to that realm. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" text/csv: schema: $ref: "#/components/schemas/ErrorResponse" "404": description: There isn't any realm with that ID. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" text/csv: schema: $ref: "#/components/schemas/ErrorResponse" security: - AccountManager: [] - ClientCredentials: [] /sandboxes: get: operationId: getSandboxes summary: List sandboxes. description: Return all sandboxes of a realm. tags: - Sandboxes parameters: - name: include_deleted in: query required: false description: If set, return deleted sandboxes. schema: type: boolean - name: filter_params in: query required: false description: "If passed in supported format, returns sandboxes that matches the query. Supported format: realm=zzzz&state=started&resourceProfile=medium&createdBy=user1&tags\ =[tag1,tag2,tag3]." schema: type: string responses: "200": description: List of sandboxes. content: application/json: schema: $ref: "#/components/schemas/SandboxListResponse" "400": description: The request parameters are invalid (bad request). content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "403": description: The user doesn't have access to that realm. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "404": description: There isn't any realm with that ID. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" security: - AccountManager: [] - ClientCredentials: [] post: operationId: createSandbox summary: Create sandbox. description: Create a new sandbox within the realm. tags: - Sandboxes requestBody: content: application/json: schema: $ref: "#/components/schemas/SandboxProvisioningRequestModel" description: Metadata about the new sandbox. required: true responses: "201": description: The sandbox creation has started. headers: Location: description: URI of the created sandbox. schema: type: string content: application/json: schema: $ref: "#/components/schemas/SandboxResponse" "400": description: The request parameters are invalid (bad request). content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "403": description: The user doesn't have access to the realm. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "404": description: There isn't any realm with that ID. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "500": description: There were server errors initiating the sandbox deployment. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" security: - AccountManager: [] - ClientCredentials: [] "/sandboxes/{sandboxId}": parameters: - $ref: "#/components/parameters/sandboxIdParam" get: operationId: getSandbox summary: Retrieve sandbox information. description: Return details on a specific sandbox in a realm. tags: - Sandboxes parameters: - in: query name: expand description: "Additional information, which should be shown in the sandbox query. Available options are: [clonedetails]." style: form explode: false schema: type: array items: type: string enum: - clonedetails responses: "200": description: Details on the sandbox (including its state). content: application/json: schema: $ref: "#/components/schemas/SandboxResponse" "400": description: The request parameters are invalid (bad request). content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "403": description: The user doesn't have access to the requested realm. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "404": description: There isn't any realm with that ID. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" security: - AccountManager: [] - ClientCredentials: [] patch: operationId: patchSandbox summary: Update sandbox. description: Update a sandbox. tags: - Sandboxes requestBody: content: application/json: schema: $ref: "#/components/schemas/SandboxUpdateRequestModel" description: Sandbox values to update. required: true responses: "200": description: Updated details on the sandbox (including its state). content: application/json: schema: $ref: "#/components/schemas/SandboxResponse" "400": description: The request parameters are invalid (bad request). content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "403": description: The user doesn't have access to the realm. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "404": description: There isn't any sandbox with that ID. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" security: - AccountManager: [] - ClientCredentials: [] delete: operationId: deleteSandbox summary: Delete sandbox. description: Delete a specific sandbox in a realm. tags: - Sandboxes responses: "202": description: > The request for deleting the sandbox has been accepted by the API server. This doesn't mean that the sandbox has already been deleted, since the actual deletion process does not necessarily start immediately and might take a while. You can track the deletion process using sandbox GET requests. content: application/json: schema: $ref: "#/components/schemas/StatusResponse" "400": description: The request parameters are invalid (bad request). content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "403": description: The user doesn't have access to that realm. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "404": description: ID not found. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" security: - AccountManager: [] - ClientCredentials: [] "/sandboxes/{sandboxId}/clones": parameters: - $ref: "#/components/parameters/sandboxIdParam" get: operationId: getSandboxesClone summary: List all cloned sandboxes for a specific sandbox. description: Return all cloned sandboxes for a specific sandbox. Optionally filter by date range using fromDate and toDate parameters. If fromDate is provided without toDate, toDate defaults to the current timestamp. If both are omitted, all clones are returned. All dates are processed in UTC timezone. Optionally filter by status. tags: - Cloning parameters: - name: fromDate in: query description: Filter clones created on or after this date (ISO 8601 date format, e.g., 2024-01-01). When provided without toDate, toDate defaults to the current timestamp. required: false schema: type: string format: date - name: toDate in: query description: Filter clones created on or before this date (ISO 8601 date format, e.g., 2024-12-31). If omitted when fromDate is provided, defaults to current timestamp. Optional parameter. required: false schema: type: string format: date - name: status in: query description: Filter clones by status (Pending, InProgress, Failed, or Completed). If not provided, returns all clones regardless of status. required: false schema: type: string enum: - Pending - InProgress - Failed - Completed responses: "200": description: List of cloned sandboxes. content: application/json: schema: $ref: "#/components/schemas/SandboxCloneListResponse" "400": description: The request parameters are invalid (bad request). content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "403": description: The user doesn't have access to that realm. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "404": description: There isn't any sandbox with that ID. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "500": description: There were server errors during the request. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" security: - AccountManager: [] - ClientCredentials: [] post: operationId: createSandboxClone summary: Create sandbox clone. description: Create a new sandbox clone for a specific sandbox. tags: - Cloning requestBody: content: application/json: schema: $ref: "#/components/schemas/SandboxCloneProvisioningRequestModel" description: Metadata about the new sandbox clone. required: true responses: "201": description: The sandbox clone creation has started. headers: Location: description: URI of the created sandbox clone. schema: type: string content: application/json: schema: $ref: "#/components/schemas/SandboxCloneCreateResponse" "400": description: The request parameters are invalid (bad request). content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "403": description: The user doesn't have access to the realm. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "404": description: There isn't any sandbox with that ID. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "500": description: There were server errors during the request. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" security: - AccountManager: [] - ClientCredentials: [] "/sandboxes/{sandboxId}/clones/{cloneId}": parameters: - $ref: "#/components/parameters/sandboxIdParam" - $ref: "#/components/parameters/sandboxCloneIdParam" get: operationId: getSandboxClone summary: Retrieve sandbox clone information. description: Return details on a specific cloned sandbox for a sandbox. tags: - Cloning responses: "200": description: Details on the cloned sandbox (including its state). content: application/json: schema: $ref: "#/components/schemas/SandboxCloneResponse" "400": description: The request parameters are invalid (bad request). content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "403": description: The user doesn't have access to the requested realm. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "404": description: There isn't any sandbox with that ID. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "500": description: There were server errors during the request. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" security: - AccountManager: [] - ClientCredentials: [] "/sandboxes/{sandboxId}/aliases": parameters: - $ref: "#/components/parameters/sandboxIdParam" post: operationId: createAlias summary: Create sandbox alias. description: Create a new sandbox alias. tags: - Sandboxes requestBody: content: application/json: schema: $ref: "#/components/schemas/SandboxAliasModel" description: The alias for the sandbox required: true responses: "200": description: The sandbox alias already exists. content: application/json: schema: $ref: "#/components/schemas/SandboxAliasResponse" "201": description: The alias has been created. content: application/json: schema: $ref: "#/components/schemas/SandboxAliasResponse" "400": description: The request parameters are invalid (bad request). content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "403": description: The user doesn't have access to the sandbox. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "404": description: There isn't any sandbox with that ID. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" security: - AccountManager: [] - ClientCredentials: [] get: operationId: getAliases summary: Read all sandbox aliases description: Retrieve a list of all past and present operations on a sandbox within the realm. tags: - Sandboxes responses: "200": description: List of Alias configurations. content: application/json: schema: $ref: "#/components/schemas/SandboxAliasListResponse" "403": description: The user doesn't have access to the realm or sandbox. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "404": description: There isn't any sandbox with that ID. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" security: - AccountManager: [] - ClientCredentials: [] "/sandboxes/{sandboxId}/aliases/{sandboxAliasId}": parameters: - $ref: "#/components/parameters/sandboxIdParam" - $ref: "#/components/parameters/sandboxAliasIdParam" get: operationId: getAlias summary: Read Alias configuration description: Retrieves a dedicated alias for the sandbox. Can be called without authentication to get cookie values for the alias. tags: - Sandboxes responses: "200": description: The Alias configuration. content: application/json: schema: $ref: "#/components/schemas/SandboxAliasResponse" "403": description: The user doesn't have access to the realm or sandbox. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "404": description: There isn't any sandbox or any alias with that ID. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" security: - AccountManager: [] - ClientCredentials: [] delete: operationId: deleteAlias summary: Delete Alias configuration description: Deletes a dedicated alias configuration for a sandbox. tags: - Sandboxes responses: "202": description: Shows, that alias currently gets deleted. content: application/json: schema: $ref: "#/components/schemas/StatusResponse" "403": description: The user doesn't have access to the realm or sandbox. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "404": description: There isn't any sandbox or any alias with that ID. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" security: - AccountManager: [] - ClientCredentials: [] "/sandboxes/{sandboxId}/operations": parameters: - $ref: "#/components/parameters/sandboxIdParam" post: operationId: createSandboxOperation summary: Run sandbox operation. description: Request an operation on a sandbox within the realm. tags: - Sandboxes requestBody: content: application/json: schema: $ref: "#/components/schemas/SandboxOperationRequestModel" description: Operation to be carried out on a sandbox. required: true responses: "202": description: The operation has been accepted. content: application/json: schema: $ref: "#/components/schemas/SandboxOperationResponse" "400": description: The request parameters are invalid (bad request). content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "403": description: The user doesn't have access to the sandbox. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "404": description: There isn't any sandbox with that ID. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "422": description: The operation isn't allowed in the current state of the sandbox. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "500": description: There were server errors during the operation. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" security: - AccountManager: [] - ClientCredentials: [] get: operationId: getSandboxOperations summary: List sandbox operations. description: Retrieve a list of all past and present operations on a sandbox within the realm. tags: - Sandboxes parameters: - $ref: "#/components/parameters/fromParam" - $ref: "#/components/parameters/toParam" - $ref: "#/components/parameters/operationStateParam" - $ref: "#/components/parameters/operationStatusParam" - $ref: "#/components/parameters/operationTypeParam" - $ref: "#/components/parameters/sortOrderParam" - $ref: "#/components/parameters/sortByOperationParam" - $ref: "#/components/parameters/pageParam" - $ref: "#/components/parameters/perPageParam" responses: "200": description: List of operations. headers: Link: description: Paging metadata, as described in RFC-5988 schema: type: string X-Pagination-Count: description: Total count of elements. schema: type: integer format: int32 X-Pagination-Page: description: Current page index. schema: type: integer format: int32 X-Pagination-Limit: description: Maximum count of pages. schema: type: integer format: int32 content: application/json: schema: $ref: "#/components/schemas/SandboxOperationListResponse" "400": description: The request parameters are invalid (bad request). content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "403": description: The user doesn't have access to the sandbox. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "404": description: There isn't any sandbox with that ID. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "500": description: There were server errors during the operation. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" security: - AccountManager: [] - ClientCredentials: [] "/sandboxes/{sandboxId}/operations/{operationId}": parameters: - $ref: "#/components/parameters/sandboxIdParam" - $ref: "#/components/parameters/operationIdParam" get: operationId: getSandboxOperation summary: Retrieve sandbox operation. description: Return details of a sandbox operation that was recently submitted, is currently in progress, or has already finished. tags: - Sandboxes responses: "200": description: Details of the sandbox operation's state and the state of its target. If the operation has already finished, indicates whether the operation was successful. content: application/json: schema: $ref: "#/components/schemas/SandboxOperationResponse" "400": description: The request parameters are invalid (bad request). content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "403": description: The user doesn't have access to the requested operation or sandbox. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "404": description: There isn't any sandbox or realm matching the given parameters. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" security: - AccountManager: [] - ClientCredentials: [] "/sandboxes/{sandboxId}/settings": parameters: - $ref: "#/components/parameters/sandboxIdParam" get: operationId: getSandboxSettings summary: Show sandbox settings. description: Return all settings of the sandbox. tags: - Sandboxes responses: "200": description: Details of the sandbox settings. content: application/json: schema: $ref: "#/components/schemas/SandboxSettingsResponse" "400": description: The sandbox ID isn't valid. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "403": description: The user doesn't have access to the requested sandbox. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "404": description: There isn't any sandbox matching the ID. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" security: - AccountManager: [] - ClientCredentials: [] "/sandboxes/{sandboxId}/usage": parameters: - $ref: "#/components/parameters/sandboxIdParam" - $ref: "#/components/parameters/fromParam" - $ref: "#/components/parameters/toParam" get: operationId: getSandboxUsage summary: Show sandbox usage. description: Return information on sandbox usage. tags: - Sandboxes responses: "200": description: Sandbox usage information. content: application/json: schema: $ref: "#/components/schemas/SandboxUsageResponse" "400": description: The sandbox ID isn't valid. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "403": description: The user doesn't have access to the requested sandbox. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "404": description: There isn't any sandbox matching the ID. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" security: - AccountManager: [] - ClientCredentials: [] "/sandboxes/{sandboxId}/storage": parameters: - $ref: "#/components/parameters/sandboxIdParam" get: operationId: getSandboxStorage summary: Show sandbox storage description: Return information on sandbox storage capacity for a currently running sandbox. tags: - Sandboxes responses: "200": description: Sandbox storage information. content: application/json: schema: $ref: "#/components/schemas/SandboxStorageResponse" "400": description: The sandbox ID isn't valid. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "403": description: The user doesn't have access to the requested sandbox. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" "404": description: There isn't any sandbox matching the ID. content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" security: - AccountManager: [] - ClientCredentials: [] servers: - url: /api/v1 components: parameters: realmParam: name: realm in: path required: true description: The four-letter ID of the realm. schema: type: string sandboxIdParam: name: sandboxId in: path required: true description: The sandbox UUID. schema: type: string format: uuid sandboxCloneIdParam: name: cloneId in: path required: true description: > The sandbox clone unique ID. A unique identifier of the sandbox in the format: realm-instance-clone-timestamp (e.g., -002-1642780893121), where: - realm is 4 lowercase letters, - instance is 3-digit number, - timestamp is in ddMMyyyyHHmm format (13 digits). schema: type: string pattern: ^[a-z]{4}-\d{3}-\d{13}$ sandboxAliasIdParam: name: sandboxAliasId in: path required: true description: The sandbox alias UUID. schema: type: string format: uuid operationIdParam: name: operationId in: path required: true description: The operation UUID. schema: type: string format: uuid pageParam: name: page in: query required: false description: The page to access in a paged response. Page numbers start with '0', which is the default value. schema: type: integer format: int32 minimum: 0 perPageParam: name: per_page in: query required: false description: Count of elements on a page. The default value is '20'. schema: type: integer format: int32 minimum: 1 fromParam: name: from in: query required: false description: Earliest date for which data is in the response. Thirty days in the past by default. Format is ISO 8601. schema: type: string format: date toParam: name: to in: query required: false description: Latest date for which data is included in the response. Today's date by default. Format is ISO 8601. schema: type: string format: date sortOrderParam: name: sort_order in: query required: false description: Order of the list. Default value is ''asc''. schema: type: string enum: - asc - desc sortByOperationParam: name: sort_by in: query required: false description: Field by which to order the list. By default, the list is not ordered. schema: type: string enum: - created - operation_state - status - operation operationStateParam: name: operation_state in: query required: false description: State of operations included in the response. By default, all operations are included. schema: type: string enum: - pending - running - finished operationStatusParam: name: status in: query required: false description: Status of operations included in the response. By default, all operations are included. schema: type: string enum: - success - failure operationTypeParam: name: operation in: query required: false description: Type of operations included in the response. By default, all operations are included. schema: type: string enum: - start - stop - restart - reset - create - delete - upgrade detailedReportParam: name: detailedReport in: query required: false description: Field to check whether detailed report is to be retrieved, by default detailed report will not be pulled schema: type: boolean enum: - false - true default: false granularityParam: name: granularity in: query required: false description: Granularity of usage to be included in the response. By default, granular usage is not returned. schema: type: string enum: - daily - weekly - monthly securitySchemes: AccountManager: type: oauth2 description: Authenticate using Commerce Cloud Account Manager with your SSO credentials. flows: implicit: authorizationUrl: https://account.demandware.com:443/dwsso/oauth2/authorize scopes: {} ClientCredentials: type: oauth2 description: Authenticate using Commerce Cloud Account Manager with your client credentials. flows: clientCredentials: tokenUrl: https://account.demandware.com:443/dwsso/oauth2/access_token scopes: {} schemas: Response: type: object required: - kind - code properties: kind: type: string description: Type of response object. enum: - ApiVersion - UserInfo - SystemInfo - Realm - RealmConfiguration - RealmUsage - MultiRealmUsage - Sandbox - SandboxList - SandboxAlias - SandboxAliasList - SandboxSettings - SandboxUsage - SandboxStorage - SandboxOperationList - SandboxCloneList - SandboxClone - Status code: type: integer format: int32 description: Response code sent along with the status. StatusResponse: required: - status allOf: - $ref: "#/components/schemas/Response" - type: object properties: status: type: string description: String with value 'Success' or 'Failure' to indicate request outcome. enum: - Success - Failure PagedResponse: allOf: - $ref: "#/components/schemas/StatusResponse" - type: object properties: metadata: $ref: "#/components/schemas/PagingMetadata" PagingMetadata: properties: page: type: integer format: int32 description: Index of the current page. perPage: type: integer format: int32 description: Maximum count of elements per page. pageCount: type: integer format: int32 description: Total count of pages. totalCount: type: integer format: int64 description: Total count of elements. links: $ref: "#/components/schemas/PagingLinks" PagingLinks: properties: self: type: string description: Relative link to this page. first: type: string description: Relative link to the first page. previous: type: string description: Relative link to the previous page. 'null' if the current page is the first page. next: type: string description: Relative link to the next page. 'null' if the current page is the last page. last: type: string description: Relative link to the last page. RealmResponse: allOf: - $ref: "#/components/schemas/StatusResponse" - type: object properties: data: $ref: "#/components/schemas/RealmModel" RealmModel: type: object required: - id properties: id: type: string description: GUID of the realm in the system. name: type: string description: Human-readable four-letter ID of the realm. enabled: type: boolean description: Flag indicating whether the realm is enabled for any operations. usage: $ref: "#/components/schemas/RealmUsageSummaryModel" configuration: $ref: "#/components/schemas/RealmConfigurationModel" accountdetails: $ref: "#/components/schemas/AccountDetailsModel" RealmUsageSummaryModel: type: object required: - activeSandboxes properties: activeSandboxes: type: integer format: int64 description: Number of currently active sandboxes for a realm. example: 42 RealmConfigurationResponse: allOf: - $ref: "#/components/schemas/StatusResponse" - type: object properties: data: $ref: "#/components/schemas/RealmConfigurationModel" ConfigurationIntegerValue: type: object description: Object that holds an integer-based configuration property. A zero value means "unlimited". properties: fixedValue: type: integer format: int32 description: Fixed value for this configuration property. You can't use this along with a maximum or default value. maximum: type: integer format: int32 description: Maximum value for this property. defaultValue: type: integer format: int32 description: Default value for this property. WeekdaySchedule: type: object description: A schedule definition for a dedicated time on specific weekdays. properties: weekdays: type: array items: type: string enum: - MONDAY - TUESDAY - WEDNESDAY - THURSDAY - FRIDAY - SATURDAY - SUNDAY description: List of weekdays, where the action should take place time: type: string description: Time (with timezone) where the action should take place on the specified weekdays. Time format is [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#Times). If no time zone is given, the timezone defaults to GMT. example: 20:10:00Z RealmSandboxConfigurationModel: type: object description: Configuration object related to sandboxes of a realm. required: - limitsEnabled - totalNumberOfSandboxes - sandboxTTL - localUsersAllowed properties: limitsEnabled: type: boolean description: Flag indicating whether sandbox specific limits are enforced for the realm. totalNumberOfSandboxes: type: integer description: Total number of sandboxes (regardless of state) that the realm can hold. sandboxTTL: $ref: "#/components/schemas/ConfigurationIntegerValue" localUsersAllowed: type: boolean description: Flag indicating whether users outside the Account Manager are allowed. example: limitsEnabled: true totalNumberOfSandboxes: 50 sandboxTTL: maximum: 240 defaultValue: 8 localUsersAllowed: false RealmSandboxConfigurationUpdateModel: type: object description: Update data for configuration data related to sandboxes of a realm. The time formats within the weekday schedules have to be passed in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#Times) format. properties: sandboxTTL: $ref: "#/components/schemas/ConfigurationIntegerValue" startScheduler: x-type-overwrite: WeekdaySchedule nullable: true stopScheduler: x-type-overwrite: WeekdaySchedule nullable: true example: sandboxTTL: maximum: 240 defaultValue: 24 startScheduler: weekdays: - MONDAY - TUESDAY - WEDNESDAY - THURSDAY - FRIDAY time: 08:00:00+03:00 stopScheduler: weekdays: - MONDAY - TUESDAY - WEDNESDAY - THURSDAY - FRIDAY time: 19:00:00Z nullable: true RealmRequestConfigurationModel: type: object description: Configuration object related to requests targeting the sandboxes of a realm. required: - enforced properties: enforced: type: boolean description: If enabled, rate limiting is active. maxRate: type: integer description: Maximum requests allowed per time period. timePeriod: type: integer description: Number of seconds during which to count requests. example: enforced: true maxRate: 50000 timePeriod: 60 RealmConfigurationModel: type: object properties: emails: type: array items: type: string example: - email1@example.com - email2@example.com sandbox: $ref: "#/components/schemas/RealmSandboxConfigurationModel" requests: $ref: "#/components/schemas/RealmRequestConfigurationModel" startScheduler: $ref: "#/components/schemas/WeekdaySchedule" stopScheduler: $ref: "#/components/schemas/WeekdaySchedule" RealmConfigurationUpdateRequestModel: type: object properties: emails: type: array items: type: string example: - email1@example.com - email2@example.com nullable: true sandbox: $ref: "#/components/schemas/RealmSandboxConfigurationUpdateModel" RealmUsageResponse: allOf: - $ref: "#/components/schemas/StatusResponse" - type: object properties: data: $ref: "#/components/schemas/RealmUsageModel" MultiRealmUsageModel: type: object required: - realmName properties: realmName: type: string description: GUID of the realm in the system. realmUsage: $ref: "#/components/schemas/RealmUsageModel" error: type: string description: Error while getting usage. RealmUsageModel: type: object required: - id properties: id: type: string description: GUID of the realm in the system. accountId: type: string description: account/SFID of the realm in clusterstate table or org62 Tenant table createdSandboxes: type: integer format: int64 description: Total number of sandboxes created during the requested timeframe (by default, the previous 30 days). example: 93 activeSandboxes: type: integer format: int64 description: Total number of sandboxes active during the requested timeframe (by default, the previous 30 days). example: 128 deletedSandboxes: type: integer format: int64 description: Total number of sandboxes deleted during the requested timeframe (by default, the previous 30 days). example: 86 sandboxSeconds: type: integer format: int64 description: Total number of seconds sandboxes ran during the requested timeframe (by default, the previous 30 days). example: 360000 sandboxSecondsDown: type: integer format: int64 description: Total downtime in seconds during the requested timeframe (by default, the previous 30 days). example: 180000 minutesUpByProfile: type: array items: type: object properties: profile: $ref: "#/components/schemas/SandboxResourceProfile" minutes: type: integer format: int64 description: How many minutes sandboxes of this profile type were running during the report timeframe. minutesUp: type: integer format: int64 description: Sum of minutes sandboxes in this realm were running during the requested timeframe (by default, the previous 30 days). example: 360000 minutesDown: type: integer format: int64 description: Sum of minutes sandboxes in this realm were not running during the requested timeframe (by default, the previous 30 days). example: 180000 sandboxDetails: type: array items: $ref: "#/components/schemas/SandboxInfo" granularUsage: type: array items: $ref: "#/components/schemas/GranularUsage" AccountDetailsModel: type: object properties: accountName: type: string example: Disney description: Account name. creditBalance: type: number format: double description: Total Credit Balance left. example: 93.234 MultiRealmUsageRequest: type: object properties: from: type: string format: date description: Time the sandbox was started. to: type: string format: date description: Time the sandbox was stopped. If the sandbox is still running, this value will not exist for the last block. realms: type: array items: type: string detailedReport: type: boolean default: false enum: - false - true description: Field to check whether detailed report is to be retrieved, by default detailed report will not be pulled. MultiRealmUsageResponse: allOf: - $ref: "#/components/schemas/StatusResponse" - type: object properties: data: type: array items: $ref: "#/components/schemas/MultiRealmUsageModel" SandboxListResponse: allOf: - $ref: "#/components/schemas/StatusResponse" - type: object properties: data: type: array items: $ref: "#/components/schemas/SandboxModel" SandboxCloneListResponse: allOf: - $ref: "#/components/schemas/StatusResponse" - type: object properties: data: type: array items: $ref: "#/components/schemas/SandboxCloneGetModel" SandboxResponse: allOf: - $ref: "#/components/schemas/StatusResponse" - type: object properties: data: $ref: "#/components/schemas/SandboxModel" SandboxCloneResponse: allOf: - $ref: "#/components/schemas/StatusResponse" - type: object properties: data: $ref: "#/components/schemas/SandboxCloneGetModel" SandboxCloneCreateResponse: allOf: - $ref: "#/components/schemas/StatusResponse" - type: object properties: data: $ref: "#/components/schemas/SandboxCloneCreateModel" SandboxStorageModel: type: object description: Shows all filesystem storages and how much space is left on them. additionalProperties: $ref: "#/components/schemas/StorageUsageModel" StorageUsageModel: type: object description: Represents a single filesystem storage unit with its available space. properties: spaceTotal: type: integer format: int64 description: Total available space in MB. spaceUsed: type: integer format: int64 description: Used space in MB. percentageUsed: type: integer format: int32 description: Used space in percent, compared to total space. SandboxModel: type: object properties: id: type: string realm: type: string emails: type: array items: type: string enabled: type: boolean description: Flag indicating whether the sandbox is enabled for any operations. instance: type: string versions: type: object title: SandboxModelVersions description: Versions of the components that make up the sandbox. properties: app: type: string pattern: \d(\.\d)* description: Version of the commerce application. web: type: string description: Version of the web proxy. pattern: \d(\.\d)* autoScheduled: type: boolean description: Defaults to false. If set to true, the sandbox is covered by automatic start/stop actions, which can be set to a dedicated time via realm- configuration API. analyticsEnabled: type: boolean description: Defaults to false. If set to true, analytics will be enabled in ODS. resourceProfile: $ref: "#/components/schemas/SandboxResourceProfile" state: $ref: "#/components/schemas/SandboxState" createdAt: type: string format: date-time createdBy: type: string deletedAt: type: string format: date-time description: Time when the delete operation was created. deletedBy: type: string description: User who requested the sandbox deletion. eol: type: string format: date-time tags: type: array items: type: string clonedFrom: type: string description: The source sandbox this sandbox was cloned from, in the format {tenant_name}-{source_instance_number}. Only present if this sandbox was created by cloning another sandbox. sourceInstanceIdentifier: type: string description: The source sandbox uuid this sandbox was cloned from, in the format {source_instance_uuid}. Only present if this sandbox was created by cloning another sandbox. hostName: type: string links: type: object description: Set of named links for accessing the sandbox. properties: bm: type: string description: Fully qualified URL of the sandbox Business Manager web app. ocapi: type: string description: Fully qualified URL of OCAPI data API (excluding version selector). impex: type: string description: Fully qualified WebDAV URL for accessing import and export files. code: type: string description: Fully qualified WebDAV URL for accessing code. logs: type: string description: Fully qualified WebDAV URL for accessing log files. startScheduler: $ref: "#/components/schemas/WeekdaySchedule" stopScheduler: $ref: "#/components/schemas/WeekdaySchedule" cloneDetails: $ref: "#/components/schemas/SandboxCloneGetModel" SandboxCloneGetModel: type: object properties: cloneId: type: string realm: type: string sourceInstance: type: string targetInstance: type: string sourceInstanceId: type: string targetInstanceId: type: string targetProfile: $ref: "#/components/schemas/SandboxResourceProfile" createdAt: type: string format: date-time createdBy: type: string lastUpdated: type: string format: date-time status: $ref: "#/components/schemas/SandboxCloneState" elapsedTimeInSec: type: integer progressPercentage: type: integer lastKnownState: type: string description: The last known clone processing state before completion or failure customCodeVersion: type: string storefrontCount: type: integer filesystemUsageSize: type: integer format: int64 databaseTransferSize: type: integer format: int64 SandboxCloneCreateModel: type: object properties: cloneId: type: string example: zyom-002-017-180620251331 GranularUsage: type: object properties: usageDate: type: string description: start of the usage being returned creditsUp: type: number format: double description: Credits consumed when sandboxes were up during the requested timeframe. example: 3600.001 creditsDown: type: number format: double description: Credits consumed when sandboxes were down during the requested timeframe. example: 1440.001 minutesUp: type: integer format: int64 description: Minutes sandboxes were up during the requested timeframe. example: 360000 minutesDown: type: integer format: int64 description: Minutes sandboxes were down during the requested timeframe. example: 180000 secondsUp: type: integer format: int64 description: Seconds sandboxes were up during the requested timeframe. Used internally for precise calculations. example: 21600000 secondsDown: type: integer format: int64 description: Seconds sandboxes were down during the requested timeframe. Used internally for precise calculations. example: 10800000 SandboxInfo: type: object properties: realm: type: string resourceProfile: $ref: "#/components/schemas/SandboxResourceProfile" createdAt: type: string format: date-time deletedAt: type: string format: date-time description: Time when the delete operation was created. name: type: string description: Name of the sandbox instanceId: type: string description: instanceId of the sandbox minutesUpByProfile: type: array items: type: object properties: profile: $ref: "#/components/schemas/SandboxResourceProfile" minutes: type: integer format: int64 description: How many minutes sandboxes of this profile type were running during the report timeframe. minutesUp: type: integer format: int64 description: Minutes sandbox in this realm was running during the requested timeframe (by default, the previous 30 days). example: 360000 minutesDown: type: integer format: int64 description: Minutes sandbox in this realm was not running during the requested timeframe (by default, the previous 30 days). example: 180000 sandboxSeconds: type: integer format: int64 description: Total number of seconds during which the sandbox ran. sandboxSecondsDown: type: integer format: int64 description: Total downtime in seconds. autoScheduled: type: boolean description: "Defaults to false. If set to true, the sandbox is covered by automatic start/stop actions, which can be set to a dedicated time via realm- configuration API.:" startScheduler: $ref: "#/components/schemas/WeekdaySchedule" stopScheduler: $ref: "#/components/schemas/WeekdaySchedule" clusterName: type: string description: Cluster where sandbox resides. SandboxState: type: string enum: - new - creating - starting - started - stopping - stopped - deleting - deleted - resetting - failed - unknown - upgrading SandboxCloneState: type: string enum: - PENDING - IN_PROGRESS - COMPLETED - FAILED SandboxResourceProfile: type: string enum: - medium - large - xlarge - xxlarge description: Determines the resource allocation for the sandbox, "medium" is the default. Be careful, more powerful profiles consume more credits. SandboxOperationRequestModel: type: object required: - operation properties: operation: type: string enum: - start - stop - restart - reset SandboxAliasResponse: allOf: - $ref: "#/components/schemas/StatusResponse" - type: object properties: data: $ref: "#/components/schemas/SandboxAliasModel" SandboxAliasListResponse: allOf: - $ref: "#/components/schemas/StatusResponse" - type: object properties: data: type: array items: $ref: "#/components/schemas/SandboxAliasModel" SandboxAliasModel: type: object required: - name properties: id: type: string format: uuid readOnly: true description: The sandbox alias UUID. name: type: string description: The alias name. example: www.example.com unique: type: boolean description: Define if it's a unique configuration example: false requestLetsEncryptCertificate: type: boolean description: Request a valid certificate to be generated on the fly through Lets Encrypt. This action consumes certificate requests from the domain quota imposed by Let's Encrypt, please read the Alias documentation carefully. example: false sandboxId: type: string format: uuid readOnly: true description: The UUID of the sandbox the sandbox alias is pointing to. cookie: type: object properties: name: type: string value: type: string path: type: string domain: type: string required: - name - value readOnly: true description: The cookie required for each request to this alias. registration: type: string readOnly: true description: The link that can be used to save the required cookie for this alias in the browser. domainVerificationRecord: type: string readOnly: true description: The verification code to be added as TXT record in the DNS status: type: string enum: - pending - verified readOnly: true description: The status of the alias creation process SandboxOperationResponse: allOf: - $ref: "#/components/schemas/StatusResponse" - type: object properties: data: $ref: "#/components/schemas/SandboxOperationModel" SandboxOperationListResponse: allOf: - $ref: "#/components/schemas/PagedResponse" - type: object properties: data: type: array items: $ref: "#/components/schemas/SandboxOperationModel" SandboxSettingsResponse: allOf: - $ref: "#/components/schemas/StatusResponse" - type: object properties: data: $ref: "#/components/schemas/SandboxSettings" SandboxStorageResponse: allOf: - $ref: "#/components/schemas/StatusResponse" - type: object properties: data: $ref: "#/components/schemas/SandboxStorageModel" SandboxUsageResponse: allOf: - $ref: "#/components/schemas/StatusResponse" - type: object properties: data: $ref: "#/components/schemas/SandboxUsageModel" SandboxUsageModel: type: object required: - id properties: id: type: string sandboxSeconds: type: integer format: int64 description: Total number of seconds during which the sandbox ran. sandboxSecondsDown: type: integer format: int64 description: Total downtime in seconds. minutesUpByProfile: type: array items: type: object properties: profile: $ref: "#/components/schemas/SandboxResourceProfile" minutes: type: integer format: int64 description: How many minutes sandboxes of this profile type were running during the report timeframe. minutesUp: type: integer format: int64 description: Sum of minutes sandboxes in this realm were running during the requested timeframe (by default, the previous 30 days). example: 360000 minutesDown: type: integer format: int64 description: Sum of minutes sandboxes in this realm were not running during the requested timeframe (by default, the previous 30 days). example: 180000 granularUsage: type: array items: $ref: "#/components/schemas/GranularUsage" history: description: List of blocks, which describe the separate uptimes of a sandbox type: array items: type: object required: - from properties: from: type: string format: date-time description: Time the sandbox was started. to: type: string format: date-time description: Time the sandbox was stopped. If the sandbox is still running, this value will not exist for the last block. sandboxSeconds: type: integer format: int64 description: Number of seconds that the sandbox was running for this block. resourceProfile: $ref: "#/components/schemas/SandboxResourceProfile" exceedsTimeframe: type: boolean description: This property is set to true if the block exceeds the given timeframe and was therefore trimmed. clusterName: type: string description: Cluster where sandbox resides. SandboxOperationModel: type: object required: - id - operation - operationState properties: id: type: string operation: type: string enum: - start - stop - restart - reset - create - delete - upgrade createdAt: type: string format: date-time operationBy: type: string operationState: type: string enum: - pending - running - finished sandboxState: $ref: "#/components/schemas/SandboxState" status: type: string description: Indicates whether the operation finished successfully ('Success') or not ('Failure'). enum: - success - failure SandboxProvisioningRequestModel: type: object properties: realm: type: string emails: type: array items: type: string ttl: type: integer format: int32 description: Number of hours the sandbox will live (must adhere to the maximum TTL quotas). If set to 0 or less, the sandbox will have an infinite lifetime. autoScheduled: type: boolean description: Defaults to false. If set to true, the sandbox is covered by automatic start/stop actions, which can be set to a dedicated time via realm- configuration API. analyticsEnabled: type: boolean default: false description: Defaults to false. If set to true, analytics will be enabled in ODS. tags: type: array items: type: string startScheduler: x-type-overwrite: WeekdaySchedule nullable: true stopScheduler: x-type-overwrite: WeekdaySchedule nullable: true resourceProfile: $ref: "#/components/schemas/SandboxResourceProfile" settings: $ref: "#/components/schemas/SandboxSettings" required: - realm example: realm: emails: - email1@example.com - email2@example.com ttl: 24 autoScheduled: false tags: - analyticsEnabled: false startScheduler: weekdays: - MONDAY - TUESDAY - WEDNESDAY - THURSDAY - FRIDAY time: 08:00:00+03:00 stopScheduler: weekdays: - MONDAY - TUESDAY - WEDNESDAY - THURSDAY - FRIDAY time: 19:00:00Z resourceProfile: medium settings: ocapi: - client_id: resources: - resource_id: /** methods: - get - post - put - patch - delete read_attributes: (**) write_attributes: "" webdav: - client_id: permissions: - path: /cartridges operations: - read_write - path: /impex operations: - read_write SandboxCloneProvisioningRequestModel: type: object properties: targetProfile: $ref: "#/components/schemas/SandboxResourceProfile" emails: type: array items: type: string example: - email1@example.com - email2@example.com ttl: type: integer format: int32 default: 24 description: "Number of hours for the sandbox clone lifetime. Valid values are: 0 or negative (infinite lifetime), or 24 hours and above. Values between 1 and 23 are not allowed. The TTL must also adhere to the maximum TTL configuration for the realm." SandboxUpdateRequestModel: type: object properties: emails: type: array items: type: string ttl: type: integer format: int32 description: Number of hours added to the sandbox lifetime (must, together with previous extensions, adhere to the maximum TTL configuration). If set to 0 or less, the sandbox will have an infinite lifetime. resourceProfile: $ref: "#/components/schemas/SandboxResourceProfile" autoScheduled: type: boolean description: If set to true, this sandbox will be captured by automated start-/stop -management. tags: type: array items: type: string startScheduler: x-type-overwrite: WeekdaySchedule nullable: true stopScheduler: x-type-overwrite: WeekdaySchedule nullable: true example: emails: - email1@example.com - email2@example.com ttl: null autoScheduled: false resourceProfile: desiredProfile tags: - startScheduler: weekdays: - MONDAY - TUESDAY - WEDNESDAY - THURSDAY - FRIDAY time: 08:00:00+03:00 stopScheduler: weekdays: - MONDAY - TUESDAY - WEDNESDAY - THURSDAY - FRIDAY time: 19:00:00Z SandboxSettings: description: Map of additional settings evaluated when the sandbox is provisioned and initialized. type: object properties: ocapi: $ref: "#/components/schemas/OcapiSettings" webdav: $ref: "#/components/schemas/WebDavSettings" OcapiSettings: description: Use this document to configure Open Commerce API permissions for multiple client applications in the context of a single site. type: array minItems: 1 items: description: Describes Open Commerce API permissions for a client application. type: object required: - client_id properties: client_id: description: Client application ID. type: string format: uuid resources: description: Array of resource-specific permission documents. type: array items: description: Configures resource specific permissions and settings. type: object required: - methods - resource_id properties: methods: description: > Open Commerce API HTTP method filter. For example, the filter ["get","patch"] allows access to the GET and PATCH methods for the specified resource path. You can specify methods that are supported for a resource. You can list all available resources and methods for the Shop API, version 18.1, with the following meta data call: http://{your-domain}/dw/meta/rest/shop/v18_1?client_id={your-client-id} type: array items: type: string enum: - get - delete - patch - post - put read_attributes: description: > String that controls which properties are included in the response document. The configuration value must be specified using property selection syntax. type: string write_attributes: description: > String that controls which properties can be included in the request document. The configuration value must be specified using property selection syntax. type: string resource_id: description: > OCAPI resource identifier. For example: /products/*/images or /products/specific_id/images. This property supports Ant path style to describe resource IDs. You can specify wildcards or specific product IDs; you can also specify the pattern /products/** to access to all available sub-resources. You can list all resource identifiers for the Shop API, version 18.1, with the following meta data call: http://{your-domain}/dw/meta/rest/shop/v18_1?client_id={your-client-id} type: string version_range: description: Version range documents granting permissions only to a subset of OCAPI versions. type: array items: description: > Use this document to grant resource permissions only to a subset of Open Commerce API versions. You can use the properties from and until to define the range. At least one of both must be specified. type: object properties: from: description: From version (for example, 18.1). If you don't specify the from version, all versions including the oldest are accessible. type: string until: description: > Until version (for example, 18.1). The until version is exclusive, which means that it is not part of the range. If you don't specify the until version, all versions including the most recent one are accessible. type: string WebDavSettings: description: > WebDAV settings contain WebDAV client permissions for multiple client applications in the context of your organization. WebDAV client permissions enable you to configure which API clients can access your WebDAV files. These permissions also give you fine-grained control over which directories each client can access. type: array minItems: 1 items: description: An array of client-specific permission documents. type: object required: - client_id - permissions properties: client_id: description: Client ID indicating the API client for which the permissions are configured. type: string format: uuid permissions: description: > Array of directory-based permissions documents. Multiple permissions paths cannot intersect each other; for example, the following two paths intersect and are therefore invalid: /impex/src and /impex/src/foo. type: array items: description: Use this document to configure WebDAV permissions. type: object required: - path - operations properties: path: description: > Directory for which the WebDAV permission is granted, including all subdirectories. File-specific permissions are not permitted. type: string operations: description: > Array of operations granted on this directory. Possible values are read and read_write. type: array minItems: 1 items: type: string enum: - read - read_write ApiVersionResponse: type: object allOf: - $ref: "#/components/schemas/StatusResponse" - type: object properties: data: $ref: "#/components/schemas/ApiVersion" ApiVersion: type: object properties: version: type: string enum: - v1 git: type: object properties: commit: type: string time: type: string format: date-time build: type: object properties: version: type: string time: type: string format: date-time UserInfoResponse: allOf: - $ref: "#/components/schemas/StatusResponse" - type: object properties: data: $ref: "#/components/schemas/UserInfoSpec" UserInfoSpec: type: object properties: user: type: object properties: id: description: User's unique ID on Account Manager. type: string email: description: User's email address. type: string name: description: User's human-readable, full name. type: string client: type: object properties: id: description: OAuth client ID used to retrieve the access token. type: string roles: description: User's roles as returned by Account Manager. type: array items: type: string realms: description: Realms that the user is allowed to access. All sandboxes within these realms are accessible. type: array items: type: string sandboxes: description: Sandboxes that the user is allowed to access. type: array items: type: string SystemInfoResponse: allOf: - $ref: "#/components/schemas/StatusResponse" - type: object properties: data: $ref: "#/components/schemas/SystemInfoSpec" SystemInfoSpec: type: object properties: region: type: string description: The region, the system is deployed on. systemIps: type: array items: type: string description: Public IP addresses of internal services like API server sandboxIps: type: array items: type: string description: Public IP addresses of all sandboxes inboundIps: type: array items: type: string description: IP addresses for incoming traffic. outboundIps: type: array items: type: string description: IP addresses for outgoing traffic. ErrorResponse: allOf: - $ref: "#/components/schemas/StatusResponse" - type: object properties: error: $ref: "#/components/schemas/ErrorModel" ErrorModel: type: object required: - status properties: status: type: string description: String with value 'Success' or 'Failure' to indicate request outcome. enum: - Success - Failure message: type: string description: Human-readable description of the error. reason: type: string description: Machine-readable, one-word, CamelCase description of why the operation failed. If this value is empty, there is no information available. The reason clarifies an HTTP status code but does not override it. details: description: Extended data associated with the reason. Each reason can define its own extended details. This field is optional, and the data returned is not guaranteed to conform to any schema except that defined by the reason type. type: object additionalProperties: type: string