Troubleshoot Service Binding Issues

After you create the API, you then bind your service with the API. This section provides possible causes for issues that might occur when you bind your service, and describes how to troubleshoot these errors:

Binding Name not in DNS Subdomain Standard Format

If you provide a DNS name that does not comply with the DNS subdomain standard format, an error occurs and the binding fails.


If the binding name you provided does not match the required format when you create the binding, the output of the command displays the binding failed error:

The ServiceBinding "customer-API" is invalid: Invalid value: "customer-API": a DNS-1123 subdomain must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character (e.g. '', regex used for validation is '[a-z0-9]([a-z0-9])?(\.[a-z0-9]([-a-z0-9][a-z0-9])?)*')


Ensure that you provide a binding name value that follows the DNS subdomain standards.

References Nonexistent Instance Error

When you create a binding, you must reference an API or an adapter that you previously created using its name. Otherwise, you receive the 'ReferencesNonexistentInstance' error.


This error can occur if:

  • The adapter name in the binding command is incorrect (adapter binding).

  • The API name in the binding command is incorrect (API binding).

  • The Namespace flag was not provided and therefore the service was searched for in the default namespace.


Diagnose this issue by running one of the following commands:

  • $ asmctl api binding list

  • $ asmctl adapter binding list

    The status of binding displays as ReferencesNonexistentInstance.


Delete the erroneous binding command and re-create it with the correct input.

Error Instance is Not Ready

Before you create a binding, the API provisioning task must be completed and the referenced API or adapter must be ready. Otherwise, you receive the 'ErrorInstanceNotReady' error.


To diagnose this issue, check the status of the referenced instance by using either of the following commands, depending on whether you are using an API or an adapter binding:

  • $ asmctl api list

  • $ asmctl adapter list


To resolve this issue:

  1. If the adapter or API provisioning has not yet completed (Provisioning status), wait until the operation completes.

  2. If the status is Failed, review the corresponding troubleshooting section:

  3. To delete the API or adapter, delete the binding first.

  4. Wait for the API or the adapter to be ready.

    The status of the delete transaction must not be Deleting.

  5. After the API or the adapter is ready, re-create the binding.

Was this article helpful?

💙 Thanks for your feedback!

Edit on GitHub
Give us your feedback!
We want to build the best documentation experience for you!
Help us improve with your feedback.
Take the survey!