Public APIs

webMethods Integration provides a robust set of APIs that helps to programmatically integrate your own applications with webMethods Integration, in a simple and secure manner. With webMethods Integration APIs, you can access the webMethods Integration features and data in an authorized way to accomplish integration of systems and applications. The APIs are based on REST architectural style and can be communicated by using HTTP requests.

Key points to note

  • All Integration APIs are now accessible through the Developer Portal, making it easier for developers to discover, explore, and consume APIs for building integrations. See, Dev Portal https://developers.webmethods.io/portal/apis.
  • When providing public and private keys to the APIs, they must be encoded as JSON string. To encode the contents of a public or private keys PEM files,
    1. Open the PEM file in a text editor.
    2. Replace all newlines (\n) with the literal string \\r\\n.
    3. Save and copy the file contents.
    4. Use the copied string in the API payload.
    Tip: The Export configurations API already returns the public key in JSON format.
  • The passwords and secrets associated with the connections and variables in the payload are not stored for security reasons. You must manually re-enter to ensure proper functioning of the APIs.
  • All APIs support API v2. API v2 excludes the output and error keys from the response.

    Example

    API v1 API v2

    Endpoint: <domain>/apis/v1/rest/projects/:project/workflows

    Success response:
    {
    	output :{
    				uid: <workflow_uid>,
    				name: <workflow_name>,
    				description: <workflow_description>
    			}
    	}

    Endpoint: <domain>/apis/v2/rest/projects/:project/workflows

    Success response:
    {
    				uid: <workflow_uid>,
    				name: <workflow_name>,
    				description: <workflow_description>
    			} 

    Endpoint: <domain>/apis/v1/rest/projects/:project/workflows

    Error response:
    {
      "error": {
        "message": "No data found.",
        "code": 404,
        "errorSource": {
          "errorCode": "API_000",
          "requestID": "935d9c753d0897d07f2042cac0bf7577"
        }
      }
    }

    Endpoint: <domain>/apis/v2/rest/projects/:project/workflows

    Error response:
    {
      "message": "No data found.",
      "code": 404,
      "errorSource": {
        "errorCode": "API_000",
        "requestID": "b42240beb3f51a5f12af555fe793da83"
      }
    } 

Deprecated URLs

The URL syntax of all public APIs that were introduced in Release 10.11 are deprecated and will become obsolete in a later release. Currently, deprecated URLs are functional and supported only for backward compatibility.

Old URL Format (Deprecated): <domain>/enterprise/v1/rest/...

New URL Format: <domain>/apis/v1/rest/...

The following APIs have been deprecated:

APIs Deprecated URL New URL
Workflow API - Exporting a workflow <domain>/enterprise/v1/rest/projects/:project/workflows/:workflow/export <domain>/apis/v1/rest/projects/:project/workflows/:workflow/export
Workflow API - Importing a workflow <domain>/enterprise/v1/rest/projects/:project/workflow-import <domain>/apis/v1/rest/projects/:project/workflow-import
Workflow API - Deleting a workflow <domain>/enterprise/v1/rest/projects/:project/workflows/:workflow <domain>/apis/v1/rest/projects/:project/workflows/:workflow
Workflow API - Executing a workflow <domain>/enterprise/v1/rest/projects/:project/workflows/:workflow/run <domain>/apis/v1/rest/projects/:project/workflows/:workflow/run
Workflow API - Retrieving workflow execution status <domain>/enterprise/v1/rest/projects/:project/workflow-run/:run_id <domain>/apis/v1/rest/projects/:project/workflow-run/:run_id
Flow service API - Exporting a Flow service <domain>/enterprise/v1/rest/projects/:project/flows/:flow/export <domain>/apis/v1/rest/projects/:project/flows/:flow/export
Flow service API - Importing a Flow service <domain>/enterprise/v1/rest/projects/:project/flow-import <domain>/apis/v1/rest/projects/:project/flow-import
Flow service API - Deleting a Flow service <domain>/enterprise/v1/rest/projects/:project/flows/:flow <domain>/apis/v1/rest/projects/:project/flows/:flow
Flow service API - Executing a Flow service <domain>/enterprise/v1/rest/projects/:project/flows/:flow/run <domain>/apis/v1/rest/projects/:project/flows/:flow/run
Project API - Creating a project <domain>/enterprise/v1/rest/projects <domain>/apis/v1/rest/projects
Project API - Updating a project <domain>/enterprise/v1/rest/projects <domain>/apis/v1/rest/projects/:project
Project API - Deleting a project <domain>/enterprise/v1/rest/projects/project <domain>/apis/v1/rest/projects/:project
Project API - Retrieving a project <domain>/enterprise/v1/rest/projects/project <domain>/apis/v1/rest/projects/:project
Project API - Retrieving a list of projects <domain>/enterprise/v1/rest/projects <domain>/apis/v1/rest/projects
Note: Currently, both the deprecated URL and the new URL are supported for the listed public APIs. It is strongly recommended that you review the current deployment and change the implementation to utilize the new URL format provided.

Error handling

When a request is successful, the API returns an HTTP 200 OK status, indicating that the operation was completed successfully.

If a request to any public API fails, the response includes the error source, providing more detailed information about the cause of the failure.

Authentication method

For more information, see the Authenticating API requests section.