Build with Watson Apps

 View Only

What's Going On With These New Watson Endpoints?

By Daniel Toczala posted Tue October 20, 2020 03:56 PM


As a Worldwide Customer Success Manager for the Watson products, I talk to Watson users all day.  They usually have issues and problems that are common with other Watson users and customers - so when I run into one of these “common” issues, I like to blog about it so others can avoid making the same mistakes.

Recently I had a call with a customer that I know, and one of their developers was asking me about an email that they had received about a “ endpoint change”.  He said that it looked kind of easy, but that he wanted to be 100% sure that this was something that was simple.  He also mentioned that he read the email and the part about the new URL being “api.{location}.{offering}”.  He just wanted to be sure about what the change to our service was, and what would need to change in his application.

This endpoint change is going to happen for ALL Watson customers - emails went out to account owners, but these mail addresses are not always monitored.  So if you are not aware of any endpoint change, be aware of it now, and know that you have until February 12, 2021, to make the needed changes to your applications.

It’s really pretty simple to make this change - we did it on the phone in about 25 minutes, and we also got to catch up on some personal news while we did it.  It will now need to be tested, but the changes were just to some JSON configuration files for his application.  As an added bonus, the old URL is still good (until February 12, 2021), so he can test this out without having to change his production setup, or without even deploying a new service instance.  The directions for what to do are all in the documentation on Updating endpoint URLs.

First, you need to go into your IBM Cloud console and get a look at all of your services.  Look for the Watson services that you have.  For each one of those Watson services, you will want to go into the service and then select the Service Credentials tab.  This will show a list of your service credentials.  If you open up one of the credentials, you will notice that it has a URL value the begins with   Now click on the large blue button titled New Credential.  Give your new credential a good name - probably something date-based, or something indicating a change in service location.  Then save it.

Now go out and expand your newly created credential.  See how the URL field in the JSON package has changed.  This is the new URL to be using for your calls to this particular Watson API instance.  You will need to change this in your code.

NOTE: Here’s the big thing to remember.  Since you have generated new credentials, you have a new URL.  You also have a new API key associated with this new URL.  Don’t forget to change this API Key value in your code as well.

Now all you have to do is go and do the same thing for each one of your Watson services.  Once you are done with each service, do all of your code changes in a test environment (with new URL’s and new API Keys).  Keep in mind that your OLD credentials are still valid - so your production environment should still be up and happy.  Make sure that you fully test these changes in a test environment

Once these changes get deployed to production, make sure that you go in and delete those old credentials for each of the Watson services.  It will help limit confusion in the future of teams begin looking at key management issues.