vania-janet/multiturn-rag-retrieval-data huggingface dataset:
In the Headers section, add any headers that you want to pass to the service one at a time by clicking Add header.

The service automatically sends an Authorization header with a JWT; you do not need to add one. If you want to handle authorization yourself, add your own authorization header and it will be used instead.



Your webhook details are saved automatically.





 Removing the webhook 

If you decide you do not want to log messages programmatically, complete the following steps:



1. From the assistant overview page, click the ![Overflow menu](https://cloud.ibm.com/docs-content/v1/content/a2b18c153837bce00a5b4de496e4b4ca64bbf56e/assistant-data/images/kebab.png) icon, and then choose Settings.
2. Click Webhooks > Log webhook.
3. Do one of the following things:



* To change the webhook that you want to call, click Delete webhook to delete the currently specified URL and secret. You can then add a new URL and other details.
* To stop calling a webhook to log every message and response, click the Log webhook switch to disable the webhook altogether.









 Webhook security 

To authenticate the webhook request, verify the JSON Web Token (JWT) that is sent with the request. The webhook microservice automatically generates a JWT and sends it in the Authorization header with each webhook call. It is your responsibility to add code to the external service that verifies the JWT.

For example, if you specify purple unicorn in the Secret field, you might add code similar to this:

const jwt = require('jsonwebtoken');
...
const token = request.headers.authentication; // grab the "Authentication" header
try {
const decoded = jwt.verify(token, 'purple unicorn');
} catch(err) {
// error thrown if token is invalid
}
CDR records are only for assistants that use the phone integration.



The log webhook does not return anything to your assistant.

For environments where private endpoints are in use, keep in mind that a webhook sends traffic over the internet.



 Defining the webhook 

You can define one webhook URL to use for logging every incoming message or CDR event.

The programmatic call to the external service must meet these requirements:



* The call must be a POST HTTP request.



To add the webhook details, complete the following steps:



1. In your assistant, go to Environments and open the environment where you want to configure the webhook.
2. On the Environments page, click the ![Environment settings icon](https://cloud.ibm.com/docs-content/v1/content/ca9232b3702768f24bb897f48f10778fcda28718/watson-assistant/images/gear-icon-black.png) icon beside the environment title to open the environment settings.
3. On the Environment settings page, click Webhooks > Log webhook.
4. Set the Log webhook switch to Enabled.

If you cannot enable the webhook, you might need to upgrade your service plan.
5. In the URL field, add the URL for the external application to which you want to send HTTP POST request callouts (for example, https://example.com/my_log_service.

You must specify a URL that uses the SSL protocol, so specify a URL that begins with https.
6. In the Secret field, add a token to pass with the request that can be used to authenticate with the external service.

The secret must be specified as a text string, such as purple unicorn. The maximum length is 1,024 characters. You cannot specify a context variable.

It is the responsibility of the external service to check for and verify the secret. If the external service does not require a token, specify any string you want. You cannot leave this field empty.
If you are experiencing this problem and the only browser you can use is Firefox, contact [Veeam support](https://www.veeam.com/support.html) for assistance.





 Procedure to delete Veeam licenses 

Deleting a Veeam license does not delete the Veeam service that is installed on a vCenter Server instance. To delete the service, you must do so in the IBM Cloud for VMware Solutions console.

For more information, see [Deleting services from vCenter Server instances](https://cloud.ibm.com/docs/vmwaresolutions?topic=vmwaresolutions-vc_deletingservices).

To delete a Veeam license:



1. From the IBM Cloud for VMware Solutions console, click Licenses from the left navigation pane.
2. Scroll down to the Veeam licenses table and select the license that you want to delete.
3. From the Actions menu, click Delete instance.
4. In the Delete license window, click Delete. The status of the license is changed to Removing. When the license deletion is completed, the license is no longer listed in the Veeam licenses table.







 Related links 



* [Veeam Backup and Replication 12 overview](https://cloud.ibm.com/docs/vmwaresolutions?topic=vmwaresolutions-veeamvm_overview)
* [Ordering Veeam](https://cloud.ibm.com/docs/vmwaresolutions?topic=vmwaresolutions-veeam_ordering)
* [Managing Veeam](https://cloud.ibm.com/docs/vmwaresolutions?topic=vmwaresolutions-managingveeam)
* [Ordering Veeam stand-alone licenses](https://cloud.ibm.com/docs/vmwaresolutions?topic=vmwaresolutions-veeam_ordering_licenses)
"hourlyBillingFlag": false,
"supplementalCreateObjectOptions": {
"flavorKeyName": "B1_1X2X25"
}
}
]
}
Show more







 Provisioning a public virtual server with Place Order Object 

Provisioning a public virtual server that uses pre-set profiles is done by using the SoftLayer_Product_Order/placeOrder API service.

Not applicable for transient virtual servers.

To provision a public virtual server by using REST, a POST request would be submitted to [https://softlayer.github.io/reference/services/SoftLayer_Product_Order/placeOrder/](https://softlayer.github.io/reference/services/SoftLayer_Product_Order/placeOrder/) with the following JSON in the request body.

The item descriptions are not required on the prices. They are included only to show the product options that are being submitted.

The following JSON request body is a generic example.



 JSON Request Body 2 

{
"parameters": [
{
"location": "449600",
"packageId": 835,
"presetId": 554,
"prices":
{
"id": 45466,
"item": {
"description": "CentOS 7.x - Minimal Install (64 bit)"
}
},
{
"id": 2202,
"item": {
"description": "25 GB (SAN)"
}
},
{
"id": 905,
"item": {
"description": "Reboot / Remote Console"
}
},
{
"id": 273,
"item": {
"description": "100 Mbps Public & Private Network Uplinks"
}
},
{
"id": 50367,
"item": {
"description": "250 GB Bandwidth"
}
},
{
For example, when you directly navigate in this way to https://cdn.example.com/, your CDN considers that the request contains a non-match against the specified refererValues. When the CDN evaluates the appropriate effect or response through your Hotlink Protection, it determines that a non-match occurred. Therefore, your CDN denies access, rather than 'ALLOW'.





 Can I use private endpoint of object storage in CDN settings? 

No, CDN can only connect to object storage on public endpoints.





 Can I use the Brotli feature in the CDN service? 

No, the Brotli feature is not supported by our CDN service with Akamai.





 How do I create a CDN endpoint without using the domain? 

You can create a CDN endpoint without using the domain, but ONLY for a CDN of type Wildcard HTTPS. While creating a CDN of type Wildcard HTTPS, your CNAME acts as the CDN endpoint, and the CNAME is used to serve the traffic.





 Is HTTP/2 supported by the IBM Cloud Content Delivery Network service? 

Yes, HTTP/2 is supported by Akamai's Edge servers.





 Is WebSocket supported by the IBM Cloud Content Delivery Network service? 

No, WebSocket is not supported by Akamai's Edge servers.





 With multiple file purges, what's the difference between a favorite group and an unfavorite group? 

A favorite is a permanent group, which means that it will never be deleted unless you change it to an unfavorite group. An unfavorite group is a temporary group. This type of group is automatically deleted after 15 days of inactivity.

Favorite groups names must be unique. Unfavorite groups do not have this limitation.





 In what status is a CDN allowed to perform multiple file purges? 

Multiple file purges are allowed in the following states:



* Running
* Running - HTTP only
* CNAME configuration required
* Stopped







 Is IBM CDN compliant with Payment Card Industry Data Security Standard (PCI DSS)?
* The browser checks those CORS response headers to make sure that the CORS request is allowed.
* If the browser sees that the intended resource request should be allowed by the server, it makes a second request to the browser with the intended HTTP method, whether GET, POST, PUT and so on, with the same CORS request headers.



Afterward, the communication between the browser and CORS origin (different than that of the web page) proceeds as if it was a simple CORS request. Similar to a simple CORS request, content and resources are accessible and can be loaded if this second CORS request is allowed.







 Setting up CORS at your origin 

As shown in the previous diagrams, CORS is initiated by the requesting HTTP client. However, the effects depend on the requested origin. For your content to be ready for CORS requests, your origin must be configured correctly to respond with the correct CORS response headers and the correct access permissions.

The following example shows a basic CORS configuration for a Nginx server:

http {
 some http context configs

server {
 some server context configs

 URI path to some content
location /my-static-content {

 some location context configs

 Handle simple requests

 Consider only "HTTP GET" requests (content fetching)
if ($request_method = 'GET') {

 Allows the browser to access data from this server during CORS,
 only if the request comes from a web page from the following origin
add_header 'Access-Control-Allow-Origin' 'https://www.example.com';
}

 Handle preflight requests
if ($request_method = 'OPTIONS') {

 Allows the browser to access data from this server during CORS,
 only if the request comes from a web page from the following origin
add_header 'Access-Control-Allow-Origin' 'https://www.example.com';

 Allows only GET requests
add_header 'Access-Control-Allow-Methods' 'GET';

 Allows the following headers in the browser's request headers
 that may have been added by anything other than what the browser had added automatically
For more information regarding chrome body, follow this documentation [here](https://developer.mozilla.org/en-US/docs/Web/API/Notification).

You can follow these examples for quick start:

"ibmenchromebody": "{"title":"Hello Chrome", "options": {}}"





 ibmenfirefoxbody(string/json) 

This attribute is needed if you want to send push notification to a Firefox device. This is the body that you want to send to web server, this must be JSON in string format. For more information regarding Firefox body, follow this documentation [here](https://developer.mozilla.org/en-US/docs/Web/API/Notification).

You can follow these examples for quick start:

"ibmenfirefoxbody": "{"title":"Hello Firefox", "options": {}}"



 Example 

ibmenpushto: "{"fcm_devices": ["9c75975a-37d0-3898-905d-3b5ee0d7c172","C9CACDF5-6EBF-49E1-AD60-E25BA23E954C"]}"
ibmenpushto: "{"apns_devices": ["1c75972a-37d0-3898-905d-3b5ee0d7c172","M9CACDF5-1EBF-49E1-AD60-E25BA23E954C"]}"

Multiple destinations can be targeted by using following methods:
Viewer As a viewer, you can view service instances, but you can't modify them. 







 Billing 

Review the available platform and service roles and the actions mapped to each to help you assign access. If you're using the CLI or API to assign access, use billing for the service name.

No supported roles.





 Blockchain Platform 2.0 

Review the available platform and service roles and the actions mapped to each to help you assign access. If you're using the CLI or API to assign access, use blockchain for the service name.

Service roles

Actions



Table 14. Service roles - Blockchain Platform 2.0
Use the tab buttons to change the context of the table. This table has row and column headers. The row headers provide the service role name and the column headers identify the specific information available about each role.

 Role Description 

 Manager As a manager, you have permissions beyond the writer role to complete privileged actions as defined by the service. In addition, you can create and edit service-specific resources. 
 Reader As a reader, you can perform read-only actions within a service such as viewing service-specific resources. 
 Writer As a writer, you have permissions beyond the reader role, including creating and editing service-specific resources. 







 Cloud Foundry for Custom Domain 

Review the available platform and service roles and the actions mapped to each to help you assign access. If you're using the CLI or API to assign access, use cf4customdomain for the service name.

Service roles

Actions



Table 15. Service roles - Cloud Foundry for Custom Domain
Use the tab buttons to change the context of the table. This table has row and column headers. The row headers provide the service role name and the column headers identify the specific information available about each role.

 Role Description 

 Manager As a manager, you have permissions beyond the writer role to complete privileged actions as defined by the service. In addition, you can create and edit service-specific resources. 
 Reader As a reader, you can perform read-only actions within a service such as viewing service-specific resources.
[cors-simple](https://cloud.ibm.com/docs-content/v1/content/006fd22ab2811b7d19804c763a00568b3da4c03a/CDN//images/cors-simple.svg)

Figure 1: First request (resource access)

[Simple requests](https://www.w3.org/TR/cors/simple-cross-origin-request) through CORS are either GET or POST requests from the web page of one origin that's attempting to gain access to the URL of another origin for resources.

When making such a request, the browser automatically sets CORS request headers. Primarily, it sets the origin of the web page making the request in the Origin HTTP header, automatically. The CORS request also can contain a set of [certain, standard HTTP headers](https://www.w3.org/TR/cors/simple-header), while maintaining its status as a simple CORS request, from the browser's perspective.

The server that receives the CORS request processes the request, and might send a set of CORS response headers back to the browser, with the requested content. These CORS response headers contain values specifying whether the current web page is allowed access to those resources, whether the headers sent are acceptable for that request, and so forth.

If the browser is unable to see its CORS request satisfied by the CORS response headers, it automatically prevents the access to and loading of the content. Otherwise, it sees that the CORS origin is giving permission to use the resource, and it allows the access to and loading of the requested content.





 Preflighted requests 

First request (preflight):

Zoom

![cors-preflight](https://cloud.ibm.com/docs-content/v1/content/006fd22ab2811b7d19804c763a00568b3da4c03a/CDN//images/cors-preflight.svg)

Figure 2: First request (preflight)

Second request (resource access):

Zoom
enPush.subscribe(tagName, function(response) {
alert(response.response)
})
* When the setup is complete, run your application and register for push notifications.







 Step 7: Send notifications to the Firefox device 

Use the [Send Notification API](https://cloud.ibm.com/apidocs/event-notifications/event-notificationssend-notifications) to send the push notification for the Firefox device. You can use the [Node](https://github.com/IBM/event-notifications-node-admin-sdksend-notifications) or [Go](https://github.com/IBM/event-notifications-go-admin-sdksend-notifications) admin SDK instead of calling the API directly.

Zoom

![Receive notifications](https://cloud.ibm.com/docs-content/v1/content/4c9a07fe500838e5e55e71e73131ef20b44a6c66/event-notifications/images/en-receive-push-firefox.png)

Figure 4. Receive notifications
: The Spanish narrowband model, es-ES_NarrowbandModel, was updated for improved speech recognition. By default, the service automatically uses the updated model for all recognition requests. If you have custom language or custom acoustic models that are based on this model, you must upgrade your custom models to take advantage of the updates by using the following methods:



* POST /v1/customizations/{customization_id}/upgrade_model
* POST /v1/acoustic_customizations/{customization_id}/upgrade_model



For more information, see [Upgrading custom models](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-custom-upgrade).

As of this update, the following two versions of the Spanish narrowband model are available:



* es_ES.8kHz.general.lm20180522235959.am20180522235959 (current)
* es_ES.8kHz.general.lm20180308235959.am20180308235959 (previous)



The following version of the model is no longer available:



* es_ES.8kHz.general.lm20171031235959.am20171031235959



A recognition request that attempts to use a custom model that is based on the now unavailable base model uses the latest base model without any customization. The service returns the following warning message: Using non-customized default base model, because your custom {type} model has been built with a version of the base model that is no longer supported. To resume using a custom model that is based on the unavailable model, you must first upgrade the model by using the appropriate upgrade_model method described previously.





 12 June 2018 

New features for applications hosted in Washington, DC, location
: The following features are enabled for applications that are hosted in Washington, DC (us-east):



* The service now supports a new API authentication process.
[Yes](https://cloud.ibm.com/docs-content/v1/content/ca9232b3702768f24bb897f48f10778fcda28718/watson-assistant/images/checkmark-icon.svg) ![Yes](https://cloud.ibm.com/docs-content/v1/content/ca9232b3702768f24bb897f48f10778fcda28718/watson-assistant/images/checkmark-icon.svg) 





* With the phone integration, the user_defined response type is used to send legacy commands (for example, vgwActForceNoInputTurn or vgwActSendSMS). For more information, see [Handling phone interactions](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-phone-actions).
* With the SMS integration, the user_defined response type is used to send action commands (for example, terminateSession or smsActSendMedia).







 Fields 



 Name Type Description Required? 

 response_type string user_defined Y 
 user_defined object An object containing any data the client or integration knows how to handle. This object can contain any valid JSON data, but it cannot exceed a total size of 5000 bytes. Y 







 Example 

This examples shows a generic example of a user-defined response. The user_defined object can contain any valid JSON data.

{
"generic":[
{
"response_type": "user_defined",
"user_defined": {
"field_1": "String value",
"array_1":
1,
2
],
"object_1": {
"property_1": "Another string value"
}
}
}
]
}
Show more







 video 

Displays a video specified by a URL.



 Integration channel support 



 Web chat SMS Slack Facebook WhatsApp 

 !
If you want to use connections over the public internet, you do not have to enable service endpoints on your IBM Cloud account. If you want to enable private networking on your deployments, you need to follow the instructions in the Service Endpoint documentation under [Enabling VRF and service endpoints](https://cloud.ibm.com/docs/account?topic=account-vrf-service-endpoint).

Currently, enabling service endpoints on your account is a manual step that is handled by support ticket. After you complete the [request](https://cloud.ibm.com/docs/account?topic=account-vrf-service-endpointservice-endpoint), you can check on the status of the ticket by going to your [Support](https://cloud.ibm.com/unifiedsupport/cases/manage) page on IBM Cloud





 Managing Code Engine resources securely by using service endpoints 



1. Specify a Code Engine project to use the private endpoint. You can configure a Code Engine project to use the private endpoint only with the CLI. To create a project, use the [ibmcloud ce project create](https://cloud.ibm.com/docs/codeengine?topic=codeengine-clicli-project-create) command with the --endpoint=private option.

ibmcloud ce project create --name myproject --endpoint=private

Wait until the project is in active status. With the CLI, you can confirm the project status by using the [ibmcloud ce project get](https://cloud.ibm.com/docs/codeengine?topic=codeengine-clicli-project-get) command.

If you want an existing Code Engine project to use the private endpoint, use the [ibmcloud ce project select](https://cloud.ibm.com/docs/codeengine?topic=codeengine-clicli-project-select) command with the --endpoint=private option.

ibmcloud ce project select --name myproject --endpoint=private
<AllowedMethod>POST</AllowedMethod>
</CORSRule>
</CORSConfiguration>

Example response

HTTP/1.1 200 OK
Date: Wed, 5 Oct 2016 15:39:38 GMT
X-Clv-Request-Id: 7afca6d8-e209-4519-8f2c-1af3f1540b42
Accept-Ranges: bytes
Server: Cleversafe/3.9.0.129
X-Clv-S3-Version: 2.5
x-amz-request-id: 7afca6d8-e209-4519-8f2c-1af3f1540b42
Content-Length: 0

--------------------





 Delete any cross-origin resource sharing configuration for a bucket 

A DELETE issued to a bucket with the proper parameters creates or replaces a cross-origin resource sharing (CORS) configuration for a bucket.

Not all operations are supported in Satellite environments. For details, see [supported Satellite APIs](https://cloud.ibm.com/docs/cloud-object-storage?topic=cloud-object-storage-apis-cos-satellite)

Syntax

DELETE https://{endpoint}/{bucket-name}?cors= path style
DELETE https://{bucket-name}.{endpoint}?cors= virtual host style

Example request

This is an example of deleting a CORS configuration for a bucket.

DELETE /apiary?cors= HTTP/1.1
Authorization: Bearer {token}
Host: s3.us.cloud-object-storage.appdomain.cloud

Example request

DELETE /apiary?cors= HTTP/1.1
Known limitations 

The Text to Speech service has the following known limitations. These issues apply to service functionality that spans releases on all platforms. For information about known limitations specific to Text to Speech for IBM Cloud Pak for Data version 4.6.x, see [Limitations and known issues in Watson Speech services](https://www.ibm.com/docs/en/cloud-paks/cp-data/4.6.x?topic=issues-watson-speech-services).



  Issue: The Ogg audio format is not supported with the Safari browser 

9 September 2022: By default, the service returns audio in the Ogg audio format with the Opus codec (audio/ogg;codecs=opus). However, the Ogg audio format is not supported with the Safari browser. If you are using the the Text to Speech service with the Safari browser, you must specify a different format in which you want the service to return the audio.



*  For more information about the available formats, see [Supported audio formats](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-audio-formatsformats-supported).
*  For more information about specifying a format, see [Specifying an audio format](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-audio-formatsformats-specify).







  Issue: Sampling rate for ogg format with opus codec is always 48 kHz 

22 August 2019: When you specify the audio/ogg;codecs=opus audio format, you can optionally specify a sampling rate other than the default 48,000 Hz. However, although the service accepts 48000, 24000, 16000, 12000, or 8000 as a valid sampling rate, it currently disregards a specified value and always returns the audio with a sampling rate of 48 kHz.