Introduction
The IBM Watson™ Assistant service combines machine learning, natural language understanding, and an integrated dialog editor to create conversation flows between your apps and your users.
The Assistant v1 API provides authoring methods your application can use to create or update a workspace.
This documentation describes Java SDK major version 9. For more information about how to update your code from the previous version, see the migration guide.
This documentation describes Node SDK major version 6. For more information about how to update your code from the previous version, see the migration guide.
This documentation describes Python SDK major version 5. For more information about how to update your code from the previous version, see the migration guide.
This documentation describes Ruby SDK major version 2. For more information about how to update your code from the previous version, see the migration guide.
This documentation describes .NET Standard SDK major version 5. For more information about how to update your code from the previous version, see the migration guide.
This documentation describes Go SDK major version 2. For more information about how to update your code from the previous version, see the migration guide.
This documentation describes Swift SDK major version 4. For more information about how to update your code from the previous version, see the migration guide.
This documentation describes Unity SDK major version 5. For more information about how to update your code from the previous version, see the migration guide.
For runtime methods that are used by a client application to send user input to an assistant, use the v2 API.
For runtime methods that are used by a client application to send user input to an assistant, use the v2 API.
For runtime methods that are used by a client application to send user input to an assistant, use the v2 API.
For runtime methods that are used by a client application to send user input to an assistant, use the v2 API reference.
For runtime methods that are used by a client application to send user input to an assistant, use the v2 API.
For runtime methods that are used by a client application to send user input to an assistant, use the v2 API.
For runtime methods that are used by a client application to send user input to an assistant, use the v2 API.
For runtime methods that are used by a client application to send user input to an assistant, use the v2 API.
For runtime methods that are used by a client application to send user input to an assistant, use the v2 API.
The IBM Watson Unity SDK has the following requirements.
- The SDK requires Unity version 2018.2 or later to support Transport Layer Security (TLS) 1.2.
- Set the project settings for both the Scripting Runtime Version and the Api Compatibility Level to
.NET 4.x Equivalent
. - For more information, see TLS 1.0 support.
- Set the project settings for both the Scripting Runtime Version and the Api Compatibility Level to
- The SDK doesn't support the WebGL projects. Change your build settings to any platform except
WebGL
.
For more information about how to install and configure the SDK and SDK Core, see https://github.com/watson-developer-cloud/unity-sdk.
The code examples on this tab use the client library that is provided for Java.
Maven
<dependency>
<groupId>com.ibm.watson</groupId>
<artifactId>ibm-watson</artifactId>
<version>10.0.1</version>
</dependency>
Gradle
compile 'com.ibm.watson:ibm-watson:10.0.1'
GitHub
The code examples on this tab use the client library that is provided for Node.js.
Installation
npm install ibm-watson@^7.0.0
GitHub
The code examples on this tab use the client library that is provided for Python.
Installation
pip install --upgrade "ibm-watson>=6.0.0"
GitHub
The code examples on this tab use the client library that is provided for Ruby.
Installation
gem install ibm_watson
GitHub
The code examples on this tab use the client library that is provided for Go.
go get -u github.com/watson-developer-cloud/go-sdk/v2@v3.0.0
GitHub
The code examples on this tab use the client library that is provided for Swift.
Cocoapods
pod 'IBMWatsonAssistantV1', '~> 5.0.0'
Carthage
github "watson-developer-cloud/swift-sdk" ~> 5.0.0
Swift Package Manager
.package(url: "https://github.com/watson-developer-cloud/swift-sdk", from: "5.0.0")
GitHub
The code examples on this tab use the client library that is provided for .NET Standard.
Package Manager
Install-Package IBM.Watson.Assistant.v1 -Version 6.0.0
.NET CLI
dotnet add package IBM.Watson.Assistant.v1 --version 6.0.0
PackageReference
<PackageReference Include="IBM.Watson.Assistant.v1" Version="6.0.0" />
GitHub
The code examples on this tab use the client library that is provided for Unity.
GitHub
IBM Cloud URLs
The base URLs come from the service instance. To find the URL, view the service credentials by clicking the name of the service in the Resource list. Use the value of the URL. Add the method to form the complete API endpoint for your request.
The following example URL represents a Watson Assistant instance that is hosted in Washington, DC:
https://api.us-east.assistant.watson.cloud.ibm.com/instances/6bbda3b3-d572-45e1-8c54-22d6ed9e52c2
The following URLs represent the base URLs for Watson Assistant. When you call the API, use the URL that corresponds to the location of your service instance.
- Dallas:
https://api.us-south.assistant.watson.cloud.ibm.com
- Washington, DC:
https://api.us-east.assistant.watson.cloud.ibm.com
- Frankfurt:
https://api.eu-de.assistant.watson.cloud.ibm.com
- Sydney:
https://api.au-syd.assistant.watson.cloud.ibm.com
- Tokyo:
https://api.jp-tok.assistant.watson.cloud.ibm.com
- London:
https://api.eu-gb.assistant.watson.cloud.ibm.com
- Seoul:
https://api.kr-seo.assistant.watson.cloud.ibm.com
Set the correct service URL by calling the setServiceUrl()
method of the service instance.
Set the correct service URL by specifying the serviceUrl
parameter when you create the service instance.
Set the correct service URL by calling the set_service_url()
method of the service instance.
Set the correct service URL by specifying the service_url
property of the service instance.
Set the correct service URL by calling the SetServiceURL()
method of the service instance.
Set the correct service URL by setting the serviceURL
property of the service instance.
Set the correct service URL by calling the SetServiceUrl()
method of the service instance.
Set the correct service URL by calling the SetServiceUrl()
method of the service instance.
Dallas API endpoint example for services managed on IBM Cloud
curl -X {request_method} -u "apikey:{apikey}" "https://api.us-south.assistant.watson.cloud.ibm.com/instances/{instance_id}"
Your service instance might not use this URL
Default URL
https://api.us-south.assistant.watson.cloud.ibm.com
Example for the Washington, DC location
IamAuthenticator authenticator = new IamAuthenticator("{apikey}");
Assistant assistant = new Assistant("{version}", authenticator);
assistant.setServiceUrl("https://api.us-east.assistant.watson.cloud.ibm.com");
Default URL
https://api.us-south.assistant.watson.cloud.ibm.com
Example for the Washington, DC location
const AssistantV1 = require('ibm-watson/assistant/v1');
const { IamAuthenticator } = require('ibm-watson/auth');
const assistant = new AssistantV1({
version: '{version}',
authenticator: new IamAuthenticator({
apikey: '{apikey}',
}),
serviceUrl: 'https://api.us-east.assistant.watson.cloud.ibm.com',
});
Default URL
https://api.us-south.assistant.watson.cloud.ibm.com
Example for the Washington, DC location
from ibm_watson import AssistantV1
from ibm_cloud_sdk_core.authenticators import IAMAuthenticator
authenticator = IAMAuthenticator('{apikey}')
assistant = AssistantV1(
version='{version}',
authenticator=authenticator
)
assistant.set_service_url('https://api.us-east.assistant.watson.cloud.ibm.com')
Default URL
https://api.us-south.assistant.watson.cloud.ibm.com
Example for the Washington, DC location
require "ibm_watson/authenticators"
require "ibm_watson/assistant_v1"
include IBMWatson
authenticator = Authenticators::IamAuthenticator.new(
apikey: "{apikey}"
)
assistant = AssistantV1.new(
version: "{version}",
authenticator: authenticator
)
assistant.service_url = "https://api.us-east.assistant.watson.cloud.ibm.com"
Default URL
https://api.us-south.assistant.watson.cloud.ibm.com
Example for the Washington, DC location
assistant, assistantErr := assistantv1.NewAssistantV1(options)
if assistantErr != nil {
panic(assistantErr)
}
assistant.SetServiceURL("https://api.us-east.assistant.watson.cloud.ibm.com")
Default URL
https://api.us-south.assistant.watson.cloud.ibm.com
Example for the Washington, DC location
let authenticator = WatsonIAMAuthenticator(apiKey: "{apikey}")
let assistant = Assistant(version: "{version}", authenticator: authenticator)
assistant.serviceURL = "https://api.us-east.assistant.watson.cloud.ibm.com"
Default URL
https://api.us-south.assistant.watson.cloud.ibm.com
Example for the Washington, DC location
IamAuthenticator authenticator = new IamAuthenticator(
apikey: "{apikey}"
);
AssistantService assistant = new AssistantService("{version}", authenticator);
assistant.SetServiceUrl("https://api.us-east.assistant.watson.cloud.ibm.com");
Default URL
https://api.us-south.assistant.watson.cloud.ibm.com
Example for the Washington, DC location
var authenticator = new IamAuthenticator(
apikey: "{apikey}"
);
while (!authenticator.CanAuthenticate())
yield return null;
var assistant = new AssistantService("{version}", authenticator);
assistant.SetServiceUrl("https://api.us-east.assistant.watson.cloud.ibm.com");
Disabling SSL verification
All Watson services use Secure Sockets Layer (SSL) (or Transport Layer Security (TLS)) for secure connections between the client and server. The connection is verified against the local certificate store to ensure authentication, integrity, and confidentiality.
If you use a self-signed certificate, you need to disable SSL verification to make a successful connection.
Enabling SSL verification is highly recommended. Disabling SSL jeopardizes the security of the connection and data. Disable SSL only if necessary, and take steps to enable SSL as soon as possible.
To disable SSL verification for a curl request, use the --insecure
(-k
) option with the request.
To disable SSL verification, create an HttpConfigOptions
object and set the disableSslVerification
property to true
. Then, pass the object to the service instance by using the configureClient
method.
To disable SSL verification, set the disableSslVerification
parameter to true
when you create the service instance.
To disable SSL verification, specify True
on the set_disable_ssl_verification
method for the service instance.
To disable SSL verification, set the disable_ssl_verification
parameter to true
in the configure_http_client()
method for the service instance.
To disable SSL verification, call the DisableSSLVerification
method on the service instance.
To disable SSL verification, call the disableSSLVerification()
method on the service instance. You cannot disable SSL verification on Linux.
To disable SSL verification, set the DisableSslVerification
method to true
on the service instance.
To disable SSL verification, set the DisableSslVerification
method to true
on the service instance.
Example to disable SSL verification. Replace {apikey}
and {url}
with your service credentials.
curl -k -X {request_method} -u "apikey:{apikey}" "{url}/{method}"
Example to disable SSL verification
IamAuthenticator authenticator = new IamAuthenticator("{apikey}");
Assistant assistant = new Assistant("{version}", authenticator);
assistant.setServiceUrl("{url}");
HttpConfigOptions configOptions = new HttpConfigOptions.Builder()
.disableSslVerification(true)
.build();
assistant.configureClient(configOptions);
Example to disable SSL verification
const AssistantV1 = require('ibm-watson/assistant/v1');
const { IamAuthenticator } = require('ibm-watson/auth');
const assistant = new AssistantV1({
version: '{version}',
authenticator: new IamAuthenticator({
apikey: '{apikey}',
}),
serviceUrl: '{url}',
disableSslVerification: true,
});
Example to disable SSL verification
from ibm_watson import AssistantV1
from ibm_cloud_sdk_core.authenticators import IAMAuthenticator
authenticator = IAMAuthenticator('{apikey}')
assistant = AssistantV1(
version='{version}',
authenticator=authenticator
)
assistant.set_service_url('{url}')
assistant.set_disable_ssl_verification(True)
Example to disable SSL verification
require "ibm_watson/authenticators"
require "ibm_watson/assistant_v1"
include IBMWatson
authenticator = Authenticators::IamAuthenticator.new(
apikey: "{apikey}"
)
assistant = AssistantV1.new(
version: "{version}",
authenticator: authenticator
)
assistant.service_url = "{url}"
assistant.configure_http_client(disable_ssl_verification: true)
Example to disable SSL verification
assistant, assistantErr := assistantv1.NewAssistantV1(options)
if assistantErr != nil {
panic(assistantErr)
}
assistant.SetServiceURL("{url}")
assistant.DisableSSLVerification()
Example to disable SSL verification
let authenticator = WatsonIAMAuthenticator(apiKey: "{apikey}")
let assistant = Assistant(version: "{version}", authenticator: authenticator)
assistant.serviceURL = "{url}"
assistant.disableSSLVerification()
Example to disable SSL verification
IamAuthenticator authenticator = new IamAuthenticator(
apikey: "{apikey}"
);
AssistantService assistant = new AssistantService("{version}", authenticator);
assistant.SetServiceUrl("{url}");
assistant.DisableSslVerification(true);
Example to disable SSL verification
var authenticator = new IamAuthenticator(
apikey: "{apikey}"
);
while (!authenticator.CanAuthenticate())
yield return null;
var assistant = new AssistantService("{version}", authenticator);
assistant.SetServiceUrl("{url}");
assistant.DisableSslVerification = true;
Authentication
You authenticate to the API by using IBM Cloud Identity and Access Management (IAM).
You can pass either a bearer token in an authorization header or an API key. Tokens support authenticated requests without embedding service credentials in every call. API keys use basic authentication. For more information, see Authenticating to Watson services.
- For testing and development, you can pass an API key directly.
- For production use, unless you use the Watson SDKs, use an IAM token.
If you pass in an API key, use apikey
for the username and the value of the API key as the password. For example, if the API key is f5sAznhrKQyvBFFaZbtF60m5tzLbqWhyALQawBg5TjRI
in the service credentials, include the credentials in your call like this:
curl -u "apikey:f5sAznhrKQyvBFFaZbtF60m5tzLbqWhyALQawBg5TjRI"
For IBM Cloud instances, the SDK provides initialization methods for each form of authentication.
- Use the API key to have the SDK manage the lifecycle of the access token. The SDK requests an access token, ensures that the access token is valid, and refreshes it if necessary.
- Use the access token to manage the lifecycle yourself. You must periodically refresh the token.
For more information, see IAM authentication with the SDK.For more information, see IAM authentication with the SDK.For more information, see IAM authentication with the SDK.For more information, see IAM authentication with the SDK.For more information, see IAM authentication with the SDK.For more information, see IAM authentication with the SDK.For more information, see IAM authentication with the SDK.For more information, see IAM authentication with the SDK.
The service access role that is associated with the API key determines which endpoints and methods you can access. For more information, see Resource-level role impact on available actions.
Replace {apikey}
and {url}
with your service credentials.
curl -X {request_method} -u "apikey:{apikey}" "{url}/v1/{method}"
SDK managing the IAM token. Replace {apikey}
, {version}
, and {url}
.
IamAuthenticator authenticator = new IamAuthenticator("{apikey}");
Assistant assistant = new Assistant("{version}", authenticator);
assistant.setServiceUrl("{url}");
SDK managing the IAM token. Replace {apikey}
, {version}
, and {url}
.
const AssistantV1 = require('ibm-watson/assistant/v1');
const { IamAuthenticator } = require('ibm-watson/auth');
const assistant = new AssistantV1({
version: '{version}',
authenticator: new IamAuthenticator({
apikey: '{apikey}',
}),
serviceUrl: '{url}',
});
SDK managing the IAM token. Replace {apikey}
, {version}
, and {url}
.
from ibm_watson import AssistantV1
from ibm_cloud_sdk_core.authenticators import IAMAuthenticator
authenticator = IAMAuthenticator('{apikey}')
assistant = AssistantV1(
version='{version}',
authenticator=authenticator
)
assistant.set_service_url('{url}')
SDK managing the IAM token. Replace {apikey}
, {version}
, and {url}
.
require "ibm_watson/authenticators"
require "ibm_watson/assistant_v1"
include IBMWatson
authenticator = Authenticators::IamAuthenticator.new(
apikey: "{apikey}"
)
assistant = AssistantV1.new(
version: "{version}",
authenticator: authenticator
)
assistant.service_url = "{url}"
SDK managing the IAM token. Replace {apikey}
, {version}
, and {url}
.
import (
"github.com/IBM/go-sdk-core/core"
"github.com/watson-developer-cloud/go-sdk/assistantv1"
)
func main() {
authenticator := &core.IamAuthenticator{
ApiKey: "{apikey}",
}
options := &assistantv1.AssistantV1Options{
Version: "{version}",
Authenticator: authenticator,
}
assistant, assistantErr := assistantv1.NewAssistantV1(options)
if assistantErr != nil {
panic(assistantErr)
}
assistant.SetServiceURL("{url}")
}
SDK managing the IAM token. Replace {apikey}
, {version}
, and {url}
.
let authenticator = WatsonIAMAuthenticator(apiKey: "{apikey}")
let assistant = Assistant(version: "{version}", authenticator: authenticator)
assistant.serviceURL = "{url}"
SDK managing the IAM token. Replace {apikey}
, {version}
, and {url}
.
IamAuthenticator authenticator = new IamAuthenticator(
apikey: "{apikey}"
);
AssistantService assistant = new AssistantService("{version}", authenticator);
assistant.SetServiceUrl("{url}");
SDK managing the IAM token. Replace {apikey}
, {version}
, and {url}
.
var authenticator = new IamAuthenticator(
apikey: "{apikey}"
);
while (!authenticator.CanAuthenticate())
yield return null;
var assistant = new AssistantService("{version}", authenticator);
assistant.SetServiceUrl("{url}");
Finding credentials in the UI
You can also access the service credentials from the Watson Assistant user interface (UI):
- To see the service credentials and the assistant ID of an assistant, open the assistant settings and click API Details. (The assistant ID is used only by the v2 API.)
- To see the service credentials and the workspace ID of a workspace, go to the Skills page and select View API Details from the menu of a skill tile. (The workspace ID is used only by the v1 API.)
If you cannot view the API details or the service credentials, you probably do not have Manager access to the service instance. Instead, you can create a personal API key using the IBM Cloud API keys page. For more information, see Managing user API keys.
Access between services
Your application might use more than one Watson service. You can grant access between services and you can grant access to more than one service for your applications.
For IBM Cloud services, the method to grant access between Watson services varies depending on the type of API key. For more information, see IAM access.
- To grant access between IBM Cloud services, create an authorization between the services. For more information, see Granting access between services.
- To grant access to your services by applications without using user credentials, create a service ID, add an API key, and assign access policies. For more information, see Creating and working with service IDs.
When you give a user ID access to multiple services, use an endpoint URL that includes the service instance ID (for example, https://api.us-south.assistant.watson.cloud.ibm.com/instances/6bbda3b3-d572-45e1-8c54-22d6ed9e52c2
). You can find the instance ID in two places:
-
By clicking the service instance row in the Resource list. The instance ID is the GUID in the details pane.
-
By clicking the name of the service instance in the list and looking at the credentials URL.
If you don't see the instance ID in the URL, the credentials predate service IDs. Add new credentials from the Service credentials page and use those credentials.
Versioning
API requests require a version parameter that takes a date in the format version=YYYY-MM-DD
. When the API is updated with any breaking changes, the service introduces a new version date for the API.
Send the version parameter with every API request. The service uses the API version for the date you specify, or the most recent version before that date. Don't default to the current date. Instead, specify a date that matches a version that is compatible with your app, and don't change it until your app is ready for a later version.
Specify the version to use on API requests with the version parameter when you create the service instance. The service uses the API version for the date you specify, or the most recent version before that date. Don't default to the current date. Instead, specify a date that matches a version that is compatible with your app, and don't change it until your app is ready for a later version.
This documentation describes the current version of Watson Assistant, 2021-11-27
. In some cases, differences in earlier versions are noted in the descriptions of parameters and response models.
Error handling
Watson Assistant uses standard HTTP response codes to indicate whether a method completed successfully. HTTP response codes in the 2xx range indicate success. A response in the 4xx range is some sort of failure, and a response in the 5xx range usually indicates an internal system error that cannot be resolved by the user. Response codes are listed with the method.
ErrorResponse
Name | Description |
---|---|
code integer |
The HTTP response code. |
error string |
General description of an error. |
errors ErrorDetail[] |
Collection of specific constraint violations associated with the error. |
ErrorDetail
Name | Description |
---|---|
message string |
Description of a specific constraint violation. |
path string |
The location of the constraint violation. |
The Java SDK generates an exception for any unsuccessful method invocation. All methods that accept an argument can also throw an IllegalArgumentException
.
Exception | Description |
---|---|
IllegalArgumentException | An invalid argument was passed to the method. |
When the Java SDK receives an error response from the Watson Assistant service, it generates an exception from the com.ibm.watson.developer_cloud.service.exception
package. All service exceptions contain the following fields.
Field | Description |
---|---|
statusCode | The HTTP response code that is returned. |
message | A message that describes the error. |
When the Node SDK receives an error response from the Watson Assistant service, it creates an Error
object with information that describes the error that occurred. This error object is passed as the first parameter to the callback function for the method. The contents of the error object are as shown in the following table.
Error
Field | Description |
---|---|
code | The HTTP response code that is returned. |
message | A message that describes the error. |
The Python SDK generates an exception for any unsuccessful method invocation. When the Python SDK receives an error response from the Watson Assistant service, it generates an ApiException
with the following fields.
Field | Description |
---|---|
code | The HTTP response code that is returned. |
message | A message that describes the error. |
info | A dictionary of additional information about the error. |
When the Ruby SDK receives an error response from the Watson Assistant service, it generates an ApiException
with the following fields.
Field | Description |
---|---|
code | The HTTP response code that is returned. |
message | A message that describes the error. |
info | A dictionary of additional information about the error. |
The Go SDK generates an error for any unsuccessful service instantiation and method invocation. You can check for the error immediately. The contents of the error object are as shown in the following table.
Error
Field | Description |
---|---|
code | The HTTP response code that is returned. |
message | A message that describes the error. |
The Swift SDK returns a WatsonError
in the completionHandler
any unsuccessful method invocation. This error type is an enum that conforms to LocalizedError
and contains an errorDescription
property that returns an error message. Some of the WatsonError
cases contain associated values that reveal more information about the error.
Field | Description |
---|---|
errorDescription | A message that describes the error. |
When the .NET Standard SDK receives an error response from the Watson Assistant service, it generates a ServiceResponseException
with the following fields.
Field | Description |
---|---|
Message | A message that describes the error. |
CodeDescription | The HTTP response code that is returned. |
When the Unity SDK receives an error response from the Watson Assistant service, it generates an IBMError
with the following fields.
Field | Description |
---|---|
Url | The URL that generated the error. |
StatusCode | The HTTP response code returned. |
ErrorMessage | A message that describes the error. |
Response | The contents of the response from the server. |
ResponseHeaders | A dictionary of headers returned by the request. |
Example error handling
try {
// Invoke a method
} catch (NotFoundException e) {
// Handle Not Found (404) exception
} catch (RequestTooLargeException e) {
// Handle Request Too Large (413) exception
} catch (ServiceResponseException e) {
// Base class for all exceptions caused by error responses from the service
System.out.println("Service returned status code "
+ e.getStatusCode() + ": " + e.getMessage());
}
Example error handling
assistant.method(params)
.catch(err => {
console.log('error:', err);
});
Example error handling
from ibm_watson import ApiException
try:
# Invoke a method
except ApiException as ex:
print "Method failed with status code " + str(ex.code) + ": " + ex.message
Example error handling
require "ibm_watson"
begin
# Invoke a method
rescue IBMWatson::ApiException => ex
print "Method failed with status code #{ex.code}: #{ex.error}"
end
Example error handling
import "github.com/watson-developer-cloud/go-sdk/assistantv1"
// Instantiate a service
assistant, assistantErr := assistantv1.NewAssistantV1(options)
// Check for errors
if assistantErr != nil {
panic(assistantErr)
}
// Call a method
result, _, responseErr := assistant.MethodName(&methodOptions)
// Check for errors
if responseErr != nil {
panic(responseErr)
}
Example error handling
assistant.method() {
response, error in
if let error = error {
switch error {
case let .http(statusCode, message, metadata):
switch statusCode {
case .some(404):
// Handle Not Found (404) exception
print("Not found")
case .some(413):
// Handle Request Too Large (413) exception
print("Payload too large")
default:
if let statusCode = statusCode {
print("Error - code: \(statusCode), \(message ?? "")")
}
}
default:
print(error.localizedDescription)
}
return
}
guard let result = response?.result else {
print(error?.localizedDescription ?? "unknown error")
return
}
print(result)
}
Example error handling
try
{
// Invoke a method
}
catch(ServiceResponseException e)
{
Console.WriteLine("Error: " + e.Message);
}
catch (Exception e)
{
Console.WriteLine("Error: " + e.Message);
}
Example error handling
// Invoke a method
assistant.MethodName(Callback, Parameters);
// Check for errors
private void Callback(DetailedResponse<ExampleResponse> response, IBMError error)
{
if (error == null)
{
Log.Debug("ExampleCallback", "Response received: {0}", response.Response);
}
else
{
Log.Debug("ExampleCallback", "Error received: {0}, {1}, {3}", error.StatusCode, error.ErrorMessage, error.Response);
}
}
Additional headers
Some Watson services accept special parameters in headers that are passed with the request.
You can pass request header parameters in all requests or in a single request to the service.
To pass a request header, use the --header
(-H
) option with a curl request.
To pass header parameters with every request, use the setDefaultHeaders
method of the service object. See Data collection for an example use of this method.
To pass header parameters in a single request, use the addHeader
method as a modifier on the request before you execute it.
To pass header parameters with every request, specify the headers
parameter when you create the service object. See Data collection for an example use of this method.
To pass header parameters in a single request, use the headers
method as a modifier on the request before you execute it.
To pass header parameters with every request, specify the set_default_headers
method of the service object. See Data collection for an example use of this method.
To pass header parameters in a single request, include headers
as a dict
in the request.
To pass header parameters with every request, specify the add_default_headers
method of the service object. See Data collection for an example use of this method.
To pass header parameters in a single request, specify the headers
method as a chainable method in the request.
To pass header parameters with every request, specify the SetDefaultHeaders
method of the service object. See Data collection for an example use of this method.
To pass header parameters in a single request, specify the Headers
as a map
in the request.
To pass header parameters with every request, add them to the defaultHeaders
property of the service object. See Data collection for an example use of this method.
To pass header parameters in a single request, pass the headers
parameter to the request method.
To pass header parameters in a single request, use the WithHeader()
method as a modifier on the request before you execute it. See Data collection for an example use of this method.
To pass header parameters in a single request, use the WithHeader()
method as a modifier on the request before you execute it.
Example header parameter in a request
curl -X {request_method} -H "Request-Header: {header_value}" "{url}/v1/{method}"
Example header parameter in a request
ReturnType returnValue = assistant.methodName(parameters)
.addHeader("Custom-Header", "{header_value}")
.execute();
Example header parameter in a request
const parameters = {
{parameters}
};
assistant.methodName(
parameters,
headers: {
'Custom-Header': '{header_value}'
})
.then(result => {
console.log(response);
})
.catch(err => {
console.log('error:', err);
});
Example header parameter in a request
response = assistant.methodName(
parameters,
headers = {
'Custom-Header': '{header_value}'
})
Example header parameter in a request
response = assistant.headers(
"Custom-Header" => "{header_value}"
).methodName(parameters)
Example header parameter in a request
result, _, responseErr := assistant.MethodName(
&methodOptions{
Headers: map[string]string{
"Accept": "application/json",
},
},
)
Example header parameter in a request
let customHeader: [String: String] = ["Custom-Header": "{header_value}"]
assistant.methodName(parameters, headers: customHeader) {
response, error in
}
Example header parameter in a request
IamAuthenticator authenticator = new IamAuthenticator(
apikey: "{apikey}"
);
AssistantService assistant = new AssistantService("{version}", authenticator);
assistant.SetServiceUrl("{url}");
assistant.WithHeader("Custom-Header", "header_value");
Example header parameter in a request
var authenticator = new IamAuthenticator(
apikey: "{apikey}"
);
while (!authenticator.CanAuthenticate())
yield return null;
var assistant = new AssistantService("{version}", authenticator);
assistant.SetServiceUrl("{url}");
assistant.WithHeader("Custom-Header", "header_value");
Response details
The Watson Assistant service might return information to the application in response headers.
To access all response headers that the service returns, include the --include
(-i
) option with a curl request. To see detailed response data for the request, including request headers, response headers, and extra debugging information, include the --verbose
(-v
) option with the request.
Example request to access response headers
curl -X {request_method} {authentication_method} --include "{url}/v1/{method}"
To access information in the response headers, use one of the request methods that returns details with the response: executeWithDetails()
, enqueueWithDetails()
, or rxWithDetails()
. These methods return a Response<T>
object, where T
is the expected response model. Use the getResult()
method to access the response object for the method, and use the getHeaders()
method to access information in response headers.
Example request to access response headers
Response<ReturnType> response = assistant.methodName(parameters)
.executeWithDetails();
// Access response from methodName
ReturnType returnValue = response.getResult();
// Access information in response headers
Headers responseHeaders = response.getHeaders();
All response data is available in the Response<T>
object that is returned by each method. To access information in the response
object, use the following properties.
Property | Description |
---|---|
result |
Returns the response for the service-specific method. |
headers |
Returns the response header information. |
status |
Returns the HTTP status code. |
Example request to access response headers
assistant.methodName(parameters)
.then(response => {
console.log(response.headers);
})
.catch(err => {
console.log('error:', err);
});
The return value from all service methods is a DetailedResponse
object. To access information in the result object or response headers, use the following methods.
DetailedResponse
Method | Description |
---|---|
get_result() |
Returns the response for the service-specific method. |
get_headers() |
Returns the response header information. |
get_status_code() |
Returns the HTTP status code. |
Example request to access response headers
assistant.set_detailed_response(True)
response = assistant.methodName(parameters)
# Access response from methodName
print(json.dumps(response.get_result(), indent=2))
# Access information in response headers
print(response.get_headers())
# Access HTTP response status
print(response.get_status_code())
The return value from all service methods is a DetailedResponse
object. To access information in the response
object, use the following properties.
DetailedResponse
Property | Description |
---|---|
result |
Returns the response for the service-specific method. |
headers |
Returns the response header information. |
status |
Returns the HTTP status code. |
Example request to access response headers
response = assistant.methodName(parameters)
# Access response from methodName
print response.result
# Access information in response headers
print response.headers
# Access HTTP response status
print response.status
The return value from all service methods is a DetailedResponse
object. To access information in the response
object or response headers, use the following methods.
DetailedResponse
Method | Description |
---|---|
GetResult() |
Returns the response for the service-specific method. |
GetHeaders() |
Returns the response header information. |
GetStatusCode() |
Returns the HTTP status code. |
Example request to access response headers
import (
"github.com/IBM/go-sdk-core/core"
"github.com/watson-developer-cloud/go-sdk/assistantv1"
)
result, response, responseErr := assistant.MethodName(
&methodOptions{})
// Access result
core.PrettyPrint(response.GetResult(), "Result ")
// Access response headers
core.PrettyPrint(response.GetHeaders(), "Headers ")
// Access status code
core.PrettyPrint(response.GetStatusCode(), "Status Code ")
All response data is available in the WatsonResponse<T>
object that is returned in each method's completionHandler
.
Example request to access response headers
assistant.methodName(parameters) {
response, error in
guard let result = response?.result else {
print(error?.localizedDescription ?? "unknown error")
return
}
print(result) // The data returned by the service
print(response?.statusCode)
print(response?.headers)
}
The response contains fields for response headers, response JSON, and the status code.
DetailedResponse
Property | Description |
---|---|
Result |
Returns the result for the service-specific method. |
Response |
Returns the raw JSON response for the service-specific method. |
Headers |
Returns the response header information. |
StatusCode |
Returns the HTTP status code. |
Example request to access response headers
var results = assistant.MethodName(parameters);
var result = results.Result; // The result object
var responseHeaders = results.Headers; // The response headers
var responseJson = results.Response; // The raw response JSON
var statusCode = results.StatusCode; // The response status code
The response contains fields for response headers, response JSON, and the status code.
DetailedResponse
Property | Description |
---|---|
Result |
Returns the result for the service-specific method. |
Response |
Returns the raw JSON response for the service-specific method. |
Headers |
Returns the response header information. |
StatusCode |
Returns the HTTP status code. |
Example request to access response headers
private void Example()
{
assistant.MethodName(Callback, Parameters);
}
private void Callback(DetailedResponse<ResponseType> response, IBMError error)
{
var result = response.Result; // The result object
var responseHeaders = response.Headers; // The response headers
var responseJson = reresponsesults.Response; // The raw response JSON
var statusCode = response.StatusCode; // The response status code
}
Data labels
You can remove data associated with a specific customer if you label the data with a customer ID when you send a request to the service.
-
Use the
X-Watson-Metadata
header to associate a customer ID with the data. By adding a customer ID to a request, you indicate that it contains data that belongs to that customer.Specify a random or generic string for the customer ID. Do not include personal data, such as an email address. Pass the string
customer_id={id}
as the argument of the header.Labeling data is used only by methods that accept customer data.
-
Use the Delete labeled data method to remove data that is associated with a customer ID.
Use this process of labeling and deleting data only when you want to remove the data that is associated with a single customer, not when you want to remove data for multiple customers. For more information about Watson Assistant and labeling data, see Information security.
For more information about how to pass headers, see Additional headers.
Data collection
By default, Watson Assistant service instances that are not part of Enterprise plans collect data about API requests and their results. This data is collected only to improve the services for future users. The collected data is not shared or made public. Data is not collected for services that are part of Enterprise plans.
To prevent IBM usage of your data for an API request, set one of the following options.
- To prevent IBM from accessing user input and Watson responses, set the X-Watson-Learning-Opt-Out header parameter to
true
when you send a message. You must set the header on each message request that you do not want IBM to access for general service improvements. - To prevent IBM from accessing user input and Watson responses, set the X-Watson-Learning-Opt-Out header parameter to
true
when you send a message. You can set the header by using thesetDefaultHeaders
method of the service object you use to send message requests that you do not want to be accessed. - To prevent IBM from accessing user input and Watson responses, set the X-Watson-Learning-Opt-Out header parameter to
true
when you send a message. You can set the header by using theheaders
parameter when you create the service object you use to send message requests that you do not want to be accessed. - To prevent IBM from accessing user input and Watson responses, set the X-Watson-Learning-Opt-Out header parameter to
true
when you send a message. You can set the header by using theset_default_headers
method of the service object you use to send message requests that you do not want to be accessed. - To prevent IBM from accessing user input and Watson responses, set the X-Watson-Learning-Opt-Out header parameter to
true
when you send a message. You can set the header by using theadd_default_headers
method of the service object you use to send message requests that you do not want to be accessed. - To prevent IBM from accessing user input and Watson responses, set the X-Watson-Learning-Opt-Out header parameter to
true
when you send a message. You can set the header by using theSetDefaultHeaders
method of the service object you use to send message requests that you do not want to be accessed. - To prevent IBM from accessing user input and Watson responses, set the X-Watson-Learning-Opt-Out header parameter to
true
when you send a message. You can set the header by adding it to thedefaultHeaders
property of the service object you use to send message requests that you do not want to be accessed. - To prevent IBM from accessing training data such as intents and entities, set the X-Watson-Learning-Opt-Out header parameter to
true
when you create or update a workspace. This option marks the workspace as opted out, and no training data for that workspace will be used. (This option does not apply to messages, which must be opted out individually.) - To prevent IBM from accessing training data such as intents and entities, set the X-Watson-Learning-Opt-Out header parameter to
true
when you create or update a workspace. This option marks the workspace as opted out, and no training data for that workspace will be used. (This option does not apply to messages, which must be opted out individually.) You can set the header by using thesetDefaultHeaders
method of the service object you use to create or update the workspace. - To prevent IBM from accessing training data such as intents and entities, set the X-Watson-Learning-Opt-Out header parameter to
true
when you create or update a workspace. This option marks the workspace as opted out, and no training data for that workspace will be used. (This option does not apply to messages, which must be opted out individually.) You can set the header by using theheaders
parameter when you create the service object you use to create or update the workspace. - To prevent IBM from accessing training data such as intents and entities, set the X-Watson-Learning-Opt-Out header parameter to
true
when you create or update a workspace. This option marks the workspace as opted out, and no training data for that workspace will be used. (This option does not apply to messages, which must be opted out individually.) You can set the header by using theset_default_headers
method of the service object you use to create or update the workspace. - To prevent IBM from accessing training data such as intents and entities, set the X-Watson-Learning-Opt-Out header parameter to
true
when you create or update a workspace. This option marks the workspace as opted out, and no training data for that workspace will be used. (This option does not apply to messages, which must be opted out individually.) You can set the header by using theadd_default_headers
method of the service object you use to create or update the workspace. - To prevent IBM from accessing training data such as intents and entities, set the X-Watson-Learning-Opt-Out header parameter to
true
when you create or update a workspace. This option marks the workspace as opted out, and no training data for that workspace will be used. (This option does not apply to messages, which must be opted out individually.) You can set the header by using theSetDefaultHeaders
method of the service object you use to create or update the workspace. - To prevent IBM from accessing training data such as intents and entities, set the X-Watson-Learning-Opt-Out header parameter to
true
when you create or update a workspace. This option marks the workspace as opted out, and no training data for that workspace will be used. (This option does not apply to messages, which must be opted out individually.) You can set the header by adding it to thedefaultHeaders
property of the service object you use to create or update the workspace. - To prevent IBM from accessing training data such as intents and entities, set the X-Watson-Learning-Opt-Out header parameter to
true
when you create or update a workspace. This option marks the workspace as opted out, and no training data for that workspace will be used. (This option does not apply to messages, which must be opted out individually.) You can set the header by using theWithHeader()
method of the service object you use to create or update the workspace. - You can also mark a workspace as opted out by specifying a value of
true
for thelearning_opt_out
property in the JSON data that is used to create or update a workspace. This option applies only to training data, not to messages. (The HTTP header always overrides the JSON property, if both are specified.)
Example request
curl -u "apikey:{apikey}" -H "X-Watson-Learning-Opt-Out: true" "{url}/{method}"
Example request
Map<String, String> headers = new HashMap<String, String>();
headers.put("X-Watson-Learning-Opt-Out", "true");
assistant.setDefaultHeaders(headers);
Example request
const AssistantV1 = require('ibm-watson/assistant/v1');
const { IamAuthenticator } = require('ibm-watson/auth');
const assistant = new AssistantV1({
version: '{version}',
authenticator: new IamAuthenticator({
apikey: '{apikey}',
}),
serviceUrl: '{url}',
headers: {
'X-Watson-Learning-Opt-Out': 'true'
}
});
Example request
assistant.set_default_headers({'x-watson-learning-opt-out': "true"})
Example request
assistant.add_default_headers(headers: {"x-watson-learning-opt-out" => "true"})
Example request
import "net/http"
headers := http.Header{}
headers.Add("x-watson-learning-opt-out", "true")
assistant.SetDefaultHeaders(headers)
Example request
assistant.defaultHeaders["X-Watson-Learning-Opt-Out"] = "true"
Example request
IamAuthenticator authenticator = new IamAuthenticator(
apikey: "{apikey}"
);
AssistantService assistant = new AssistantService("{version}", authenticator);
assistant.SetServiceUrl("{url}");
assistant.WithHeader("X-Watson-Learning-Opt-Out", "true");
Example request
var authenticator = new IamAuthenticator(
apikey: "{apikey}"
);
while (!authenticator.CanAuthenticate())
yield return null;
var assistant = new AssistantService("{version}", authenticator);
assistant.SetServiceUrl("{url}");
assistant.WithHeader("X-Watson-Learning-Opt-Out", "true");
Synchronous and asynchronous requests
The Java SDK supports both synchronous (blocking) and asynchronous (non-blocking) execution of service methods. All service methods implement the ServiceCall interface.
- To call a method synchronously, use the
execute
method of theServiceCall
interface. You can call theexecute
method directly from an instance of the service. - To call a method asynchronously, use the
enqueue
method of theServiceCall
interface to receive a callback when the response arrives. The ServiceCallback interface of the method's argument providesonResponse
andonFailure
methods that you override to handle the callback.
The Ruby SDK supports both synchronous (blocking) and asynchronous (non-blocking) execution of service methods. All service methods implement the Concurrent::Async module. When you use the synchronous or asynchronous methods, an IVar object is returned. You access the DetailedResponse
object by calling ivar_object.value
.
For more information about the Ivar object, see the IVar class docs.
-
To call a method synchronously, either call the method directly or use the
.await
chainable method of theConcurrent::Async
module.Calling a method directly (without
.await
) returns aDetailedResponse
object. -
To call a method asynchronously, use the
.async
chainable method of theConcurrent::Async
module.
You can call the .await
and .async
methods directly from an instance of the service.
Example synchronous request
ReturnType returnValue = assistant.method(parameters).execute();
Example asynchronous request
assistant.method(parameters).enqueue(new ServiceCallback<ReturnType>() {
@Override public void onResponse(ReturnType response) {
. . .
}
@Override public void onFailure(Exception e) {
. . .
}
});
Example synchronous request
response = assistant.method_name(parameters)
or
response = assistant.await.method_name(parameters)
Example asynchronous request
response = assistant.async.method_name(parameters)
Pagination
Some API requests might return many results. To avoid performance issues, these results are returned one page at a time, with a limited number of results on each page. The starting point for each page of results is identified by a token called a cursor.
The default page size is 100 objects. To use a different page size, use the page_limit query parameterpage_limit parameterpageLimit parameterPageLimit parameter.
To change the attribute by which results are sorted, use the sort query parametersort parameterSort parameter. If you include multiple sortSort parameters on the same request, the results are sorted first by the first sorting attribute, then the second, and so on.
The supported sorting attributes vary by endpoint. For more information, see the API Reference information for each method.
For any request that uses pagination, the response includes a pagination object that specifies pagination information. This object includes two URLs that you can use to make subsequent requests:
- refresh_url: The URL for requesting the same page of results again.
- next_url: The URL for requesting the next page of results. The next_url property is omitted if no more results exist.
Each URL specifies the appropriate cursor parameter and retains the same page_limit and sort parameters that were used for the initial request.
For any request that uses pagination, the response includes a paginationPagination object that specifies pagination information. This object includes two cursor tokens, refreshCursorrefresh_cursorRefreshCursor and nextCursornext_cursorNextCursor, that you can specify on subsequent requests.
To request a specific page of results, specify the appropriate value by using the cursorCursor parameter. When you request subsequent pages, do not change the values of the sort and pageLimitsort and page_limitSort and PageLimit parameters (if any).
Pagination
Name | Description |
---|---|
refreshCursorrefresh_cursorRefreshCursor string |
The cursor value for the current page of results. |
nextCursornext_cursorNextCursor string |
The cursor value for the next page of results, if any. |
refreshUrlrefreshURLrefresh_urlRefreshUrl string |
The URL that returns the same page of results. |
nextUrlnextURLnext_urlNextUrl string |
The URL that returns the next page of results, if any. |
totalTotal integer |
Reserved for future use. |
matchedMatched integer |
Reserved for future use. |
Using cursor
parameter to request a specific page of results:
curl -u "apikey:{apikey}" "{url}/v1/workspaces/{workspace_id}/intents/hello/examples?cursor=eyJ0ZXh0Ijp7Im9yZGVyIjoiYXNjIiwiaW5kZXgiOjAsInZhbHVlIjoiSGV5In0sInBfcyI6NH0=&version=2019-02-28"
Example that retrieves and displays results one page at a time:
IamAuthenticator authenticator = new IamAuthenticator("{apikey}");
Assistant assistant = new Assistant("2019-02-28", authenticator);
assistant.setServiceUrl("{url}");
String workspaceId = "{workspace_id}";
String intent = "hello";
String cursor = "";
do {
ListExamplesOptions options = new ListExamplesOptions.Builder(workspaceId, intent)
.pageLimit(3)
.cursor(cursor)
.build();
ExampleCollection response = assistant.listExamples(options).execute().getResult();
List<Example> examples = response.getExamples();
cursor = response.getPagination().getNextCursor();
for (Example example : examples) {
System.out.println(example.text());
}
}
while(cursor != null);
Example that retrieves and displays results one page at a time:
const AssistantV1 = require('ibm-watson/assistant/v1');
const { IamAuthenticator } = require('ibm-watson/auth');
const assistant = new AssistantV1({
version: '2019-02-28',
authenticator: new IamAuthenticator({
apikey: '{apikey}',
}),
serviceUrl: '{url}',
});
const cursor = null;
getNextPage(cursor);
function getNextPage(cursor) {
const params = {
workspaceId: '{workspace_id}',
intent: 'hello',
cursor,
pageLimit: 3,
};
assistant.listExamples(params)
.then(res => {
for (const example in res.result.examples) {
console.log(res.result.examples[example]['text']);
}
if(res.result.pagination.next_cursor) {
getNextPage(res.result.pagination.next_cursor)
}
})
.catch(err => {
console.log(err)
});
}
Example that retrieves and displays results one page at a time:
from ibm_watson import AssistantV1
from ibm_cloud_sdk_core.authenticators import IAMAuthenticator
authenticator = IAMAuthenticator('{apikey}')
assistant = AssistantV1(
version='2019-02-28',
authenticator = authenticator
)
assistant.set_service_url('{url}')
cursor = None
while True:
response=assistant.list_examples(
workspace_id='{workspace_id}',
intent='hello',
cursor=cursor,
page_limit=3
).get_result()
for example in response.get('examples'):
print(example.get('text'))
cursor=response.get('pagination').get('next_cursor')
if not cursor:
break
Example that retrieves and displays results one page at a time:
require "ibm_watson/authenticators"
require "ibm_watson/assistant_v1"
include IBMWatson
authenticator = Authenticators::IamAuthenticator.new(
apikey: "{apikey}"
)
assistant = AssistantV1.new(
version: "2019-02-28",
authenticator: authenticator
)
assistant.service_url = "{url}"
cursor = nil
loop do
response = assistant.list_examples(
workspace_id: "{workspace_id}",
intent: "hello",
page_limit: 3,
cursor: cursor
)
response.result["examples"].each { |example|
puts example["text"]
}
cursor = response.result["pagination"]["next_cursor"]
if cursor.nil?
break
end
end
Example that retrieves and displays results one page at a time:
package main
import (
"fmt"
"github.com/IBM/go-sdk-core/core"
"github.com/watson-developer-cloud/go-sdk/assistantv1"
)
func main() {
authenticator := &core.IamAuthenticator{
ApiKey: "{apikey}",
}
options := &assistantv1.AssistantV1Options{
Version: "2019-02-28",
Authenticator: authenticator,
}
assistant, assistantErr := assistantv1.NewAssistantV1(options)
if assistantErr != nil {
panic(assistantErr)
}
assistant.SetServiceURL("{url}")
cursor := core.StringPtr("")
pageLimit := int64(3)
for {
result, _, responseErr := assistant.ListExamples(
&assistantv1.ListExamplesOptions{
WorkspaceID: core.StringPtr("{workspace_id}"),
Intent: core.StringPtr("hello"),
PageLimit: &pageLimit,
Cursor: cursor,
},
)
if responseErr != nil {
panic(responseErr)
}
for _, example := range result.Examples {
fmt.Println(*example.Text)
}
cursor = result.Pagination.NextCursor
if cursor == nil {
break
}
}
}
Example that retrieves and displays results one page at a time:
import Foundation
import AssistantV1
let authenticator = WatsonIAMAuthenticator.init(apiKey: "{apikey}")
assistant = Assistant(version: "2019-02-28", authenticator: authenticator)
assistant.serviceURL = "{url}"
func getNextPage(cursor: String?) {
assistant.listExamples(workspaceID: "{workspace_id}", intent: "hello", pageLimit: 2, cursor: cursor) {
response, error in
if let error = error {
print(error.localizedDescription)
return
}
guard let results = response?.result else {
print("No results found")
return
}
for example in results.examples {
print(example)
}
if let cursor = examples.pagination.nextCursor {
getNextPage(cursor?)
}
}
}
getNextPage(cursor: nil)
Example that retrieves and displays results one page at a time:
public class ListExamplesWithPagination
{
public ListExamplesWithPagination()
{
IamAuthenticator authenticator = new IamAuthenticator(apikey: "{apikey}");
AssistantService service = new AssistantService("2019-02-28", authenticator);
service.SetServiceUrl("{url}");
string workspaceId = "{workspace_id}";
string intent = "hello";
long? pageLimit = 3;
string cursor = "";
ListExamples(service, workspaceId, intent, pageLimit, cursor);
}
public void ListExamples(AssistantService service, string workspaceId, string intent, long? pageLimit, string cursor)
{
var result = service.ListExamples(
workspaceId: workspaceId,
intent: intent,
pageLimit: 3,
cursor: cursor
);
foreach (Example example in result.Result.Examples)
{
Console.WriteLine(example.Text);
}
var nextCursor = result.Result.Pagination.NextCursor;
if (!string.IsNullOrEmpty(nextCursor))
{
ListExamples(service, workspaceId, intent, pageLimit, nextCursor);
}
}
}
Example that retrieves and displays results one page at a time:
public void ListExamples(AssistantService service, string workspaceId, string intent, long? pageLimit, string cursor)
{
ExampleCollection listExamplesResponse = null;
service.ListExamples(
callback: (DetailedResponse<ExampleCollection> response, IBMError error) =>
{
Log.Debug("AssistantServiceV1", "ListExamples result: {0}", response.Response);
listExamplesResponse = response.Result;
foreach (Example example in listExamplesResponse.Examples)
{
Log.Debug("AssistantServiceV1", "Example text: {0}", example.Text);
}
var nextCursor = listExamplesResponse.Pagination.NextCursor;
if (!string.IsNullOrEmpty(nextCursor))
{
ListExamples(service, workspaceId, intent, pageLimit, nextCursor);
}
else
{
paginationDone = true;
}
},
workspaceId: workspaceId,
intent: intent,
pageLimit: 3,
cursor: cursor
);
}
var authenticator = new IamAuthenticator(
apikey: "{apikey}"
);
while (!authenticator.CanAuthenticate())
yield return null;
var assistant = new AssistantService("2019-02-28", authenticator);
assistant.SetServiceUrl("{url}");
bool isPaginationDone = false;
string workspaceId = "{workspace_id}";
string intent = "hello";
long? pageLimit = 3;
string cursor = "";
ListExamples(service, workspaceId, intent, pageLimit, cursor);
while (isPaginationDone == false)
yield return null;
Rate limiting
Rate limits for API requests are enforced on a per-service-instance basis. If the number of requests for a particular method and endpoint reaches the request limit within the specified time window, no further requests are accepted until the timer expires. After the timer expires, a new time window begins with the next accepted request.
The response to each HTTP request includes headers you can use to determine whether you are close to the rate limit:
X-RateLimit-Reset
: the time the current timer expires (in UNIX epoch time)X-RateLimit-Remaining
: the number of requests that remain in the current time windowX-RateLimit-Limit
: the total number of requests allowed within the time window
An HTTP status code of 429 indicates that the rate limit has been exceeded.
The number of allowed requests, and the length of the time window, vary by method and endpoint. The reference information for each endpoint specifies the rate limit that applies.
Related information
- Watson Assistant v2 API reference
- Watson Assistant v2 API reference
- Watson Assistant v2 API reference
- Watson Assistant v2 API reference
- Watson Assistant v2 API reference
- Watson Assistant v2 API reference
- Watson Assistant v2 API reference
- Watson Assistant v2 API reference
- Watson Assistantv2 API reference
- Watson Assistant docs
- Release notes
- Javadoc for Assistant
- Javadoc for sdk-core
Methods
Get response to user input
Send user input to a workspace and receive a response.
Important: This method has been superseded by the new v2 runtime API. The v2 API offers significant advantages, including ease of deployment, automatic state management, versioning, and search capabilities. For more information, see the documentation.
Send user input to a workspace and receive a response.
Important: This method has been superseded by the new v2 runtime API. The v2 API offers significant advantages, including ease of deployment, automatic state management, versioning, and search capabilities. For more information, see the documentation.
Send user input to a workspace and receive a response.
Important: This method has been superseded by the new v2 runtime API. The v2 API offers significant advantages, including ease of deployment, automatic state management, versioning, and search capabilities. For more information, see the documentation.
Send user input to a workspace and receive a response.
Important: This method has been superseded by the new v2 runtime API. The v2 API offers significant advantages, including ease of deployment, automatic state management, versioning, and search capabilities. For more information, see the documentation.
Send user input to a workspace and receive a response.
Important: This method has been superseded by the new v2 runtime API. The v2 API offers significant advantages, including ease of deployment, automatic state management, versioning, and search capabilities. For more information, see the documentation.
Send user input to a workspace and receive a response.
Important: This method has been superseded by the new v2 runtime API. The v2 API offers significant advantages, including ease of deployment, automatic state management, versioning, and search capabilities. For more information, see the documentation.
Send user input to a workspace and receive a response.
Important: This method has been superseded by the new v2 runtime API. The v2 API offers significant advantages, including ease of deployment, automatic state management, versioning, and search capabilities. For more information, see the documentation.
Send user input to a workspace and receive a response.
Important: This method has been superseded by the new v2 runtime API. The v2 API offers significant advantages, including ease of deployment, automatic state management, versioning, and search capabilities. For more information, see the documentation.
Send user input to a workspace and receive a response.
Important: This method has been superseded by the new v2 runtime API. The v2 API offers significant advantages, including ease of deployment, automatic state management, versioning, and search capabilities. For more information, see the documentation.
POST /v1/workspaces/{workspace_id}/message
(assistant *AssistantV1) Message(messageOptions *MessageOptions) (result *MessageResponse, response *core.DetailedResponse, err error)
(assistant *AssistantV1) MessageWithContext(ctx context.Context, messageOptions *MessageOptions) (result *MessageResponse, response *core.DetailedResponse, err error)
ServiceCall<MessageResponse> message(MessageOptions messageOptions)
message(params)
message(self,
workspace_id: str,
*,
input: 'MessageInput' = None,
intents: List['RuntimeIntent'] = None,
entities: List['RuntimeEntity'] = None,
alternate_intents: bool = None,
context: 'Context' = None,
output: 'OutputData' = None,
user_id: str = None,
nodes_visited_details: bool = None,
**kwargs
) -> DetailedResponse
message(workspace_id:, input: nil, intents: nil, entities: nil, alternate_intents: nil, context: nil, output: nil, user_id: nil, nodes_visited_details: nil)
func message(
workspaceID: String,
input: MessageInput? = nil,
intents: [RuntimeIntent]? = nil,
entities: [RuntimeEntity]? = nil,
alternateIntents: Bool? = nil,
context: Context? = nil,
output: OutputData? = nil,
userID: String? = nil,
nodesVisitedDetails: Bool? = nil,
headers: [String: String]? = nil,
completionHandler: @escaping (WatsonResponse<MessageResponse>?, WatsonError?) -> Void)
Message(string workspaceId, MessageInput input = null, List<RuntimeIntent> intents = null, List<RuntimeEntity> entities = null, bool? alternateIntents = null, Context context = null, OutputData output = null, string userId = null, bool? nodesVisitedDetails = null)
Message(Callback<MessageResponse> callback, string workspaceId, MessageInput input = null, List<RuntimeIntent> intents = null, List<RuntimeEntity> entities = null, bool? alternateIntents = null, Context context = null, OutputData output = null, string userId = null, bool? nodesVisitedDetails = null)
Request
Instantiate the MessageOptions
struct and set the fields to provide parameter values for the Message
method.
Use the MessageOptions.Builder
to create a MessageOptions
object that contains the parameter values for the message
method.
Path Parameters
Unique identifier of the workspace.
Query Parameters
Release date of the API version you want to use. Specify dates in YYYY-MM-DD format. The current version is
2021-11-27
.Whether to include additional diagnostic information about the dialog nodes that were visited during processing of the message.
Default:
false
The message to be sent. This includes the user's input, along with optional intents, entities, and context from the last response.
An input object that includes the input text.
Any additional data included with the message input.
input
Intents to use when evaluating the user input. Include intents from the previous response to continue using those intents rather than trying to recognize intents in the new input.
Entities to use when evaluating the message. Include entities from the previous response to continue using those entities rather than detecting entities in the new input.
Whether to return more than one intent. A value of
true
indicates that all matching intents are returned.Default:
false
State information for the conversation. To maintain state, include the context from the previous response.
Any context variable.
context
An output object that includes the response to the user, the dialog nodes that were triggered, and messages from the log.
Any additional data included with the output.
output
A string value that identifies the user who is interacting with the workspace. The client must provide a unique identifier for each individual end user who accesses the application. For user-based plans, this user ID is used to identify unique users for billing purposes. This string cannot contain carriage return, newline, or tab characters. If no value is specified in the input, user_id is automatically set to the value of context.conversation_id.
Note: This property is the same as the user_id property in the context metadata. If user_id is specified in both locations in a message request, the value specified at the root is used.
Possible values: 1 ≤ length ≤ 256
WithContext method only
A context.Context instance that you can use to specify a timeout for the operation or to cancel an in-flight request.
The Message options.
Unique identifier of the workspace.
An input object that includes the input text.
The text of the user input. This string cannot contain carriage return, newline, or tab characters.
Possible values: 1 ≤ length ≤ 2048
Whether to use spelling correction when processing the input. This property overrides the value of the spelling_suggestions property in the workspace settings.
Default:
false
Whether to use autocorrection when processing the input. If spelling correction is used and this property is
false
, any suggested corrections are returned in the suggested_text property of the message response. If this property istrue
, any corrections are automatically applied to the user input, and the original text is returned in the original_text property of the message response. This property overrides the value of the spelling_auto_correct property in the workspace settings.Default:
false
Input
Intents to use when evaluating the user input. Include intents from the previous response to continue using those intents rather than trying to recognize intents in the new input.
The name of the recognized intent.
A decimal percentage that represents Watson's confidence in the intent.
Intents
Entities to use when evaluating the message. Include entities from the previous response to continue using those entities rather than detecting entities in the new input.
Examples:ViewAn entity detected in the input.
An array of zero-based character offsets that indicate where the detected entity values begin and end in the input text.
Possible values: number of items = 2
The entity value that was recognized in the user input.
A decimal percentage that represents Watson's confidence in the recognized entity.
The recognized capture groups for the entity, as defined by the entity pattern.
A recognized capture group for the entity.
Zero-based character offsets that indicate where the entity value begins and ends in the input text.
Possible values: number of items = 2
Groups
An object containing detailed information about the entity recognized in the user input.
For more information about how system entities are interpreted, see the documentation.
The calendar used to represent a recognized date (for example,
Gregorian
).A unique identifier used to associate a recognized time and date. If the user input contains a date and time that are mentioned together (for example,
Today at 5
, the same datetime_link value is returned for both the@sys-date
and@sys-time
entities).A locale-specific holiday name (such as
thanksgiving
orchristmas
). This property is included when a@sys-date
entity is recognized based on a holiday name in the user input.The precision or duration of a time range specified by a recognized
@sys-time
or@sys-date
entity.Allowable values: [
day
,fortnight
,hour
,instant
,minute
,month
,quarter
,second
,week
,weekend
,year
]A unique identifier used to associate multiple recognized
@sys-date
,@sys-time
, or@sys-number
entities that are recognized as a range of values in the user's input (for example,from July 4 until July 14
orfrom 20 to 25
).The word in the user input that indicates that a
sys-date
orsys-time
entity is part of an implied range where only one date or time is specified (for example,since
oruntil
).A recognized mention of a relative day, represented numerically as an offset from the current date (for example,
-1
foryesterday
or10
forin ten days
).A recognized mention of a relative month, represented numerically as an offset from the current month (for example,
1
fornext month
or-3
forthree months ago
).A recognized mention of a relative week, represented numerically as an offset from the current week (for example,
2
forin two weeks
or-1
for `last week).A recognized mention of a relative date range for a weekend, represented numerically as an offset from the current weekend (for example,
0
forthis weekend
or-1
forlast weekend
).A recognized mention of a relative year, represented numerically as an offset from the current year (for example,
1
fornext year
or-5
forfive years ago
).A recognized mention of a specific date, represented numerically as the date within the month (for example,
30
forJune 30
.).A recognized mention of a specific day of the week as a lowercase string (for example,
monday
).A recognized mention of a specific month, represented numerically (for example,
7
forJuly
).A recognized mention of a specific quarter, represented numerically (for example,
3
forthe third quarter
).A recognized mention of a specific year (for example,
2016
).A recognized numeric value, represented as an integer or double.
The type of numeric value recognized in the user input (
integer
orrational
).A recognized term for a time that was mentioned as a part of the day in the user's input (for example,
morning
orafternoon
).A recognized mention of a relative hour, represented numerically as an offset from the current hour (for example,
3
forin three hours
or-1
foran hour ago
).A recognized mention of a relative time, represented numerically as an offset in minutes from the current time (for example,
5
forin five minutes
or-15
forfifteen minutes ago
).A recognized mention of a relative time, represented numerically as an offset in seconds from the current time (for example,
10
forin ten seconds
or-30
forthirty seconds ago
).A recognized specific hour mentioned as part of a time value (for example,
10
for10:15 AM
.).A recognized specific minute mentioned as part of a time value (for example,
15
for10:15 AM
.).A recognized specific second mentioned as part of a time value (for example,
30
for10:15:30 AM
.).A recognized time zone mentioned as part of a time value (for example,
EST
).
Interpretation
An array of possible alternative values that the user might have intended instead of the value returned in the value property. This property is returned only for
@sys-time
and@sys-date
entities when the user's input is ambiguous.This property is included only if the new system entities are enabled for the workspace.
The entity value that was recognized in the user input.
A decimal percentage that represents Watson's confidence in the recognized entity.
Alternatives
An object describing the role played by a system entity that is specifies the beginning or end of a range recognized in the user input. This property is included only if the new system entities are enabled for the workspace.
The relationship of the entity to the range.
Allowable values: [
date_from
,date_to
,number_from
,number_to
,time_from
,time_to
]
Role
Entities
Whether to return more than one intent. A value of
true
indicates that all matching intents are returned.Default:
false
State information for the conversation. To maintain state, include the context from the previous response.
The unique identifier of the conversation.
For internal use only.
Metadata related to the message.
A label identifying the deployment environment, used for filtering log data. This string cannot contain carriage return, newline, or tab characters.
Possible values: 1 ≤ length ≤ 256
A string value that identifies the user who is interacting with the workspace. The client must provide a unique identifier for each individual end user who accesses the application. For user-based plans, this user ID is used to identify unique users for billing purposes. This string cannot contain carriage return, newline, or tab characters. If no value is specified in the input, user_id is automatically set to the value of context.conversation_id.
Note: This property is the same as the user_id property at the root of the message body. If user_id is specified in both locations in a message request, the value specified at the root is used.
Possible values: 1 ≤ length ≤ 256
Metadata
Context
An output object that includes the response to the user, the dialog nodes that were triggered, and messages from the log.
An array of the nodes that were triggered to create the response, in the order in which they were visited. This information is useful for debugging and for tracing the path taken through the node tree.
An array of objects containing detailed diagnostic information about the nodes that were triggered during processing of the input message. Included only if nodes_visited_details is set to
true
in the message request.The unique ID of a dialog node that was triggered during processing of the input message.
The title of the dialog node.
The conditions that trigger the dialog node.
NodesVisitedDetails
An array of up to 50 messages logged with the request.
The severity of the log message.
Allowable values: [
info
,error
,warn
]The text of the log message.
A code that indicates the category to which the error message belongs.
An object that identifies the dialog element that generated the error message.
A string that indicates the type of dialog element that generated the error message.
Allowable values: [
dialog_node
]The unique identifier of the dialog node that generated the error message.
Source
LogMessages
Output intended for any channel. It is the responsibility of the client application to implement the supported response types.
The type of response returned by the dialog node. The specified response type must be supported by the client application or channel.
The text of the response.
An array of objects specifying channels for which the response is intended. If channels is present, the response is intended for a built-in integration and should not be handled by an API client.
A channel for which the response is intended.
Allowable values: [
chat
,facebook
,intercom
,slack
,text_messaging
,voice_telephony
,whatsapp
]
Channels
RuntimeResponseGeneric
Generic
Output
A string value that identifies the user who is interacting with the workspace. The client must provide a unique identifier for each individual end user who accesses the application. For user-based plans, this user ID is used to identify unique users for billing purposes. This string cannot contain carriage return, newline, or tab characters. If no value is specified in the input, user_id is automatically set to the value of context.conversation_id.
Note: This property is the same as the user_id property in the context metadata. If user_id is specified in both locations in a message request, the value specified at the root is used.
Possible values: 1 ≤ length ≤ 256
Whether to include additional diagnostic information about the dialog nodes that were visited during processing of the message.
Default:
false
The message options.
Unique identifier of the workspace.
An input object that includes the input text.
The text of the user input. This string cannot contain carriage return, newline, or tab characters.
Possible values: 1 ≤ length ≤ 2048
Whether to use spelling correction when processing the input. This property overrides the value of the spelling_suggestions property in the workspace settings.
Default:
false
Whether to use autocorrection when processing the input. If spelling correction is used and this property is
false
, any suggested corrections are returned in the suggested_text property of the message response. If this property istrue
, any corrections are automatically applied to the user input, and the original text is returned in the original_text property of the message response. This property overrides the value of the spelling_auto_correct property in the workspace settings.Default:
false
input
Intents to use when evaluating the user input. Include intents from the previous response to continue using those intents rather than trying to recognize intents in the new input.
The name of the recognized intent.
A decimal percentage that represents Watson's confidence in the intent.
intents
Entities to use when evaluating the message. Include entities from the previous response to continue using those entities rather than detecting entities in the new input.
Examples:ViewAn entity detected in the input.
An array of zero-based character offsets that indicate where the detected entity values begin and end in the input text.
Possible values: number of items = 2
The entity value that was recognized in the user input.
A decimal percentage that represents Watson's confidence in the recognized entity.
The recognized capture groups for the entity, as defined by the entity pattern.
A recognized capture group for the entity.
Zero-based character offsets that indicate where the entity value begins and ends in the input text.
Possible values: number of items = 2
groups
An object containing detailed information about the entity recognized in the user input.
For more information about how system entities are interpreted, see the documentation.
The calendar used to represent a recognized date (for example,
Gregorian
).A unique identifier used to associate a recognized time and date. If the user input contains a date and time that are mentioned together (for example,
Today at 5
, the same datetime_link value is returned for both the@sys-date
and@sys-time
entities).A locale-specific holiday name (such as
thanksgiving
orchristmas
). This property is included when a@sys-date
entity is recognized based on a holiday name in the user input.The precision or duration of a time range specified by a recognized
@sys-time
or@sys-date
entity.Allowable values: [
day
,fortnight
,hour
,instant
,minute
,month
,quarter
,second
,week
,weekend
,year
]A unique identifier used to associate multiple recognized
@sys-date
,@sys-time
, or@sys-number
entities that are recognized as a range of values in the user's input (for example,from July 4 until July 14
orfrom 20 to 25
).The word in the user input that indicates that a
sys-date
orsys-time
entity is part of an implied range where only one date or time is specified (for example,since
oruntil
).A recognized mention of a relative day, represented numerically as an offset from the current date (for example,
-1
foryesterday
or10
forin ten days
).A recognized mention of a relative month, represented numerically as an offset from the current month (for example,
1
fornext month
or-3
forthree months ago
).A recognized mention of a relative week, represented numerically as an offset from the current week (for example,
2
forin two weeks
or-1
for `last week).A recognized mention of a relative date range for a weekend, represented numerically as an offset from the current weekend (for example,
0
forthis weekend
or-1
forlast weekend
).A recognized mention of a relative year, represented numerically as an offset from the current year (for example,
1
fornext year
or-5
forfive years ago
).A recognized mention of a specific date, represented numerically as the date within the month (for example,
30
forJune 30
.).A recognized mention of a specific day of the week as a lowercase string (for example,
monday
).A recognized mention of a specific month, represented numerically (for example,
7
forJuly
).A recognized mention of a specific quarter, represented numerically (for example,
3
forthe third quarter
).A recognized mention of a specific year (for example,
2016
).A recognized numeric value, represented as an integer or double.
The type of numeric value recognized in the user input (
integer
orrational
).A recognized term for a time that was mentioned as a part of the day in the user's input (for example,
morning
orafternoon
).A recognized mention of a relative hour, represented numerically as an offset from the current hour (for example,
3
forin three hours
or-1
foran hour ago
).A recognized mention of a relative time, represented numerically as an offset in minutes from the current time (for example,
5
forin five minutes
or-15
forfifteen minutes ago
).A recognized mention of a relative time, represented numerically as an offset in seconds from the current time (for example,
10
forin ten seconds
or-30
forthirty seconds ago
).A recognized specific hour mentioned as part of a time value (for example,
10
for10:15 AM
.).A recognized specific minute mentioned as part of a time value (for example,
15
for10:15 AM
.).A recognized specific second mentioned as part of a time value (for example,
30
for10:15:30 AM
.).A recognized time zone mentioned as part of a time value (for example,
EST
).
interpretation
An array of possible alternative values that the user might have intended instead of the value returned in the value property. This property is returned only for
@sys-time
and@sys-date
entities when the user's input is ambiguous.This property is included only if the new system entities are enabled for the workspace.
The entity value that was recognized in the user input.
A decimal percentage that represents Watson's confidence in the recognized entity.
alternatives
An object describing the role played by a system entity that is specifies the beginning or end of a range recognized in the user input. This property is included only if the new system entities are enabled for the workspace.
The relationship of the entity to the range.
Allowable values: [
date_from
,date_to
,number_from
,number_to
,time_from
,time_to
]
role
entities
Whether to return more than one intent. A value of
true
indicates that all matching intents are returned.Default:
false
State information for the conversation. To maintain state, include the context from the previous response.
The unique identifier of the conversation.
For internal use only.
Metadata related to the message.
A label identifying the deployment environment, used for filtering log data. This string cannot contain carriage return, newline, or tab characters.
Possible values: 1 ≤ length ≤ 256
A string value that identifies the user who is interacting with the workspace. The client must provide a unique identifier for each individual end user who accesses the application. For user-based plans, this user ID is used to identify unique users for billing purposes. This string cannot contain carriage return, newline, or tab characters. If no value is specified in the input, user_id is automatically set to the value of context.conversation_id.
Note: This property is the same as the user_id property at the root of the message body. If user_id is specified in both locations in a message request, the value specified at the root is used.
Possible values: 1 ≤ length ≤ 256
metadata
context
An output object that includes the response to the user, the dialog nodes that were triggered, and messages from the log.
An array of the nodes that were triggered to create the response, in the order in which they were visited. This information is useful for debugging and for tracing the path taken through the node tree.
An array of objects containing detailed diagnostic information about the nodes that were triggered during processing of the input message. Included only if nodes_visited_details is set to
true
in the message request.The unique ID of a dialog node that was triggered during processing of the input message.
The title of the dialog node.
The conditions that trigger the dialog node.
nodesVisitedDetails
An array of up to 50 messages logged with the request.
The severity of the log message.
Allowable values: [
info
,error
,warn
]The text of the log message.
A code that indicates the category to which the error message belongs.
An object that identifies the dialog element that generated the error message.
A string that indicates the type of dialog element that generated the error message.
Allowable values: [
dialog_node
]The unique identifier of the dialog node that generated the error message.
source
logMessages
Output intended for any channel. It is the responsibility of the client application to implement the supported response types.
The type of response returned by the dialog node. The specified response type must be supported by the client application or channel.
The text of the response.
An array of objects specifying channels for which the response is intended. If channels is present, the response is intended for a built-in integration and should not be handled by an API client.
A channel for which the response is intended.
Allowable values: [
chat
,facebook
,intercom
,slack
,text_messaging
,voice_telephony
,whatsapp
]
channels
RuntimeResponseGeneric
generic
output
A string value that identifies the user who is interacting with the workspace. The client must provide a unique identifier for each individual end user who accesses the application. For user-based plans, this user ID is used to identify unique users for billing purposes. This string cannot contain carriage return, newline, or tab characters. If no value is specified in the input, user_id is automatically set to the value of context.conversation_id.
Note: This property is the same as the user_id property in the context metadata. If user_id is specified in both locations in a message request, the value specified at the root is used.
Possible values: 1 ≤ length ≤ 256
Whether to include additional diagnostic information about the dialog nodes that were visited during processing of the message.
Default:
false
parameters
Unique identifier of the workspace.
An input object that includes the input text.
The text of the user input. This string cannot contain carriage return, newline, or tab characters.
Possible values: 1 ≤ length ≤ 2048
Whether to use spelling correction when processing the input. This property overrides the value of the spelling_suggestions property in the workspace settings.
Default:
false
Whether to use autocorrection when processing the input. If spelling correction is used and this property is
false
, any suggested corrections are returned in the suggested_text property of the message response. If this property istrue
, any corrections are automatically applied to the user input, and the original text is returned in the original_text property of the message response. This property overrides the value of the spelling_auto_correct property in the workspace settings.Default:
false
input
Intents to use when evaluating the user input. Include intents from the previous response to continue using those intents rather than trying to recognize intents in the new input.
The name of the recognized intent.
A decimal percentage that represents Watson's confidence in the intent.
intents
Entities to use when evaluating the message. Include entities from the previous response to continue using those entities rather than detecting entities in the new input.
Examples:ViewAn entity detected in the input.
An array of zero-based character offsets that indicate where the detected entity values begin and end in the input text.
Possible values: number of items = 2
The entity value that was recognized in the user input.
A decimal percentage that represents Watson's confidence in the recognized entity.
The recognized capture groups for the entity, as defined by the entity pattern.
A recognized capture group for the entity.
Zero-based character offsets that indicate where the entity value begins and ends in the input text.
Possible values: number of items = 2
groups
An object containing detailed information about the entity recognized in the user input.
For more information about how system entities are interpreted, see the documentation.
The calendar used to represent a recognized date (for example,
Gregorian
).A unique identifier used to associate a recognized time and date. If the user input contains a date and time that are mentioned together (for example,
Today at 5
, the same datetime_link value is returned for both the@sys-date
and@sys-time
entities).A locale-specific holiday name (such as
thanksgiving
orchristmas
). This property is included when a@sys-date
entity is recognized based on a holiday name in the user input.The precision or duration of a time range specified by a recognized
@sys-time
or@sys-date
entity.Allowable values: [
day
,fortnight
,hour
,instant
,minute
,month
,quarter
,second
,week
,weekend
,year
]A unique identifier used to associate multiple recognized
@sys-date
,@sys-time
, or@sys-number
entities that are recognized as a range of values in the user's input (for example,from July 4 until July 14
orfrom 20 to 25
).The word in the user input that indicates that a
sys-date
orsys-time
entity is part of an implied range where only one date or time is specified (for example,since
oruntil
).A recognized mention of a relative day, represented numerically as an offset from the current date (for example,
-1
foryesterday
or10
forin ten days
).A recognized mention of a relative month, represented numerically as an offset from the current month (for example,
1
fornext month
or-3
forthree months ago
).A recognized mention of a relative week, represented numerically as an offset from the current week (for example,
2
forin two weeks
or-1
for `last week).A recognized mention of a relative date range for a weekend, represented numerically as an offset from the current weekend (for example,
0
forthis weekend
or-1
forlast weekend
).A recognized mention of a relative year, represented numerically as an offset from the current year (for example,
1
fornext year
or-5
forfive years ago
).A recognized mention of a specific date, represented numerically as the date within the month (for example,
30
forJune 30
.).A recognized mention of a specific day of the week as a lowercase string (for example,
monday
).A recognized mention of a specific month, represented numerically (for example,
7
forJuly
).A recognized mention of a specific quarter, represented numerically (for example,
3
forthe third quarter
).A recognized mention of a specific year (for example,
2016
).A recognized numeric value, represented as an integer or double.
The type of numeric value recognized in the user input (
integer
orrational
).A recognized term for a time that was mentioned as a part of the day in the user's input (for example,
morning
orafternoon
).A recognized mention of a relative hour, represented numerically as an offset from the current hour (for example,
3
forin three hours
or-1
foran hour ago
).A recognized mention of a relative time, represented numerically as an offset in minutes from the current time (for example,
5
forin five minutes
or-15
forfifteen minutes ago
).A recognized mention of a relative time, represented numerically as an offset in seconds from the current time (for example,
10
forin ten seconds
or-30
forthirty seconds ago
).A recognized specific hour mentioned as part of a time value (for example,
10
for10:15 AM
.).A recognized specific minute mentioned as part of a time value (for example,
15
for10:15 AM
.).A recognized specific second mentioned as part of a time value (for example,
30
for10:15:30 AM
.).A recognized time zone mentioned as part of a time value (for example,
EST
).
interpretation
An array of possible alternative values that the user might have intended instead of the value returned in the value property. This property is returned only for
@sys-time
and@sys-date
entities when the user's input is ambiguous.This property is included only if the new system entities are enabled for the workspace.
The entity value that was recognized in the user input.
A decimal percentage that represents Watson's confidence in the recognized entity.
alternatives
An object describing the role played by a system entity that is specifies the beginning or end of a range recognized in the user input. This property is included only if the new system entities are enabled for the workspace.
The relationship of the entity to the range.
Allowable values: [
date_from
,date_to
,number_from
,number_to
,time_from
,time_to
]
role
entities
Whether to return more than one intent. A value of
true
indicates that all matching intents are returned.Default:
false
State information for the conversation. To maintain state, include the context from the previous response.
The unique identifier of the conversation.
For internal use only.
Metadata related to the message.
A label identifying the deployment environment, used for filtering log data. This string cannot contain carriage return, newline, or tab characters.
Possible values: 1 ≤ length ≤ 256
A string value that identifies the user who is interacting with the workspace. The client must provide a unique identifier for each individual end user who accesses the application. For user-based plans, this user ID is used to identify unique users for billing purposes. This string cannot contain carriage return, newline, or tab characters. If no value is specified in the input, user_id is automatically set to the value of context.conversation_id.
Note: This property is the same as the user_id property at the root of the message body. If user_id is specified in both locations in a message request, the value specified at the root is used.
Possible values: 1 ≤ length ≤ 256
metadata
context
An output object that includes the response to the user, the dialog nodes that were triggered, and messages from the log.
An array of the nodes that were triggered to create the response, in the order in which they were visited. This information is useful for debugging and for tracing the path taken through the node tree.
An array of objects containing detailed diagnostic information about the nodes that were triggered during processing of the input message. Included only if nodes_visited_details is set to
true
in the message request.The unique ID of a dialog node that was triggered during processing of the input message.
The title of the dialog node.
The conditions that trigger the dialog node.
nodes_visited_details
An array of up to 50 messages logged with the request.
The severity of the log message.
Allowable values: [
info
,error
,warn
]The text of the log message.
A code that indicates the category to which the error message belongs.
An object that identifies the dialog element that generated the error message.
A string that indicates the type of dialog element that generated the error message.
Allowable values: [
dialog_node
]The unique identifier of the dialog node that generated the error message.
source
log_messages
Output intended for any channel. It is the responsibility of the client application to implement the supported response types.
The type of response returned by the dialog node. The specified response type must be supported by the client application or channel.
The text of the response.
An array of objects specifying channels for which the response is intended. If channels is present, the response is intended for a built-in integration and should not be handled by an API client.
A channel for which the response is intended.
Allowable values: [
chat
,facebook
,intercom
,slack
,text_messaging
,voice_telephony
,whatsapp
]
channels
RuntimeResponseGeneric
generic
output
A string value that identifies the user who is interacting with the workspace. The client must provide a unique identifier for each individual end user who accesses the application. For user-based plans, this user ID is used to identify unique users for billing purposes. This string cannot contain carriage return, newline, or tab characters. If no value is specified in the input, user_id is automatically set to the value of context.conversation_id.
Note: This property is the same as the user_id property in the context metadata. If user_id is specified in both locations in a message request, the value specified at the root is used.
Possible values: 1 ≤ length ≤ 256
Whether to include additional diagnostic information about the dialog nodes that were visited during processing of the message.
Default:
false
parameters
Unique identifier of the workspace.
An input object that includes the input text.
The text of the user input. This string cannot contain carriage return, newline, or tab characters.
Possible values: 1 ≤ length ≤ 2048
Whether to use spelling correction when processing the input. This property overrides the value of the spelling_suggestions property in the workspace settings.
Default:
false
Whether to use autocorrection when processing the input. If spelling correction is used and this property is
false
, any suggested corrections are returned in the suggested_text property of the message response. If this property istrue
, any corrections are automatically applied to the user input, and the original text is returned in the original_text property of the message response. This property overrides the value of the spelling_auto_correct property in the workspace settings.Default:
false
input
Intents to use when evaluating the user input. Include intents from the previous response to continue using those intents rather than trying to recognize intents in the new input.
The name of the recognized intent.
A decimal percentage that represents Watson's confidence in the intent.
intents
Entities to use when evaluating the message. Include entities from the previous response to continue using those entities rather than detecting entities in the new input.
Examples:ViewAn entity detected in the input.
An array of zero-based character offsets that indicate where the detected entity values begin and end in the input text.
Possible values: number of items = 2
The entity value that was recognized in the user input.
A decimal percentage that represents Watson's confidence in the recognized entity.
The recognized capture groups for the entity, as defined by the entity pattern.
A recognized capture group for the entity.
Zero-based character offsets that indicate where the entity value begins and ends in the input text.
Possible values: number of items = 2
groups
An object containing detailed information about the entity recognized in the user input.
For more information about how system entities are interpreted, see the documentation.
The calendar used to represent a recognized date (for example,
Gregorian
).A unique identifier used to associate a recognized time and date. If the user input contains a date and time that are mentioned together (for example,
Today at 5
, the same datetime_link value is returned for both the@sys-date
and@sys-time
entities).A locale-specific holiday name (such as
thanksgiving
orchristmas
). This property is included when a@sys-date
entity is recognized based on a holiday name in the user input.The precision or duration of a time range specified by a recognized
@sys-time
or@sys-date
entity.Allowable values: [
day
,fortnight
,hour
,instant
,minute
,month
,quarter
,second
,week
,weekend
,year
]A unique identifier used to associate multiple recognized
@sys-date
,@sys-time
, or@sys-number
entities that are recognized as a range of values in the user's input (for example,from July 4 until July 14
orfrom 20 to 25
).The word in the user input that indicates that a
sys-date
orsys-time
entity is part of an implied range where only one date or time is specified (for example,since
oruntil
).A recognized mention of a relative day, represented numerically as an offset from the current date (for example,
-1
foryesterday
or10
forin ten days
).A recognized mention of a relative month, represented numerically as an offset from the current month (for example,
1
fornext month
or-3
forthree months ago
).A recognized mention of a relative week, represented numerically as an offset from the current week (for example,
2
forin two weeks
or-1
for `last week).A recognized mention of a relative date range for a weekend, represented numerically as an offset from the current weekend (for example,
0
forthis weekend
or-1
forlast weekend
).A recognized mention of a relative year, represented numerically as an offset from the current year (for example,
1
fornext year
or-5
forfive years ago
).A recognized mention of a specific date, represented numerically as the date within the month (for example,
30
forJune 30
.).A recognized mention of a specific day of the week as a lowercase string (for example,
monday
).A recognized mention of a specific month, represented numerically (for example,
7
forJuly
).A recognized mention of a specific quarter, represented numerically (for example,
3
forthe third quarter
).A recognized mention of a specific year (for example,
2016
).A recognized numeric value, represented as an integer or double.
The type of numeric value recognized in the user input (
integer
orrational
).A recognized term for a time that was mentioned as a part of the day in the user's input (for example,
morning
orafternoon
).A recognized mention of a relative hour, represented numerically as an offset from the current hour (for example,
3
forin three hours
or-1
foran hour ago
).A recognized mention of a relative time, represented numerically as an offset in minutes from the current time (for example,
5
forin five minutes
or-15
forfifteen minutes ago
).A recognized mention of a relative time, represented numerically as an offset in seconds from the current time (for example,
10
forin ten seconds
or-30
forthirty seconds ago
).A recognized specific hour mentioned as part of a time value (for example,
10
for10:15 AM
.).A recognized specific minute mentioned as part of a time value (for example,
15
for10:15 AM
.).A recognized specific second mentioned as part of a time value (for example,
30
for10:15:30 AM
.).A recognized time zone mentioned as part of a time value (for example,
EST
).
interpretation
An array of possible alternative values that the user might have intended instead of the value returned in the value property. This property is returned only for
@sys-time
and@sys-date
entities when the user's input is ambiguous.This property is included only if the new system entities are enabled for the workspace.
The entity value that was recognized in the user input.
A decimal percentage that represents Watson's confidence in the recognized entity.
alternatives
An object describing the role played by a system entity that is specifies the beginning or end of a range recognized in the user input. This property is included only if the new system entities are enabled for the workspace.
The relationship of the entity to the range.
Allowable values: [
date_from
,date_to
,number_from
,number_to
,time_from
,time_to
]
role
entities
Whether to return more than one intent. A value of
true
indicates that all matching intents are returned.Default:
false
State information for the conversation. To maintain state, include the context from the previous response.
The unique identifier of the conversation.
For internal use only.
Metadata related to the message.
A label identifying the deployment environment, used for filtering log data. This string cannot contain carriage return, newline, or tab characters.
Possible values: 1 ≤ length ≤ 256
A string value that identifies the user who is interacting with the workspace. The client must provide a unique identifier for each individual end user who accesses the application. For user-based plans, this user ID is used to identify unique users for billing purposes. This string cannot contain carriage return, newline, or tab characters. If no value is specified in the input, user_id is automatically set to the value of context.conversation_id.
Note: This property is the same as the user_id property at the root of the message body. If user_id is specified in both locations in a message request, the value specified at the root is used.
Possible values: 1 ≤ length ≤ 256
metadata
context
An output object that includes the response to the user, the dialog nodes that were triggered, and messages from the log.
An array of the nodes that were triggered to create the response, in the order in which they were visited. This information is useful for debugging and for tracing the path taken through the node tree.
An array of objects containing detailed diagnostic information about the nodes that were triggered during processing of the input message. Included only if nodes_visited_details is set to
true
in the message request.The unique ID of a dialog node that was triggered during processing of the input message.
The title of the dialog node.
The conditions that trigger the dialog node.
nodes_visited_details
An array of up to 50 messages logged with the request.
The severity of the log message.
Allowable values: [
info
,error
,warn
]The text of the log message.
A code that indicates the category to which the error message belongs.
An object that identifies the dialog element that generated the error message.
A string that indicates the type of dialog element that generated the error message.
Allowable values: [
dialog_node
]The unique identifier of the dialog node that generated the error message.
source
log_messages
Output intended for any channel. It is the responsibility of the client application to implement the supported response types.
The type of response returned by the dialog node. The specified response type must be supported by the client application or channel.
The text of the response.
An array of objects specifying channels for which the response is intended. If channels is present, the response is intended for a built-in integration and should not be handled by an API client.
A channel for which the response is intended.
Allowable values: [
chat
,facebook
,intercom
,slack
,text_messaging
,voice_telephony
,whatsapp
]
channels
RuntimeResponseGeneric
generic
output
A string value that identifies the user who is interacting with the workspace. The client must provide a unique identifier for each individual end user who accesses the application. For user-based plans, this user ID is used to identify unique users for billing purposes. This string cannot contain carriage return, newline, or tab characters. If no value is specified in the input, user_id is automatically set to the value of context.conversation_id.
Note: This property is the same as the user_id property in the context metadata. If user_id is specified in both locations in a message request, the value specified at the root is used.
Possible values: 1 ≤ length ≤ 256
Whether to include additional diagnostic information about the dialog nodes that were visited during processing of the message.
Default:
false
parameters
Unique identifier of the workspace.
An input object that includes the input text.
The text of the user input. This string cannot contain carriage return, newline, or tab characters.
Possible values: 1 ≤ length ≤ 2048
Whether to use spelling correction when processing the input. This property overrides the value of the spelling_suggestions property in the workspace settings.
Default:
false
Whether to use autocorrection when processing the input. If spelling correction is used and this property is
false
, any suggested corrections are returned in the suggested_text property of the message response. If this property istrue
, any corrections are automatically applied to the user input, and the original text is returned in the original_text property of the message response. This property overrides the value of the spelling_auto_correct property in the workspace settings.Default:
false
input
Intents to use when evaluating the user input. Include intents from the previous response to continue using those intents rather than trying to recognize intents in the new input.
The name of the recognized intent.
A decimal percentage that represents Watson's confidence in the intent.
intents
Entities to use when evaluating the message. Include entities from the previous response to continue using those entities rather than detecting entities in the new input.
Examples:ViewAn entity detected in the input.
An array of zero-based character offsets that indicate where the detected entity values begin and end in the input text.
Possible values: number of items = 2
The entity value that was recognized in the user input.
A decimal percentage that represents Watson's confidence in the recognized entity.
The recognized capture groups for the entity, as defined by the entity pattern.
A recognized capture group for the entity.
Zero-based character offsets that indicate where the entity value begins and ends in the input text.
Possible values: number of items = 2
groups
An object containing detailed information about the entity recognized in the user input.
For more information about how system entities are interpreted, see the documentation.
The calendar used to represent a recognized date (for example,
Gregorian
).A unique identifier used to associate a recognized time and date. If the user input contains a date and time that are mentioned together (for example,
Today at 5
, the same datetime_link value is returned for both the@sys-date
and@sys-time
entities).A locale-specific holiday name (such as
thanksgiving
orchristmas
). This property is included when a@sys-date
entity is recognized based on a holiday name in the user input.The precision or duration of a time range specified by a recognized
@sys-time
or@sys-date
entity.Allowable values: [
day
,fortnight
,hour
,instant
,minute
,month
,quarter
,second
,week
,weekend
,year
]A unique identifier used to associate multiple recognized
@sys-date
,@sys-time
, or@sys-number
entities that are recognized as a range of values in the user's input (for example,from July 4 until July 14
orfrom 20 to 25
).The word in the user input that indicates that a
sys-date
orsys-time
entity is part of an implied range where only one date or time is specified (for example,since
oruntil
).A recognized mention of a relative day, represented numerically as an offset from the current date (for example,
-1
foryesterday
or10
forin ten days
).A recognized mention of a relative month, represented numerically as an offset from the current month (for example,
1
fornext month
or-3
forthree months ago
).A recognized mention of a relative week, represented numerically as an offset from the current week (for example,
2
forin two weeks
or-1
for `last week).A recognized mention of a relative date range for a weekend, represented numerically as an offset from the current weekend (for example,
0
forthis weekend
or-1
forlast weekend
).A recognized mention of a relative year, represented numerically as an offset from the current year (for example,
1
fornext year
or-5
forfive years ago
).A recognized mention of a specific date, represented numerically as the date within the month (for example,
30
forJune 30
.).A recognized mention of a specific day of the week as a lowercase string (for example,
monday
).A recognized mention of a specific month, represented numerically (for example,
7
forJuly
).A recognized mention of a specific quarter, represented numerically (for example,
3
forthe third quarter
).A recognized mention of a specific year (for example,
2016
).A recognized numeric value, represented as an integer or double.
The type of numeric value recognized in the user input (
integer
orrational
).A recognized term for a time that was mentioned as a part of the day in the user's input (for example,
morning
orafternoon
).A recognized mention of a relative hour, represented numerically as an offset from the current hour (for example,
3
forin three hours
or-1
foran hour ago
).A recognized mention of a relative time, represented numerically as an offset in minutes from the current time (for example,
5
forin five minutes
or-15
forfifteen minutes ago
).A recognized mention of a relative time, represented numerically as an offset in seconds from the current time (for example,
10
forin ten seconds
or-30
forthirty seconds ago
).A recognized specific hour mentioned as part of a time value (for example,
10
for10:15 AM
.).A recognized specific minute mentioned as part of a time value (for example,
15
for10:15 AM
.).A recognized specific second mentioned as part of a time value (for example,
30
for10:15:30 AM
.).A recognized time zone mentioned as part of a time value (for example,
EST
).
interpretation
An array of possible alternative values that the user might have intended instead of the value returned in the value property. This property is returned only for
@sys-time
and@sys-date
entities when the user's input is ambiguous.This property is included only if the new system entities are enabled for the workspace.
The entity value that was recognized in the user input.
A decimal percentage that represents Watson's confidence in the recognized entity.
alternatives
An object describing the role played by a system entity that is specifies the beginning or end of a range recognized in the user input. This property is included only if the new system entities are enabled for the workspace.
The relationship of the entity to the range.
Allowable values: [
date_from
,date_to
,number_from
,number_to
,time_from
,time_to
]
role
entities
Whether to return more than one intent. A value of
true
indicates that all matching intents are returned.Default:
false
State information for the conversation. To maintain state, include the context from the previous response.
The unique identifier of the conversation.
For internal use only.
Metadata related to the message.
A label identifying the deployment environment, used for filtering log data. This string cannot contain carriage return, newline, or tab characters.
Possible values: 1 ≤ length ≤ 256
A string value that identifies the user who is interacting with the workspace. The client must provide a unique identifier for each individual end user who accesses the application. For user-based plans, this user ID is used to identify unique users for billing purposes. This string cannot contain carriage return, newline, or tab characters. If no value is specified in the input, user_id is automatically set to the value of context.conversation_id.
Note: This property is the same as the user_id property at the root of the message body. If user_id is specified in both locations in a message request, the value specified at the root is used.
Possible values: 1 ≤ length ≤ 256
metadata
context
An output object that includes the response to the user, the dialog nodes that were triggered, and messages from the log.
An array of the nodes that were triggered to create the response, in the order in which they were visited. This information is useful for debugging and for tracing the path taken through the node tree.
An array of objects containing detailed diagnostic information about the nodes that were triggered during processing of the input message. Included only if nodes_visited_details is set to
true
in the message request.The unique ID of a dialog node that was triggered during processing of the input message.
The title of the dialog node.
The conditions that trigger the dialog node.
nodes_visited_details
An array of up to 50 messages logged with the request.
The severity of the log message.
Allowable values: [
info
,error
,warn
]The text of the log message.
A code that indicates the category to which the error message belongs.
An object that identifies the dialog element that generated the error message.
A string that indicates the type of dialog element that generated the error message.
Allowable values: [
dialog_node
]The unique identifier of the dialog node that generated the error message.
source
log_messages
Output intended for any channel. It is the responsibility of the client application to implement the supported response types.
The type of response returned by the dialog node. The specified response type must be supported by the client application or channel.
The text of the response.
An array of objects specifying channels for which the response is intended. If channels is present, the response is intended for a built-in integration and should not be handled by an API client.
A channel for which the response is intended.
Allowable values: [
chat
,facebook
,intercom
,slack
,text_messaging
,voice_telephony
,whatsapp
]
channels
RuntimeResponseGeneric
generic
output
A string value that identifies the user who is interacting with the workspace. The client must provide a unique identifier for each individual end user who accesses the application. For user-based plans, this user ID is used to identify unique users for billing purposes. This string cannot contain carriage return, newline, or tab characters. If no value is specified in the input, user_id is automatically set to the value of context.conversation_id.
Note: This property is the same as the user_id property in the context metadata. If user_id is specified in both locations in a message request, the value specified at the root is used.
Possible values: 1 ≤ length ≤ 256
Whether to include additional diagnostic information about the dialog nodes that were visited during processing of the message.
Default:
false
parameters
Unique identifier of the workspace.
An input object that includes the input text.
The text of the user input. This string cannot contain carriage return, newline, or tab characters.
Possible values: 1 ≤ length ≤ 2048
Whether to use spelling correction when processing the input. This property overrides the value of the spelling_suggestions property in the workspace settings.
Default:
false
Whether to use autocorrection when processing the input. If spelling correction is used and this property is
false
, any suggested corrections are returned in the suggested_text property of the message response. If this property istrue
, any corrections are automatically applied to the user input, and the original text is returned in the original_text property of the message response. This property overrides the value of the spelling_auto_correct property in the workspace settings.Default:
false
input
Intents to use when evaluating the user input. Include intents from the previous response to continue using those intents rather than trying to recognize intents in the new input.
The name of the recognized intent.
A decimal percentage that represents Watson's confidence in the intent.
intents
Entities to use when evaluating the message. Include entities from the previous response to continue using those entities rather than detecting entities in the new input.
Examples:ViewAn entity detected in the input.
An array of zero-based character offsets that indicate where the detected entity values begin and end in the input text.
Possible values: number of items = 2
The entity value that was recognized in the user input.
A decimal percentage that represents Watson's confidence in the recognized entity.
The recognized capture groups for the entity, as defined by the entity pattern.
A recognized capture group for the entity.
Zero-based character offsets that indicate where the entity value begins and ends in the input text.
Possible values: number of items = 2
groups
An object containing detailed information about the entity recognized in the user input.
For more information about how system entities are interpreted, see the documentation.
The calendar used to represent a recognized date (for example,
Gregorian
).A unique identifier used to associate a recognized time and date. If the user input contains a date and time that are mentioned together (for example,
Today at 5
, the same datetime_link value is returned for both the@sys-date
and@sys-time
entities).A locale-specific holiday name (such as
thanksgiving
orchristmas
). This property is included when a@sys-date
entity is recognized based on a holiday name in the user input.The precision or duration of a time range specified by a recognized
@sys-time
or@sys-date
entity.Allowable values: [
day
,fortnight
,hour
,instant
,minute
,month
,quarter
,second
,week
,weekend
,year
]A unique identifier used to associate multiple recognized
@sys-date
,@sys-time
, or@sys-number
entities that are recognized as a range of values in the user's input (for example,from July 4 until July 14
orfrom 20 to 25
).The word in the user input that indicates that a
sys-date
orsys-time
entity is part of an implied range where only one date or time is specified (for example,since
oruntil
).A recognized mention of a relative day, represented numerically as an offset from the current date (for example,
-1
foryesterday
or10
forin ten days
).A recognized mention of a relative month, represented numerically as an offset from the current month (for example,
1
fornext month
or-3
forthree months ago
).A recognized mention of a relative week, represented numerically as an offset from the current week (for example,
2
forin two weeks
or-1
for `last week).A recognized mention of a relative date range for a weekend, represented numerically as an offset from the current weekend (for example,
0
forthis weekend
or-1
forlast weekend
).A recognized mention of a relative year, represented numerically as an offset from the current year (for example,
1
fornext year
or-5
forfive years ago
).A recognized mention of a specific date, represented numerically as the date within the month (for example,
30
forJune 30
.).A recognized mention of a specific day of the week as a lowercase string (for example,
monday
).A recognized mention of a specific month, represented numerically (for example,
7
forJuly
).A recognized mention of a specific quarter, represented numerically (for example,
3
forthe third quarter
).A recognized mention of a specific year (for example,
2016
).A recognized numeric value, represented as an integer or double.
The type of numeric value recognized in the user input (
integer
orrational
).A recognized term for a time that was mentioned as a part of the day in the user's input (for example,
morning
orafternoon
).A recognized mention of a relative hour, represented numerically as an offset from the current hour (for example,
3
forin three hours
or-1
foran hour ago
).A recognized mention of a relative time, represented numerically as an offset in minutes from the current time (for example,
5
forin five minutes
or-15
forfifteen minutes ago
).A recognized mention of a relative time, represented numerically as an offset in seconds from the current time (for example,
10
forin ten seconds
or-30
forthirty seconds ago
).A recognized specific hour mentioned as part of a time value (for example,
10
for10:15 AM
.).A recognized specific minute mentioned as part of a time value (for example,
15
for10:15 AM
.).A recognized specific second mentioned as part of a time value (for example,
30
for10:15:30 AM
.).A recognized time zone mentioned as part of a time value (for example,
EST
).
interpretation
An array of possible alternative values that the user might have intended instead of the value returned in the value property. This property is returned only for
@sys-time
and@sys-date
entities when the user's input is ambiguous.This property is included only if the new system entities are enabled for the workspace.
The entity value that was recognized in the user input.
A decimal percentage that represents Watson's confidence in the recognized entity.
alternatives
An object describing the role played by a system entity that is specifies the beginning or end of a range recognized in the user input. This property is included only if the new system entities are enabled for the workspace.
The relationship of the entity to the range.
Allowable values: [
date_from
,date_to
,number_from
,number_to
,time_from
,time_to
]
role
entities
Whether to return more than one intent. A value of
true
indicates that all matching intents are returned.Default:
false
State information for the conversation. To maintain state, include the context from the previous response.
The unique identifier of the conversation.
For internal use only.
Metadata related to the message.
A label identifying the deployment environment, used for filtering log data. This string cannot contain carriage return, newline, or tab characters.
Possible values: 1 ≤ length ≤ 256
A string value that identifies the user who is interacting with the workspace. The client must provide a unique identifier for each individual end user who accesses the application. For user-based plans, this user ID is used to identify unique users for billing purposes. This string cannot contain carriage return, newline, or tab characters. If no value is specified in the input, user_id is automatically set to the value of context.conversation_id.
Note: This property is the same as the user_id property at the root of the message body. If user_id is specified in both locations in a message request, the value specified at the root is used.
Possible values: 1 ≤ length ≤ 256
metadata
context
An output object that includes the response to the user, the dialog nodes that were triggered, and messages from the log.
An array of the nodes that were triggered to create the response, in the order in which they were visited. This information is useful for debugging and for tracing the path taken through the node tree.
An array of objects containing detailed diagnostic information about the nodes that were triggered during processing of the input message. Included only if nodes_visited_details is set to
true
in the message request.The unique ID of a dialog node that was triggered during processing of the input message.
The title of the dialog node.
The conditions that trigger the dialog node.
nodesVisitedDetails
An array of up to 50 messages logged with the request.
The severity of the log message.
Allowable values: [
info
,error
,warn
]The text of the log message.
A code that indicates the category to which the error message belongs.
An object that identifies the dialog element that generated the error message.
A string that indicates the type of dialog element that generated the error message.
Allowable values: [
dialog_node
]The unique identifier of the dialog node that generated the error message.
source
logMessages
Output intended for any channel. It is the responsibility of the client application to implement the supported response types.
The type of response returned by the dialog node. The specified response type must be supported by the client application or channel.
The text of the response.
An array of objects specifying channels for which the response is intended. If channels is present, the response is intended for a built-in integration and should not be handled by an API client.
A channel for which the response is intended.
Allowable values: [
chat
,facebook
,intercom
,slack
,text_messaging
,voice_telephony
,whatsapp
]
channels
RuntimeResponseGeneric
generic
output
A string value that identifies the user who is interacting with the workspace. The client must provide a unique identifier for each individual end user who accesses the application. For user-based plans, this user ID is used to identify unique users for billing purposes. This string cannot contain carriage return, newline, or tab characters. If no value is specified in the input, user_id is automatically set to the value of context.conversation_id.
Note: This property is the same as the user_id property in the context metadata. If user_id is specified in both locations in a message request, the value specified at the root is used.
Possible values: 1 ≤ length ≤ 256
Whether to include additional diagnostic information about the dialog nodes that were visited during processing of the message.
Default:
false
parameters
Unique identifier of the workspace.
An input object that includes the input text.
The text of the user input. This string cannot contain carriage return, newline, or tab characters.
Possible values: 1 ≤ length ≤ 2048
Whether to use spelling correction when processing the input. This property overrides the value of the spelling_suggestions property in the workspace settings.
Default:
false
Whether to use autocorrection when processing the input. If spelling correction is used and this property is
false
, any suggested corrections are returned in the suggested_text property of the message response. If this property istrue
, any corrections are automatically applied to the user input, and the original text is returned in the original_text property of the message response. This property overrides the value of the spelling_auto_correct property in the workspace settings.Default:
false
input
Intents to use when evaluating the user input. Include intents from the previous response to continue using those intents rather than trying to recognize intents in the new input.
The name of the recognized intent.
A decimal percentage that represents Watson's confidence in the intent.
intents
Entities to use when evaluating the message. Include entities from the previous response to continue using those entities rather than detecting entities in the new input.
Examples:ViewAn entity detected in the input.
An array of zero-based character offsets that indicate where the detected entity values begin and end in the input text.
Possible values: number of items = 2
The entity value that was recognized in the user input.
A decimal percentage that represents Watson's confidence in the recognized entity.
The recognized capture groups for the entity, as defined by the entity pattern.
A recognized capture group for the entity.
Zero-based character offsets that indicate where the entity value begins and ends in the input text.
Possible values: number of items = 2
Groups
An object containing detailed information about the entity recognized in the user input.
For more information about how system entities are interpreted, see the documentation.
The calendar used to represent a recognized date (for example,
Gregorian
).A unique identifier used to associate a recognized time and date. If the user input contains a date and time that are mentioned together (for example,
Today at 5
, the same datetime_link value is returned for both the@sys-date
and@sys-time
entities).A locale-specific holiday name (such as
thanksgiving
orchristmas
). This property is included when a@sys-date
entity is recognized based on a holiday name in the user input.The precision or duration of a time range specified by a recognized
@sys-time
or@sys-date
entity.Allowable values: [
day
,fortnight
,hour
,instant
,minute
,month
,quarter
,second
,week
,weekend
,year
]A unique identifier used to associate multiple recognized
@sys-date
,@sys-time
, or@sys-number
entities that are recognized as a range of values in the user's input (for example,from July 4 until July 14
orfrom 20 to 25
).The word in the user input that indicates that a
sys-date
orsys-time
entity is part of an implied range where only one date or time is specified (for example,since
oruntil
).A recognized mention of a relative day, represented numerically as an offset from the current date (for example,
-1
foryesterday
or10
forin ten days
).A recognized mention of a relative month, represented numerically as an offset from the current month (for example,
1
fornext month
or-3
forthree months ago
).A recognized mention of a relative week, represented numerically as an offset from the current week (for example,
2
forin two weeks
or-1
for `last week).A recognized mention of a relative date range for a weekend, represented numerically as an offset from the current weekend (for example,
0
forthis weekend
or-1
forlast weekend
).A recognized mention of a relative year, represented numerically as an offset from the current year (for example,
1
fornext year
or-5
forfive years ago
).A recognized mention of a specific date, represented numerically as the date within the month (for example,
30
forJune 30
.).A recognized mention of a specific day of the week as a lowercase string (for example,
monday
).A recognized mention of a specific month, represented numerically (for example,
7
forJuly
).A recognized mention of a specific quarter, represented numerically (for example,
3
forthe third quarter
).A recognized mention of a specific year (for example,
2016
).A recognized numeric value, represented as an integer or double.
The type of numeric value recognized in the user input (
integer
orrational
).A recognized term for a time that was mentioned as a part of the day in the user's input (for example,
morning
orafternoon
).A recognized mention of a relative hour, represented numerically as an offset from the current hour (for example,
3
forin three hours
or-1
foran hour ago
).A recognized mention of a relative time, represented numerically as an offset in minutes from the current time (for example,
5
forin five minutes
or-15
forfifteen minutes ago
).A recognized mention of a relative time, represented numerically as an offset in seconds from the current time (for example,
10
forin ten seconds
or-30
forthirty seconds ago
).A recognized specific hour mentioned as part of a time value (for example,
10
for10:15 AM
.).A recognized specific minute mentioned as part of a time value (for example,
15
for10:15 AM
.).A recognized specific second mentioned as part of a time value (for example,
30
for10:15:30 AM
.).A recognized time zone mentioned as part of a time value (for example,
EST
).
Interpretation
An array of possible alternative values that the user might have intended instead of the value returned in the value property. This property is returned only for
@sys-time
and@sys-date
entities when the user's input is ambiguous.This property is included only if the new system entities are enabled for the workspace.
The entity value that was recognized in the user input.
A decimal percentage that represents Watson's confidence in the recognized entity.
Alternatives
An object describing the role played by a system entity that is specifies the beginning or end of a range recognized in the user input. This property is included only if the new system entities are enabled for the workspace.
The relationship of the entity to the range.
Allowable values: [
date_from
,date_to
,number_from
,number_to
,time_from
,time_to
]
Role
entities
Whether to return more than one intent. A value of
true
indicates that all matching intents are returned.Default:
false
State information for the conversation. To maintain state, include the context from the previous response.
The unique identifier of the conversation.
For internal use only.
Metadata related to the message.
A label identifying the deployment environment, used for filtering log data. This string cannot contain carriage return, newline, or tab characters.
Possible values: 1 ≤ length ≤ 256
A string value that identifies the user who is interacting with the workspace. The client must provide a unique identifier for each individual end user who accesses the application. For user-based plans, this user ID is used to identify unique users for billing purposes. This string cannot contain carriage return, newline, or tab characters. If no value is specified in the input, user_id is automatically set to the value of context.conversation_id.
Note: This property is the same as the user_id property at the root of the message body. If user_id is specified in both locations in a message request, the value specified at the root is used.
Possible values: 1 ≤ length ≤ 256
Metadata
context
An output object that includes the response to the user, the dialog nodes that were triggered, and messages from the log.
An array of the nodes that were triggered to create the response, in the order in which they were visited. This information is useful for debugging and for tracing the path taken through the node tree.
An array of objects containing detailed diagnostic information about the nodes that were triggered during processing of the input message. Included only if nodes_visited_details is set to
true
in the message request.The unique ID of a dialog node that was triggered during processing of the input message.
The title of the dialog node.
The conditions that trigger the dialog node.
NodesVisitedDetails
An array of up to 50 messages logged with the request.
The severity of the log message.
Allowable values: [
info
,error
,warn
]The text of the log message.
A code that indicates the category to which the error message belongs.
An object that identifies the dialog element that generated the error message.
A string that indicates the type of dialog element that generated the error message.
Allowable values: [
dialog_node
]The unique identifier of the dialog node that generated the error message.
Source
LogMessages
Output intended for any channel. It is the responsibility of the client application to implement the supported response types.
The type of response returned by the dialog node. The specified response type must be supported by the client application or channel.
The text of the response.
An array of objects specifying channels for which the response is intended. If channels is present, the response is intended for a built-in integration and should not be handled by an API client.
A channel for which the response is intended.
Allowable values: [
chat
,facebook
,intercom
,slack
,text_messaging
,voice_telephony
,whatsapp
]
Channels
RuntimeResponseGeneric
Generic
output
A string value that identifies the user who is interacting with the workspace. The client must provide a unique identifier for each individual end user who accesses the application. For user-based plans, this user ID is used to identify unique users for billing purposes. This string cannot contain carriage return, newline, or tab characters. If no value is specified in the input, user_id is automatically set to the value of context.conversation_id.
Note: This property is the same as the user_id property in the context metadata. If user_id is specified in both locations in a message request, the value specified at the root is used.
Possible values: 1 ≤ length ≤ 256
Whether to include additional diagnostic information about the dialog nodes that were visited during processing of the message.
Default:
false
parameters
Unique identifier of the workspace.
An input object that includes the input text.
The text of the user input. This string cannot contain carriage return, newline, or tab characters.
Possible values: 1 ≤ length ≤ 2048
Whether to use spelling correction when processing the input. This property overrides the value of the spelling_suggestions property in the workspace settings.
Default:
false
Whether to use autocorrection when processing the input. If spelling correction is used and this property is
false
, any suggested corrections are returned in the suggested_text property of the message response. If this property istrue
, any corrections are automatically applied to the user input, and the original text is returned in the original_text property of the message response. This property overrides the value of the spelling_auto_correct property in the workspace settings.Default:
false
input
Intents to use when evaluating the user input. Include intents from the previous response to continue using those intents rather than trying to recognize intents in the new input.
The name of the recognized intent.
A decimal percentage that represents Watson's confidence in the intent.
intents
Entities to use when evaluating the message. Include entities from the previous response to continue using those entities rather than detecting entities in the new input.
Examples:ViewAn entity detected in the input.
An array of zero-based character offsets that indicate where the detected entity values begin and end in the input text.
Possible values: number of items = 2
The entity value that was recognized in the user input.
A decimal percentage that represents Watson's confidence in the recognized entity.
The recognized capture groups for the entity, as defined by the entity pattern.
A recognized capture group for the entity.
Zero-based character offsets that indicate where the entity value begins and ends in the input text.
Possible values: number of items = 2
Groups
An object containing detailed information about the entity recognized in the user input.
For more information about how system entities are interpreted, see the documentation.
The calendar used to represent a recognized date (for example,
Gregorian
).A unique identifier used to associate a recognized time and date. If the user input contains a date and time that are mentioned together (for example,
Today at 5
, the same datetime_link value is returned for both the@sys-date
and@sys-time
entities).A locale-specific holiday name (such as
thanksgiving
orchristmas
). This property is included when a@sys-date
entity is recognized based on a holiday name in the user input.The precision or duration of a time range specified by a recognized
@sys-time
or@sys-date
entity.Allowable values: [
day
,fortnight
,hour
,instant
,minute
,month
,quarter
,second
,week
,weekend
,year
]A unique identifier used to associate multiple recognized
@sys-date
,@sys-time
, or@sys-number
entities that are recognized as a range of values in the user's input (for example,from July 4 until July 14
orfrom 20 to 25
).The word in the user input that indicates that a
sys-date
orsys-time
entity is part of an implied range where only one date or time is specified (for example,since
oruntil
).A recognized mention of a relative day, represented numerically as an offset from the current date (for example,
-1
foryesterday
or10
forin ten days
).A recognized mention of a relative month, represented numerically as an offset from the current month (for example,
1
fornext month
or-3
forthree months ago
).A recognized mention of a relative week, represented numerically as an offset from the current week (for example,
2
forin two weeks
or-1
for `last week).A recognized mention of a relative date range for a weekend, represented numerically as an offset from the current weekend (for example,
0
forthis weekend
or-1
forlast weekend
).A recognized mention of a relative year, represented numerically as an offset from the current year (for example,
1
fornext year
or-5
forfive years ago
).A recognized mention of a specific date, represented numerically as the date within the month (for example,
30
forJune 30
.).A recognized mention of a specific day of the week as a lowercase string (for example,
monday
).A recognized mention of a specific month, represented numerically (for example,
7
forJuly
).A recognized mention of a specific quarter, represented numerically (for example,
3
forthe third quarter
).A recognized mention of a specific year (for example,
2016
).A recognized numeric value, represented as an integer or double.
The type of numeric value recognized in the user input (
integer
orrational
).A recognized term for a time that was mentioned as a part of the day in the user's input (for example,
morning
orafternoon
).A recognized mention of a relative hour, represented numerically as an offset from the current hour (for example,
3
forin three hours
or-1
foran hour ago
).A recognized mention of a relative time, represented numerically as an offset in minutes from the current time (for example,
5
forin five minutes
or-15
forfifteen minutes ago
).A recognized mention of a relative time, represented numerically as an offset in seconds from the current time (for example,
10
forin ten seconds
or-30
forthirty seconds ago
).A recognized specific hour mentioned as part of a time value (for example,
10
for10:15 AM
.).A recognized specific minute mentioned as part of a time value (for example,
15
for10:15 AM
.).A recognized specific second mentioned as part of a time value (for example,
30
for10:15:30 AM
.).A recognized time zone mentioned as part of a time value (for example,
EST
).
Interpretation
An array of possible alternative values that the user might have intended instead of the value returned in the value property. This property is returned only for
@sys-time
and@sys-date
entities when the user's input is ambiguous.This property is included only if the new system entities are enabled for the workspace.
The entity value that was recognized in the user input.
A decimal percentage that represents Watson's confidence in the recognized entity.
Alternatives
An object describing the role played by a system entity that is specifies the beginning or end of a range recognized in the user input. This property is included only if the new system entities are enabled for the workspace.
The relationship of the entity to the range.
Allowable values: [
date_from
,date_to
,number_from
,number_to
,time_from
,time_to
]
Role
entities
Whether to return more than one intent. A value of
true
indicates that all matching intents are returned.Default:
false
State information for the conversation. To maintain state, include the context from the previous response.
The unique identifier of the conversation.
For internal use only.
Metadata related to the message.
A label identifying the deployment environment, used for filtering log data. This string cannot contain carriage return, newline, or tab characters.
Possible values: 1 ≤ length ≤ 256
A string value that identifies the user who is interacting with the workspace. The client must provide a unique identifier for each individual end user who accesses the application. For user-based plans, this user ID is used to identify unique users for billing purposes. This string cannot contain carriage return, newline, or tab characters. If no value is specified in the input, user_id is automatically set to the value of context.conversation_id.
Note: This property is the same as the user_id property at the root of the message body. If user_id is specified in both locations in a message request, the value specified at the root is used.
Possible values: 1 ≤ length ≤ 256
Metadata
context
An output object that includes the response to the user, the dialog nodes that were triggered, and messages from the log.
An array of the nodes that were triggered to create the response, in the order in which they were visited. This information is useful for debugging and for tracing the path taken through the node tree.
An array of objects containing detailed diagnostic information about the nodes that were triggered during processing of the input message. Included only if nodes_visited_details is set to
true
in the message request.The unique ID of a dialog node that was triggered during processing of the input message.
The title of the dialog node.
The conditions that trigger the dialog node.
NodesVisitedDetails
An array of up to 50 messages logged with the request.
The severity of the log message.
Allowable values: [
info
,error
,warn
]The text of the log message.
A code that indicates the category to which the error message belongs.
An object that identifies the dialog element that generated the error message.
A string that indicates the type of dialog element that generated the error message.
Allowable values: [
dialog_node
]The unique identifier of the dialog node that generated the error message.
Source
LogMessages
Output intended for any channel. It is the responsibility of the client application to implement the supported response types.
The type of response returned by the dialog node. The specified response type must be supported by the client application or channel.
The text of the response.
An array of objects specifying channels for which the response is intended. If channels is present, the response is intended for a built-in integration and should not be handled by an API client.
A channel for which the response is intended.
Allowable values: [
chat
,facebook
,intercom
,slack
,text_messaging
,voice_telephony
,whatsapp
]
Channels
RuntimeResponseGeneric
Generic
output
A string value that identifies the user who is interacting with the workspace. The client must provide a unique identifier for each individual end user who accesses the application. For user-based plans, this user ID is used to identify unique users for billing purposes. This string cannot contain carriage return, newline, or tab characters. If no value is specified in the input, user_id is automatically set to the value of context.conversation_id.
Note: This property is the same as the user_id property in the context metadata. If user_id is specified in both locations in a message request, the value specified at the root is used.
Possible values: 1 ≤ length ≤ 256
Whether to include additional diagnostic information about the dialog nodes that were visited during processing of the message.
Default:
false
curl -X POST -u "apikey:{apikey}" --header "Content-Type:application/json" --data "{\"input\": {\"text\": \"Hello\"}}" "{url}/v1/workspaces/{workspace_id}/message?version=2021-06-14"
IamAuthenticator authenticator = new IamAuthenticator( apikey: "{apikey}" ); AssistantService assistant = new AssistantService("2021-06-14", authenticator); assistant.SetServiceUrl("{url}"); var result = assistant.Message( workspaceId: "{workspaceId}", input: new MessageInput() { Text = "Hello" } ); Console.WriteLine(result.Response);
package main import ( "encoding/json" "fmt" "github.com/IBM/go-sdk-core/core" "github.com/watson-developer-cloud/go-sdk/v2/assistantv1" ) func main() { authenticator := &core.IamAuthenticator{ ApiKey: "{apikey}", } options := &assistantv1.AssistantV1Options{ Version: "2021-06-14", Authenticator: authenticator, } assistant, assistantErr := assistantv1.NewAssistantV1(options) if assistantErr != nil { panic(assistantErr) } assistant.SetServiceURL("{url}") result, _, responseErr := assistant.Message( &assistantv1.MessageOptions{ WorkspaceID: core.StringPtr("{workspace_id}"), Input: &assistantv1.MessageInput{ "text": core.StringPtr("Hello"), }, }, ) if responseErr != nil { panic(responseErr) } b, _ := json.MarshalIndent(result, "", " ") fmt.Println(string(b)) }
IamAuthenticator authenticator = new IamAuthenticator("{apikey}"); Assistant assistant = new Assistant("2021-06-14", authenticator); assistant.setServiceUrl("{url}"); String workspaceId = "{workspace_id}"; MessageInput input = new MessageInput(); input.setText("Hello"); MessageOptions options = new MessageOptions.Builder(workspaceId) .input(input) .build(); MessageResponse response = assistant.message(options).execute().getResult(); System.out.println(response);
const AssistantV1 = require('ibm-watson/assistant/v1'); const { IamAuthenticator } = require('ibm-watson/auth'); const assistant = new AssistantV1({ version: '2021-06-14', authenticator: new IamAuthenticator({ apikey: '{apikey}', }), serviceUrl: '{url}', }); assistant.message({ workspaceId: '{workspace_id}', input: {'text': 'Hello'} }) .then(res => { console.log(JSON.stringify(res.result, null, 2)); }) .catch(err => { console.log(err) });
import json from ibm_watson import AssistantV1 from ibm_cloud_sdk_core.authenticators import IAMAuthenticator authenticator = IAMAuthenticator('{apikey}') assistant = AssistantV1( version='2021-06-14', authenticator = authenticator ) assistant.set_service_url('{url}') response = assistant.message( workspace_id='{workspace_id}', input={ 'text': 'Hello' } ).get_result() print(json.dumps(response, indent=2))
require "json" require "ibm_watson/authenticators" require "ibm_watson/assistant_v1" include IBMWatson authenticator = Authenticators::IamAuthenticator.new( apikey: "{apikey}" ) assistant = AssistantV1.new( version: "2021-06-14", authenticator: authenticator ) assistant.service_url = "{url}" response = assistant.message( workspace_id: "{workspace_id}", input: { text: "Hello" } ) puts JSON.pretty_generate(response.result)
let authenticator = WatsonIAMAuthenticator(apiKey: "{apikey}") let assistant = Assistant(version: "2021-06-14", authenticator: authenticator) assistant.serviceURL = "{url}" let input = MessageInput(text: "Hello") assistant.message(workspaceID: "{workspace_id}", input: input) { response, error in guard let message = response?.result else { print(error?.localizedDescription ?? "unknown error") return } print(message) }
var authenticator = new IamAuthenticator( apikey: "{apikey}" ); while (!authenticator.CanAuthenticate()) yield return null; var assistant = new AssistantService("2021-06-14", authenticator); assistant.SetServiceUrl("{url}"); JObject input = new JObject(); input.Add("text", "Hello"); MessageResponse messageResponse = null; assistant.Message( callback: (DetailedResponse<MessageResponse> response, IBMError error) => { messageResponse = response.Result; context = messageResponse.Context; }, workspaceId: "{workspace_id}", input: input ); while (messageResponse == null) yield return null;
Response
The response sent by the workspace, including the output text, detected intents and entities, and context.
An input object that includes the input text.
Any additional data included with the message input.
input
An array of intents recognized in the user input, sorted in descending order of confidence
An array of entities identified in the user input.
State information for the conversation. To maintain state, include the context from the previous response.
Any context variable.
context
An output object that includes the response to the user, the dialog nodes that were triggered, and messages from the log.
Any additional data included with the output.
output
A string value that identifies the user who is interacting with the workspace. The client must provide a unique identifier for each individual end user who accesses the application. For user-based plans, this user ID is used to identify unique users for billing purposes. This string cannot contain carriage return, newline, or tab characters. If no value is specified in the input, user_id is automatically set to the value of context.conversation_id.
Note: This property is the same as the user_id property in the context metadata. If user_id is specified in both locations in a message request, the value specified at the root is used.
Possible values: 1 ≤ length ≤ 256
Whether to return more than one intent. A value of
true
indicates that all matching intents are returned.An array of objects describing any actions requested by the dialog node.
The response sent by the workspace, including the output text, detected intents and entities, and context.
An input object that includes the input text.
The text of the user input. This string cannot contain carriage return, newline, or tab characters.
Possible values: 1 ≤ length ≤ 2048
Any suggested corrections of the input text. This property is returned only if spelling correction is enabled and autocorrection is disabled.
The original user input text. This property is returned only if autocorrection is enabled and the user input was corrected.
Input
An array of intents recognized in the user input, sorted in descending order of confidence.
The name of the recognized intent.
A decimal percentage that represents Watson's confidence in the intent.
Intents
An array of entities identified in the user input.
Examples:ViewAn entity detected in the input.
An array of zero-based character offsets that indicate where the detected entity values begin and end in the input text.
Possible values: number of items = 2
The entity value that was recognized in the user input.
A decimal percentage that represents Watson's confidence in the recognized entity.
The recognized capture groups for the entity, as defined by the entity pattern.
A recognized capture group for the entity.
Zero-based character offsets that indicate where the entity value begins and ends in the input text.
Possible values: number of items = 2
Groups
An object containing detailed information about the entity recognized in the user input.
For more information about how system entities are interpreted, see the documentation.
The calendar used to represent a recognized date (for example,
Gregorian
).A unique identifier used to associate a recognized time and date. If the user input contains a date and time that are mentioned together (for example,
Today at 5
, the same datetime_link value is returned for both the@sys-date
and@sys-time
entities).A locale-specific holiday name (such as
thanksgiving
orchristmas
). This property is included when a@sys-date
entity is recognized based on a holiday name in the user input.The precision or duration of a time range specified by a recognized
@sys-time
or@sys-date
entity.Possible values: [
day
,fortnight
,hour
,instant
,minute
,month
,quarter
,second
,week
,weekend
,year
]A unique identifier used to associate multiple recognized
@sys-date
,@sys-time
, or@sys-number
entities that are recognized as a range of values in the user's input (for example,from July 4 until July 14
orfrom 20 to 25
).The word in the user input that indicates that a
sys-date
orsys-time
entity is part of an implied range where only one date or time is specified (for example,since
oruntil
).A recognized mention of a relative day, represented numerically as an offset from the current date (for example,
-1
foryesterday
or10
forin ten days
).A recognized mention of a relative month, represented numerically as an offset from the current month (for example,
1
fornext month
or-3
forthree months ago
).A recognized mention of a relative week, represented numerically as an offset from the current week (for example,
2
forin two weeks
or-1
for `last week).A recognized mention of a relative date range for a weekend, represented numerically as an offset from the current weekend (for example,
0
forthis weekend
or-1
forlast weekend
).A recognized mention of a relative year, represented numerically as an offset from the current year (for example,
1
fornext year
or-5
forfive years ago
).A recognized mention of a specific date, represented numerically as the date within the month (for example,
30
forJune 30
.).A recognized mention of a specific day of the week as a lowercase string (for example,
monday
).A recognized mention of a specific month, represented numerically (for example,
7
forJuly
).A recognized mention of a specific quarter, represented numerically (for example,
3
forthe third quarter
).A recognized mention of a specific year (for example,
2016
).A recognized numeric value, represented as an integer or double.
The type of numeric value recognized in the user input (
integer
orrational
).A recognized term for a time that was mentioned as a part of the day in the user's input (for example,
morning
orafternoon
).A recognized mention of a relative hour, represented numerically as an offset from the current hour (for example,
3
forin three hours
or-1
foran hour ago
).A recognized mention of a relative time, represented numerically as an offset in minutes from the current time (for example,
5
forin five minutes
or-15
forfifteen minutes ago
).A recognized mention of a relative time, represented numerically as an offset in seconds from the current time (for example,
10
forin ten seconds
or-30
forthirty seconds ago
).A recognized specific hour mentioned as part of a time value (for example,
10
for10:15 AM
.).A recognized specific minute mentioned as part of a time value (for example,
15
for10:15 AM
.).A recognized specific second mentioned as part of a time value (for example,
30
for10:15:30 AM
.).A recognized time zone mentioned as part of a time value (for example,
EST
).
Interpretation
An array of possible alternative values that the user might have intended instead of the value returned in the value property. This property is returned only for
@sys-time
and@sys-date
entities when the user's input is ambiguous.This property is included only if the new system entities are enabled for the workspace.
The entity value that was recognized in the user input.
A decimal percentage that represents Watson's confidence in the recognized entity.
Alternatives
An object describing the role played by a system entity that is specifies the beginning or end of a range recognized in the user input. This property is included only if the new system entities are enabled for the workspace.
The relationship of the entity to the range.
Possible values: [
date_from
,date_to
,number_from
,number_to
,time_from
,time_to
]
Role
Entities
Whether to return more than one intent. A value of
true
indicates that all matching intents are returned.State information for the conversation. To maintain state, include the context from the previous response.
The unique identifier of the conversation.
For internal use only.
Metadata related to the message.
A label identifying the deployment environment, used for filtering log data. This string cannot contain carriage return, newline, or tab characters.
Possible values: 1 ≤ length ≤ 256
A string value that identifies the user who is interacting with the workspace. The client must provide a unique identifier for each individual end user who accesses the application. For user-based plans, this user ID is used to identify unique users for billing purposes. This string cannot contain carriage return, newline, or tab characters. If no value is specified in the input, user_id is automatically set to the value of context.conversation_id.
Note: This property is the same as the user_id property at the root of the message body. If user_id is specified in both locations in a message request, the value specified at the root is used.
Possible values: 1 ≤ length ≤ 256
Metadata
Context
An output object that includes the response to the user, the dialog nodes that were triggered, and messages from the log.
An array of the nodes that were triggered to create the response, in the order in which they were visited. This information is useful for debugging and for tracing the path taken through the node tree.
An array of objects containing detailed diagnostic information about the nodes that were triggered during processing of the input message. Included only if nodes_visited_details is set to
true
in the message request.The unique ID of a dialog node that was triggered during processing of the input message.
The title of the dialog node.
The conditions that trigger the dialog node.
NodesVisitedDetails
An array of up to 50 messages logged with the request.
The severity of the log message.
Possible values: [
info
,error
,warn
]The text of the log message.
A code that indicates the category to which the error message belongs.
An object that identifies the dialog element that generated the error message.
A string that indicates the type of dialog element that generated the error message.
Possible values: [
dialog_node
]The unique identifier of the dialog node that generated the error message.
Source
LogMessages
Output intended for any channel. It is the responsibility of the client application to implement the supported response types.
The type of response returned by the dialog node. The specified response type must be supported by the client application or channel.
The text of the response.
An array of objects specifying channels for which the response is intended. If channels is present, the response is intended for a built-in integration and should not be handled by an API client.
A channel for which the response is intended.
Possible values: [
chat
,facebook
,intercom
,slack
,text_messaging
,voice_telephony
,whatsapp
]
Channels
RuntimeResponseGeneric
Generic
Output
An array of objects describing any actions requested by the dialog node.
The name of the action.
The type of action to invoke.
Possible values: [
client
,server
,cloud_function
,web_action
,webhook
]A map of key/value pairs to be provided to the action.
The location in the dialog context where the result of the action is stored.
The name of the context variable that the client application will use to pass in credentials for the action.
Actions
A string value that identifies the user who is interacting with the workspace. The client must provide a unique identifier for each individual end user who accesses the application. For user-based plans, this user ID is used to identify unique users for billing purposes. This string cannot contain carriage return, newline, or tab characters. If no value is specified in the input, user_id is automatically set to the value of context.conversation_id.
Note: This property is the same as the user_id property in the context metadata. If user_id is specified in both locations in a message request, the value specified at the root is used.
Possible values: 1 ≤ length ≤ 256
The response sent by the workspace, including the output text, detected intents and entities, and context.
An input object that includes the input text.
The text of the user input. This string cannot contain carriage return, newline, or tab characters.
Possible values: 1 ≤ length ≤ 2048
Any suggested corrections of the input text. This property is returned only if spelling correction is enabled and autocorrection is disabled.
The original user input text. This property is returned only if autocorrection is enabled and the user input was corrected.
input
An array of intents recognized in the user input, sorted in descending order of confidence.
The name of the recognized intent.
A decimal percentage that represents Watson's confidence in the intent.
intents
An array of entities identified in the user input.
Examples:ViewAn entity detected in the input.
An array of zero-based character offsets that indicate where the detected entity values begin and end in the input text.
Possible values: number of items = 2
The entity value that was recognized in the user input.
A decimal percentage that represents Watson's confidence in the recognized entity.
The recognized capture groups for the entity, as defined by the entity pattern.
A recognized capture group for the entity.
Zero-based character offsets that indicate where the entity value begins and ends in the input text.
Possible values: number of items = 2
groups
An object containing detailed information about the entity recognized in the user input.
For more information about how system entities are interpreted, see the documentation.
The calendar used to represent a recognized date (for example,
Gregorian
).A unique identifier used to associate a recognized time and date. If the user input contains a date and time that are mentioned together (for example,
Today at 5
, the same datetime_link value is returned for both the@sys-date
and@sys-time
entities).A locale-specific holiday name (such as
thanksgiving
orchristmas
). This property is included when a@sys-date
entity is recognized based on a holiday name in the user input.The precision or duration of a time range specified by a recognized
@sys-time
or@sys-date
entity.Possible values: [
day
,fortnight
,hour
,instant
,minute
,month
,quarter
,second
,week
,weekend
,year
]A unique identifier used to associate multiple recognized
@sys-date
,@sys-time
, or@sys-number
entities that are recognized as a range of values in the user's input (for example,from July 4 until July 14
orfrom 20 to 25
).The word in the user input that indicates that a
sys-date
orsys-time
entity is part of an implied range where only one date or time is specified (for example,since
oruntil
).A recognized mention of a relative day, represented numerically as an offset from the current date (for example,
-1
foryesterday
or10
forin ten days
).A recognized mention of a relative month, represented numerically as an offset from the current month (for example,
1
fornext month
or-3
forthree months ago
).A recognized mention of a relative week, represented numerically as an offset from the current week (for example,
2
forin two weeks
or-1
for `last week).A recognized mention of a relative date range for a weekend, represented numerically as an offset from the current weekend (for example,
0
forthis weekend
or-1
forlast weekend
).A recognized mention of a relative year, represented numerically as an offset from the current year (for example,
1
fornext year
or-5
forfive years ago
).A recognized mention of a specific date, represented numerically as the date within the month (for example,
30
forJune 30
.).A recognized mention of a specific day of the week as a lowercase string (for example,
monday
).A recognized mention of a specific month, represented numerically (for example,
7
forJuly
).A recognized mention of a specific quarter, represented numerically (for example,
3
forthe third quarter
).A recognized mention of a specific year (for example,
2016
).A recognized numeric value, represented as an integer or double.
The type of numeric value recognized in the user input (
integer
orrational
).A recognized term for a time that was mentioned as a part of the day in the user's input (for example,
morning
orafternoon
).A recognized mention of a relative hour, represented numerically as an offset from the current hour (for example,
3
forin three hours
or-1
foran hour ago
).A recognized mention of a relative time, represented numerically as an offset in minutes from the current time (for example,
5
forin five minutes
or-15
forfifteen minutes ago
).A recognized mention of a relative time, represented numerically as an offset in seconds from the current time (for example,
10
forin ten seconds
or-30
forthirty seconds ago
).A recognized specific hour mentioned as part of a time value (for example,
10
for10:15 AM
.).A recognized specific minute mentioned as part of a time value (for example,
15
for10:15 AM
.).A recognized specific second mentioned as part of a time value (for example,
30
for10:15:30 AM
.).A recognized time zone mentioned as part of a time value (for example,
EST
).
interpretation
An array of possible alternative values that the user might have intended instead of the value returned in the value property. This property is returned only for
@sys-time
and@sys-date
entities when the user's input is ambiguous.This property is included only if the new system entities are enabled for the workspace.
The entity value that was recognized in the user input.
A decimal percentage that represents Watson's confidence in the recognized entity.
alternatives
An object describing the role played by a system entity that is specifies the beginning or end of a range recognized in the user input. This property is included only if the new system entities are enabled for the workspace.
The relationship of the entity to the range.
Possible values: [
date_from
,date_to
,number_from
,number_to
,time_from
,time_to
]
role
entities
Whether to return more than one intent. A value of
true
indicates that all matching intents are returned.State information for the conversation. To maintain state, include the context from the previous response.
The unique identifier of the conversation.
For internal use only.
Metadata related to the message.
A label identifying the deployment environment, used for filtering log data. This string cannot contain carriage return, newline, or tab characters.
Possible values: 1 ≤ length ≤ 256
A string value that identifies the user who is interacting with the workspace. The client must provide a unique identifier for each individual end user who accesses the application. For user-based plans, this user ID is used to identify unique users for billing purposes. This string cannot contain carriage return, newline, or tab characters. If no value is specified in the input, user_id is automatically set to the value of context.conversation_id.
Note: This property is the same as the user_id property at the root of the message body. If user_id is specified in both locations in a message request, the value specified at the root is used.
Possible values: 1 ≤ length ≤ 256
metadata
context
An output object that includes the response to the user, the dialog nodes that were triggered, and messages from the log.
An array of the nodes that were triggered to create the response, in the order in which they were visited. This information is useful for debugging and for tracing the path taken through the node tree.
An array of objects containing detailed diagnostic information about the nodes that were triggered during processing of the input message. Included only if nodes_visited_details is set to
true
in the message request.The unique ID of a dialog node that was triggered during processing of the input message.
The title of the dialog node.
The conditions that trigger the dialog node.
nodesVisitedDetails
An array of up to 50 messages logged with the request.
The severity of the log message.
Possible values: [
info
,error
,warn
]The text of the log message.
A code that indicates the category to which the error message belongs.
An object that identifies the dialog element that generated the error message.
A string that indicates the type of dialog element that generated the error message.
Possible values: [
dialog_node
]The unique identifier of the dialog node that generated the error message.
source
logMessages
Output intended for any channel. It is the responsibility of the client application to implement the supported response types.
The type of response returned by the dialog node. The specified response type must be supported by the client application or channel.
The text of the response.
An array of objects specifying channels for which the response is intended. If channels is present, the response is intended for a built-in integration and should not be handled by an API client.
A channel for which the response is intended.
Possible values: [
chat
,facebook
,intercom
,slack
,text_messaging
,voice_telephony
,whatsapp
]
channels
RuntimeResponseGeneric
generic
output
An array of objects describing any actions requested by the dialog node.
The name of the action.
The type of action to invoke.
Possible values: [
client
,server
,cloud_function
,web_action
,webhook
]A map of key/value pairs to be provided to the action.
The location in the dialog context where the result of the action is stored.
The name of the context variable that the client application will use to pass in credentials for the action.
actions
A string value that identifies the user who is interacting with the workspace. The client must provide a unique identifier for each individual end user who accesses the application. For user-based plans, this user ID is used to identify unique users for billing purposes. This string cannot contain carriage return, newline, or tab characters. If no value is specified in the input, user_id is automatically set to the value of context.conversation_id.
Note: This property is the same as the user_id property in the context metadata. If user_id is specified in both locations in a message request, the value specified at the root is used.
Possible values: 1 ≤ length ≤ 256
The response sent by the workspace, including the output text, detected intents and entities, and context.
An input object that includes the input text.
The text of the user input. This string cannot contain carriage return, newline, or tab characters.
Possible values: 1 ≤ length ≤ 2048
Any suggested corrections of the input text. This property is returned only if spelling correction is enabled and autocorrection is disabled.
The original user input text. This property is returned only if autocorrection is enabled and the user input was corrected.
input
An array of intents recognized in the user input, sorted in descending order of confidence.
The name of the recognized intent.
A decimal percentage that represents Watson's confidence in the intent.
intents
An array of entities identified in the user input.
Examples:ViewAn entity detected in the input.
An array of zero-based character offsets that indicate where the detected entity values begin and end in the input text.
Possible values: number of items = 2
The entity value that was recognized in the user input.
A decimal percentage that represents Watson's confidence in the recognized entity.
The recognized capture groups for the entity, as defined by the entity pattern.
A recognized capture group for the entity.
Zero-based character offsets that indicate where the entity value begins and ends in the input text.
Possible values: number of items = 2
groups
An object containing detailed information about the entity recognized in the user input.
For more information about how system entities are interpreted, see the documentation.
The calendar used to represent a recognized date (for example,
Gregorian
).A unique identifier used to associate a recognized time and date. If the user input contains a date and time that are mentioned together (for example,
Today at 5
, the same datetime_link value is returned for both the@sys-date
and@sys-time
entities).A locale-specific holiday name (such as
thanksgiving
orchristmas
). This property is included when a@sys-date
entity is recognized based on a holiday name in the user input.The precision or duration of a time range specified by a recognized
@sys-time
or@sys-date
entity.Possible values: [
day
,fortnight
,hour
,instant
,minute
,month
,quarter
,second
,week
,weekend
,year
]A unique identifier used to associate multiple recognized
@sys-date
,@sys-time
, or@sys-number
entities that are recognized as a range of values in the user's input (for example,from July 4 until July 14
orfrom 20 to 25
).The word in the user input that indicates that a
sys-date
orsys-time
entity is part of an implied range where only one date or time is specified (for example,since
oruntil
).A recognized mention of a relative day, represented numerically as an offset from the current date (for example,
-1
foryesterday
or10
forin ten days
).A recognized mention of a relative month, represented numerically as an offset from the current month (for example,
1
fornext month
or-3
forthree months ago
).A recognized mention of a relative week, represented numerically as an offset from the current week (for example,
2
forin two weeks
or-1
for `last week).A recognized mention of a relative date range for a weekend, represented numerically as an offset from the current weekend (for example,
0
forthis weekend
or-1
forlast weekend
).A recognized mention of a relative year, represented numerically as an offset from the current year (for example,
1
fornext year
or-5
forfive years ago
).A recognized mention of a specific date, represented numerically as the date within the month (for example,
30
forJune 30
.).A recognized mention of a specific day of the week as a lowercase string (for example,
monday
).A recognized mention of a specific month, represented numerically (for example,
7
forJuly
).A recognized mention of a specific quarter, represented numerically (for example,
3
forthe third quarter
).A recognized mention of a specific year (for example,
2016
).A recognized numeric value, represented as an integer or double.
The type of numeric value recognized in the user input (
integer
orrational
).A recognized term for a time that was mentioned as a part of the day in the user's input (for example,
morning
orafternoon
).A recognized mention of a relative hour, represented numerically as an offset from the current hour (for example,
3
forin three hours
or-1
foran hour ago
).A recognized mention of a relative time, represented numerically as an offset in minutes from the current time (for example,
5
forin five minutes
or-15
forfifteen minutes ago
).A recognized mention of a relative time, represented numerically as an offset in seconds from the current time (for example,
10
forin ten seconds
or-30
forthirty seconds ago
).A recognized specific hour mentioned as part of a time value (for example,
10
for10:15 AM
.).A recognized specific minute mentioned as part of a time value (for example,
15
for10:15 AM
.).A recognized specific second mentioned as part of a time value (for example,
30
for10:15:30 AM
.).A recognized time zone mentioned as part of a time value (for example,
EST
).
interpretation
An array of possible alternative values that the user might have intended instead of the value returned in the value property. This property is returned only for
@sys-time
and@sys-date
entities when the user's input is ambiguous.This property is included only if the new system entities are enabled for the workspace.
The entity value that was recognized in the user input.
A decimal percentage that represents Watson's confidence in the recognized entity.
alternatives
An object describing the role played by a system entity that is specifies the beginning or end of a range recognized in the user input. This property is included only if the new system entities are enabled for the workspace.
The relationship of the entity to the range.
Possible values: [
date_from
,date_to
,number_from
,number_to
,time_from
,time_to
]
role
entities
Whether to return more than one intent. A value of
true
indicates that all matching intents are returned.State information for the conversation. To maintain state, include the context from the previous response.
The unique identifier of the conversation.
For internal use only.
Metadata related to the message.
A label identifying the deployment environment, used for filtering log data. This string cannot contain carriage return, newline, or tab characters.
Possible values: 1 ≤ length ≤ 256
A string value that identifies the user who is interacting with the workspace. The client must provide a unique identifier for each individual end user who accesses the application. For user-based plans, this user ID is used to identify unique users for billing purposes. This string cannot contain carriage return, newline, or tab characters. If no value is specified in the input, user_id is automatically set to the value of context.conversation_id.
Note: This property is the same as the user_id property at the root of the message body. If user_id is specified in both locations in a message request, the value specified at the root is used.
Possible values: 1 ≤ length ≤ 256
metadata
context
An output object that includes the response to the user, the dialog nodes that were triggered, and messages from the log.
An array of the nodes that were triggered to create the response, in the order in which they were visited. This information is useful for debugging and for tracing the path taken through the node tree.
An array of objects containing detailed diagnostic information about the nodes that were triggered during processing of the input message. Included only if nodes_visited_details is set to
true
in the message request.The unique ID of a dialog node that was triggered during processing of the input message.
The title of the dialog node.
The conditions that trigger the dialog node.
nodes_visited_details
An array of up to 50 messages logged with the request.
The severity of the log message.
Possible values: [
info
,error
,warn
]The text of the log message.
A code that indicates the category to which the error message belongs.
An object that identifies the dialog element that generated the error message.
A string that indicates the type of dialog element that generated the error message.
Possible values: [
dialog_node
]The unique identifier of the dialog node that generated the error message.
source
log_messages
Output intended for any channel. It is the responsibility of the client application to implement the supported response types.
The type of response returned by the dialog node. The specified response type must be supported by the client application or channel.
The text of the response.
An array of objects specifying channels for which the response is intended. If channels is present, the response is intended for a built-in integration and should not be handled by an API client.
A channel for which the response is intended.
Possible values: [
chat
,facebook
,intercom
,slack
,text_messaging
,voice_telephony
,whatsapp
]
channels
RuntimeResponseGeneric
generic
output
An array of objects describing any actions requested by the dialog node.
The name of the action.
The type of action to invoke.
Possible values: [
client
,server
,cloud_function
,web_action
,webhook
]A map of key/value pairs to be provided to the action.
The location in the dialog context where the result of the action is stored.
The name of the context variable that the client application will use to pass in credentials for the action.
actions
A string value that identifies the user who is interacting with the workspace. The client must provide a unique identifier for each individual end user who accesses the application. For user-based plans, this user ID is used to identify unique users for billing purposes. This string cannot contain carriage return, newline, or tab characters. If no value is specified in the input, user_id is automatically set to the value of context.conversation_id.
Note: This property is the same as the user_id property in the context metadata. If user_id is specified in both locations in a message request, the value specified at the root is used.
Possible values: 1 ≤ length ≤ 256
The response sent by the workspace, including the output text, detected intents and entities, and context.
An input object that includes the input text.
The text of the user input. This string cannot contain carriage return, newline, or tab characters.
Possible values: 1 ≤ length ≤ 2048
Any suggested corrections of the input text. This property is returned only if spelling correction is enabled and autocorrection is disabled.
The original user input text. This property is returned only if autocorrection is enabled and the user input was corrected.
input
An array of intents recognized in the user input, sorted in descending order of confidence.
The name of the recognized intent.
A decimal percentage that represents Watson's confidence in the intent.
intents
An array of entities identified in the user input.
Examples:ViewAn entity detected in the input.
An array of zero-based character offsets that indicate where the detected entity values begin and end in the input text.
Possible values: number of items = 2
The entity value that was recognized in the user input.
A decimal percentage that represents Watson's confidence in the recognized entity.
The recognized capture groups for the entity, as defined by the entity pattern.
A recognized capture group for the entity.
Zero-based character offsets that indicate where the entity value begins and ends in the input text.
Possible values: number of items = 2
groups
An object containing detailed information about the entity recognized in the user input.
For more information about how system entities are interpreted, see the documentation.
The calendar used to represent a recognized date (for example,
Gregorian
).A unique identifier used to associate a recognized time and date. If the user input contains a date and time that are mentioned together (for example,
Today at 5
, the same datetime_link value is returned for both the@sys-date
and@sys-time
entities).A locale-specific holiday name (such as
thanksgiving
orchristmas
). This property is included when a@sys-date
entity is recognized based on a holiday name in the user input.The precision or duration of a time range specified by a recognized
@sys-time
or@sys-date
entity.Possible values: [
day
,fortnight
,hour
,instant
,minute
,month
,quarter
,second
,week
,weekend
,year
]A unique identifier used to associate multiple recognized
@sys-date
,@sys-time
, or@sys-number
entities that are recognized as a range of values in the user's input (for example,from July 4 until July 14
orfrom 20 to 25
).The word in the user input that indicates that a
sys-date
orsys-time
entity is part of an implied range where only one date or time is specified (for example,since
oruntil
).A recognized mention of a relative day, represented numerically as an offset from the current date (for example,
-1
foryesterday
or10
forin ten days
).A recognized mention of a relative month, represented numerically as an offset from the current month (for example,
1
fornext month
or-3
forthree months ago
).A recognized mention of a relative week, represented numerically as an offset from the current week (for example,
2
forin two weeks
or-1
for `last week).A recognized mention of a relative date range for a weekend, represented numerically as an offset from the current weekend (for example,
0
forthis weekend
or-1
forlast weekend
).A recognized mention of a relative year, represented numerically as an offset from the current year (for example,
1
fornext year
or-5
forfive years ago
).A recognized mention of a specific date, represented numerically as the date within the month (for example,
30
forJune 30
.).A recognized mention of a specific day of the week as a lowercase string (for example,
monday
).A recognized mention of a specific month, represented numerically (for example,
7
forJuly
).A recognized mention of a specific quarter, represented numerically (for example,
3
forthe third quarter
).A recognized mention of a specific year (for example,
2016
).A recognized numeric value, represented as an integer or double.
The type of numeric value recognized in the user input (
integer
orrational
).A recognized term for a time that was mentioned as a part of the day in the user's input (for example,
morning
orafternoon
).A recognized mention of a relative hour, represented numerically as an offset from the current hour (for example,
3
forin three hours
or-1
foran hour ago
).A recognized mention of a relative time, represented numerically as an offset in minutes from the current time (for example,
5
forin five minutes
or-15
forfifteen minutes ago
).A recognized mention of a relative time, represented numerically as an offset in seconds from the current time (for example,
10
forin ten seconds
or-30
forthirty seconds ago
).A recognized specific hour mentioned as part of a time value (for example,
10
for10:15 AM
.).A recognized specific minute mentioned as part of a time value (for example,
15
for10:15 AM
.).A recognized specific second mentioned as part of a time value (for example,
30
for10:15:30 AM
.).A recognized time zone mentioned as part of a time value (for example,
EST
).
interpretation
An array of possible alternative values that the user might have intended instead of the value returned in the value property. This property is returned only for
@sys-time
and@sys-date
entities when the user's input is ambiguous.This property is included only if the new system entities are enabled for the workspace.
The entity value that was recognized in the user input.
A decimal percentage that represents Watson's confidence in the recognized entity.
alternatives
An object describing the role played by a system entity that is specifies the beginning or end of a range recognized in the user input. This property is included only if the new system entities are enabled for the workspace.
The relationship of the entity to the range.
Possible values: [
date_from
,date_to
,number_from
,number_to
,time_from
,time_to
]
role
entities
Whether to return more than one intent. A value of
true
indicates that all matching intents are returned.State information for the conversation. To maintain state, include the context from the previous response.
The unique identifier of the conversation.
For internal use only.
Metadata related to the message.
A label identifying the deployment environment, used for filtering log data. This string cannot contain carriage return, newline, or tab characters.
Possible values: 1 ≤ length ≤ 256
A string value that identifies the user who is interacting with the workspace. The client must provide a unique identifier for each individual end user who accesses the application. For user-based plans, this user ID is used to identify unique users for billing purposes. This string cannot contain carriage return, newline, or tab characters. If no value is specified in the input, user_id is automatically set to the value of context.conversation_id.
Note: This property is the same as the user_id property at the root of the message body. If user_id is specified in both locations in a message request, the value specified at the root is used.
Possible values: 1 ≤ length ≤ 256
metadata
context
An output object that includes the response to the user, the dialog nodes that were triggered, and messages from the log.
An array of the nodes that were triggered to create the response, in the order in which they were visited. This information is useful for debugging and for tracing the path taken through the node tree.
An array of objects containing detailed diagnostic information about the nodes that were triggered during processing of the input message. Included only if nodes_visited_details is set to
true
in the message request.The unique ID of a dialog node that was triggered during processing of the input message.
The title of the dialog node.
The conditions that trigger the dialog node.
nodes_visited_details
An array of up to 50 messages logged with the request.
The severity of the log message.
Possible values: [
info
,error
,warn
]The text of the log message.
A code that indicates the category to which the error message belongs.
An object that identifies the dialog element that generated the error message.
A string that indicates the type of dialog element that generated the error message.
Possible values: [
dialog_node
]The unique identifier of the dialog node that generated the error message.
source
log_messages
Output intended for any channel. It is the responsibility of the client application to implement the supported response types.
The type of response returned by the dialog node. The specified response type must be supported by the client application or channel.
The text of the response.
An array of objects specifying channels for which the response is intended. If channels is present, the response is intended for a built-in integration and should not be handled by an API client.
A channel for which the response is intended.
Possible values: [
chat
,facebook
,intercom
,slack
,text_messaging
,voice_telephony
,whatsapp
]
channels
RuntimeResponseGeneric
generic
output
An array of objects describing any actions requested by the dialog node.
The name of the action.
The type of action to invoke.
Possible values: [
client
,server
,cloud_function
,web_action
,webhook
]A map of key/value pairs to be provided to the action.
The location in the dialog context where the result of the action is stored.
The name of the context variable that the client application will use to pass in credentials for the action.
actions
A string value that identifies the user who is interacting with the workspace. The client must provide a unique identifier for each individual end user who accesses the application. For user-based plans, this user ID is used to identify unique users for billing purposes. This string cannot contain carriage return, newline, or tab characters. If no value is specified in the input, user_id is automatically set to the value of context.conversation_id.
Note: This property is the same as the user_id property in the context metadata. If user_id is specified in both locations in a message request, the value specified at the root is used.
Possible values: 1 ≤ length ≤ 256
The response sent by the workspace, including the output text, detected intents and entities, and context.
An input object that includes the input text.
The text of the user input. This string cannot contain carriage return, newline, or tab characters.
Possible values: 1 ≤ length ≤ 2048
Any suggested corrections of the input text. This property is returned only if spelling correction is enabled and autocorrection is disabled.
The original user input text. This property is returned only if autocorrection is enabled and the user input was corrected.
input
An array of intents recognized in the user input, sorted in descending order of confidence.
The name of the recognized intent.
A decimal percentage that represents Watson's confidence in the intent.
intents
An array of entities identified in the user input.
Examples:ViewAn entity detected in the input.
An array of zero-based character offsets that indicate where the detected entity values begin and end in the input text.
Possible values: number of items = 2
The entity value that was recognized in the user input.
A decimal percentage that represents Watson's confidence in the recognized entity.
The recognized capture groups for the entity, as defined by the entity pattern.
A recognized capture group for the entity.
Zero-based character offsets that indicate where the entity value begins and ends in the input text.
Possible values: number of items = 2
groups
An object containing detailed information about the entity recognized in the user input.
For more information about how system entities are interpreted, see the documentation.
The calendar used to represent a recognized date (for example,
Gregorian
).A unique identifier used to associate a recognized time and date. If the user input contains a date and time that are mentioned together (for example,
Today at 5
, the same datetime_link value is returned for both the@sys-date
and@sys-time
entities).A locale-specific holiday name (such as
thanksgiving
orchristmas
). This property is included when a@sys-date
entity is recognized based on a holiday name in the user input.The precision or duration of a time range specified by a recognized
@sys-time
or@sys-date
entity.Possible values: [
day
,fortnight
,hour
,instant
,minute
,month
,quarter
,second
,week
,weekend
,year
]A unique identifier used to associate multiple recognized
@sys-date
,@sys-time
, or@sys-number
entities that are recognized as a range of values in the user's input (for example,from July 4 until July 14
orfrom 20 to 25
).The word in the user input that indicates that a
sys-date
orsys-time
entity is part of an implied range where only one date or time is specified (for example,since
oruntil
).A recognized mention of a relative day, represented numerically as an offset from the current date (for example,
-1
foryesterday
or10
forin ten days
).A recognized mention of a relative month, represented numerically as an offset from the current month (for example,
1
fornext month
or-3
forthree months ago
).A recognized mention of a relative week, represented numerically as an offset from the current week (for example,
2
forin two weeks
or-1
for `last week).A recognized mention of a relative date range for a weekend, represented numerically as an offset from the current weekend (for example,
0
forthis weekend
or-1
forlast weekend
).A recognized mention of a relative year, represented numerically as an offset from the current year (for example,
1
fornext year
or-5
forfive years ago
).A recognized mention of a specific date, represented numerically as the date within the month (for example,
30
forJune 30
.).A recognized mention of a specific day of the week as a lowercase string (for example,
monday
).A recognized mention of a specific month, represented numerically (for example,
7
forJuly
).A recognized mention of a specific quarter, represented numerically (for example,
3
forthe third quarter
).A recognized mention of a specific year (for example,
2016
).A recognized numeric value, represented as an integer or double.
The type of numeric value recognized in the user input (
integer
orrational
).A recognized term for a time that was mentioned as a part of the day in the user's input (for example,
morning
orafternoon
).A recognized mention of a relative hour, represented numerically as an offset from the current hour (for example,
3
forin three hours
or-1
foran hour ago
).A recognized mention of a relative time, represented numerically as an offset in minutes from the current time (for example,
5
forin five minutes
or-15
forfifteen minutes ago
).A recognized mention of a relative time, represented numerically as an offset in seconds from the current time (for example,
10
forin ten seconds
or-30
forthirty seconds ago
).A recognized specific hour mentioned as part of a time value (for example,
10
for10:15 AM
.).A recognized specific minute mentioned as part of a time value (for example,
15
for10:15 AM
.).A recognized specific second mentioned as part of a time value (for example,
30
for10:15:30 AM
.).A recognized time zone mentioned as part of a time value (for example,
EST
).
interpretation
An array of possible alternative values that the user might have intended instead of the value returned in the value property. This property is returned only for
@sys-time
and@sys-date
entities when the user's input is ambiguous.This property is included only if the new system entities are enabled for the workspace.
The entity value that was recognized in the user input.
A decimal percentage that represents Watson's confidence in the recognized entity.
alternatives
An object describing the role played by a system entity that is specifies the beginning or end of a range recognized in the user input. This property is included only if the new system entities are enabled for the workspace.
entities