Accessing Caché Source Code Files Using REST
Caché Source Code File REST API Reference
[Home] [Back] 
InterSystems: The power behind what matters   
Class Reference   
Search:    

The Caché Source Code File REST interface supports the following methods:

GetServer
This method returns information about the server, including Caché Source Code File REST API version and namespaces that are available on the server.
For an example and additional details refer to Getting Information about the Caché Server in the tutorial chapter of this manual.
URL
GET http://server:port/api/atelier/
JSON Messages
The following returned content is a server descriptor:
{
    "status": {
        "errors": [],
        "summary": ""
    },
    "console": [],
    "result": {
        "content": {
            "version": "Cache for Windows (x86-64) 2017.2 (Build 691U) Wed Jun 7 2017 20:45:20 EDT",
            "id": "B70A630D-A34D-43B1-8EA5-EDF8F38992C4",
            "api": 2,
            "features": [
                {
                    "name": "DEEPSEE",
                    "enabled": true
                },
                {
                    "name": "ENSEMBLE",
                    "enabled": true
                },
                {
                    "name": "HEALTHSHARE",
                    "enabled": false
                }
            ],
            "namespaces": [
                "%SYS",
                "DOCBOOK",
                "ENSDEMO",
                "ENSEMBLE",
                "INVENTORY",
                "SAMPLES",
                "USER"
            ]
        }
    }
}
HTTP Return Codes
HeadServer Method
This method returns the HttpHeader for the server.
URL
HEAD http://server:port/api/atelier/
JSON Messages
No returned content.
HTTP Return Codes
GetJobs
This method returns a list of running jobs on the Caché instance.
URL
GET http://server:port/api/atelier/v1/%25SYS/jobs
Note:
Because % is a URL special character, to specify a literal % you must follow it with 25 (the hexadecimal code for the percent character). Therefore, you must use %25SYS to specify the literal %SYS.
JSON Messages
The following returned content is an array of job descriptors:
{
  "status": {
    "errors": [],
    "summary": ""
  },
  "console": [],
  "result": {
    "content": [
      {
        "pid": 1394,
        "namespace": "%SYS",
        "routine": "%Studio.Debugger.1",
        "state": "RUN",
        "device": "|TCP|1972|1394"
      },
      {
        "pid": 1345,
        "namespace": "%SYS",
        "routine": "RECEIVE",
        "state": "HANG",
        "device": "/dev/null"
      },
      {
        "pid": 1364,
        "namespace": "%SYS",
        "routine": "%SYS.TaskSuper.1",
        "state": "SELECTW",
        "device": "/dev/null"
      },
      {
        "pid": 1396,
        "namespace": "%SYS",
        "routine": "%SYS.cspServer3",
        "state": "READ",
        "device": "|TCP|1972|1396"
      },
      {
        "pid": 1346,
        "namespace": "%SYS",
        "routine": "ECPWork",
        "state": "RUNW",
        "device": "/dev/null"
      },
      {
        "pid": 1417,
        "namespace": "%SYS",
        "routine": "%SYS.BINDSRV",
        "state": "READ",
        "device": "|TCP|1972|1417"
      }
    ]
  }
}
HTTP Return Codes
GetMetaData
This method returns the binary contents of the AtelierMetaData.zip file for the named database. Atelier uses this file to store index information so that it can preserve this information for future sessions.
URL
GET http://server:port/api/atelier/v1/%25SYS/metadata/database
Note:
Because % is a URL special character, to specify a literal % you must follow it with 25 (the hexadecimal code for the percent character). Therefore, you must use %25SYS to specify the literal %SYS.
HTTP Return Codes
GetCSPApps
This method returns a list of CSP applications defined on the server or defined for a specified namespace on the server.
URL
GET http://server:port/api/atelier/v1/%25SYS/cspapps
GET http://server:port/api/atelier/v1/%25SYS/cspapps/namespace
Where:
namespace
Specifies the name of the namespace. If namespace is not specified, this method returns the CSP applications for all namespaces.
Note:
Because % is a URL special character, to specify a literal % you must follow it with 25 (the hexadecimal code for the percent character). Therefore, you must use %25SYS to specify the literal %SYS.
URL Parameters
The URL parameter ?detail=1 can be passed to return an array containing objects which describe the application in more detail.
JSON Messages
The following returned content is an array listing the defined CSP applications:
{
  "status": {
    "errors": [],
    "summary": ""
  },
  "console": [],
  "result": {
    "content": [
      "/csp/broker",
      "/csp/sys",
      "/csp/sys/bi",
      "/csp/sys/exp",
      "/csp/sys/mgr",
      "/csp/sys/op",
      "/csp/sys/sec",
      "/isc/studio/rules",
      "/isc/studio/templates",
      "/isc/studio/usertemplates",
      "/csp/docbook",
      "/csp/documatic",
      "/csp/ensdemo",
      "/csp/ensemble",
      "/csp/samples",
      "/csp/user"
    ]
  }
}
The following is the same returned content with detail=1:
{
  "status": {
    "errors": [],
    "summary": ""
  },
  "console": [],
  "result": {
    "content": [
      {
        "name": "/csp/broker",
        "default": false
      },
      {
        "name": "/csp/sys",
        "default": true
      },
      {
        "name": "/csp/sys/bi",
        "default": false
      },
      {
        "name": "/csp/sys/exp",
        "default": false
      },
      {
        "name": "/csp/sys/mgr",
        "default": false
      },
      {
        "name": "/csp/sys/op",
        "default": false
      },
      {
        "name": "/csp/sys/sec",
        "default": false
      },
      {
        "name": "/isc/studio/rules",
        "default": false
      },
      {
        "name": "/isc/studio/templates",
        "default": false
      },
      {
        "name": "/isc/studio/usertemplates",
        "default": false
      },
      {
        "name": "/csp/docbook",
        "default": true
      },
      {
        "name": "/csp/documatic",
        "default": false
      },
      {
        "name": "/csp/ensdemo",
        "default": true
      },
      {
        "name": "/csp/ensemble",
        "default": true
      },
      {
        "name": "/csp/samples",
        "default": true
      },
      {
        "name": "/csp/user",
        "default": true
      }
    ]
  }
}
HTTP Return Codes
GetNamespace
This method returns information about a specific namespace.
URL
GET http://server:port/api/atelier/v1/namespace
JSON Messages
The following is the returned content information about the namespace DOCBOOK:
{
  "status": {
    "errors": [],
    "summary": ""
  },
  "console": [],
  "result": {
    "content": {
      "name": "DOCBOOK",
      "db": [
        { "name": "DOCBOOK", "crhash": "5046B9BF0DE", "default": true },
        { "name": "CACHESYS", "crhash": "47763751EC", "default": false },
        { "name": "CACHE", "crhash": "4776EDD1C3", "default": false },
        { "name": "CACHELIB", "crhash": "5023332D0A7", "default": false }
      ],
      "features": [
        {
          "name": "ENSEMBLE",
          "enabled": false
        }
      ],
    }
  }
}
HTTP Return Codes
GetDocNames
This method returns a list of source code file names. The optional cat and type constrain the types of source code files.
For an example and additional details refer to Getting the Source Code Files Defined in a Namespace in the tutorial chapter of this manual.
URL
GET http://server:port/api/atelier/v1/namespace/docnames
GET http://server:port/api/atelier/v1/namespace/docnames/cat
GET http://server:port/api/atelier/v1/namespace/docnames/cat/type
Where:
cat
Specifies a category code: CLS = class; RTN = routine; CSP = csp file; OTH = other. Default is *.
type
Specifies a source code file type. Can be an * wildcard or a three-letter code. For CLS, type must be *. For RTN, type may be mac, int, inc, bas ,mvi, or mvb. For CSP, type can be a list of file types such as js or css separated by commas. Default is *.
URL Parameters
JSON Messages
The following is the returned content, an array of source code file descriptors:
{
  "status": {
    "errors": [],
    "summary": ""
  },
  "console": [],
  "result": {
    "content": [
      {
        "name": "%Activate.Enum.cls",
        "cat": "CLS",
        "ts": "2016-08-03 20:01:42.000",
        "upd": true,
        "db": "CACHELIB",
        "gen": false
      },
      ...
      {
        "name": "EnsProfile.mac",
        "cat": "RTN",
        "ts": "2003-09-19 13:53:31.000",
        "upd": true,
        "db": "INVENTORYR",
        "gen": false
      },
      ...
      {
        "name": "xyz.mac",
        "cat": "RTN",
        "ts": "2016-08-11 15:05:02.167",
        "upd": false,
        "db": "INVENTORYR",
        "gen": false
      }
    ]
  }
}
HTTP Return Codes
GetModifiedDocNames
This method returns a list of source code files that have been modified since the time the databases had the specified hashes. It is passed a list of database keys and hashes as a JSON array. The hash values are used to determine if anything has changed in the database defined by the key. Typically, you first call this api with an empty array as the incoming JSON message. This returns the names of all source code files in the namespace with the database key and hash for each file. Then you can post the dbname and dbhash to discover which source code files have been modified on the server since the last call.
You post the list of source code files to check as shown in the following example:
[ { "dbname" : "USER",
    "dbhash" : "KWAGbOdnRblPzANaiv1Oiu0BZLI" 
}, ... ]
URL
POST http://server:port/api/atelier/v1/namespace/modified/type
Where:
type
Specifies a source code file type as * or a three-letter code, ls, mac, int, inc, bas, or mvi. Default is *.
This call requires the header Content-Type application/json.
JSON Messages
The following is the returned content, an array of source code file descriptors:
[ { "dbname" : "USER", 
    "dbhash" : "Qx1zuNaulq3b_1yR9ahZAfjkc-",
    "crhash" : "47763751EC",
    "docs": [{
            "name": "User.NewClass1.cls",
            "ts": "2016-01-04 14:00:04.000",
            "gen": false
            }, ... ]
   }, ... ]
If a source code file has been deleted since the specified dbhash, it is returned in the list with a time stamp set to an empty string:
"ts": ""
HTTP Return Codes
PutDoc
This method saves the supplied source code file. If the file does not exist, this method creates it, and, if the file exists, this method replaces the existing file with the one specified. To ensure that you are overwriting the correct version of the file, specify the If-None-Match header with the timestamp value returned in the ETAG header of a previous PutDoc or GetDoc. If you want to overwrite the file without checking the version, specify the ?ignoreConflict=1 URL parameter. This method returns a corresponding source code file object. If you are saving a binary file, set the enc element of the incoming JSON message to true and include the file content as an array of blocks of base64. If the text on the server is changed during the save process (for example by a source control hook) the updated text will be returned in the content array of the returned source code file.
Errors pertaining to the source code file will be in the status property of the returned source code file object.
Version 2 PutDoc has the capability to accept the contents of the file in three formats: the default UDL format, XML format, and the format used by the legacy %RO export utility. PutDoc automatically recognizes the format of the file contents.
For an example and additional details refer to Creating a New File in a Namespace or Updating an Existing File in the tutorial chapter of this manual.
URL and Input JSON Message
PUT http://server:port/api/atelier/v1/namespace/doc/doc-name
PUT http://server:port/api/atelier/v2/namespace/doc/doc-name
The following is an example of the input JSON message for a PutDoc for the source code file xyz.mac:
{
 "enc": false,
 "content": [
   "ROUTINE xyz",
   "xyz ;",
   "   w \"hello\""
   ]
}
Note:
If you are creating a CSP file, the value of doc-name includes the / (slash) character. This is the reason that the URLMap defining PutDoc contains a (.*) for this parameter name instead of :docname. See Creating the URL Map for REST in Creating REST Services in Caché for details.
URL Parameters
The URL parameter ?ignoreConflict=1 can be passed to bypass ETAG checking. This forces the source code file to be written to the server even if the file has changed since you previously accessed it.
HTTP Headers
JSON Messages
The following is the returned content for a PUT of source code file xyz.mac:
{
  "status": {
    "errors": [],
    "summary": ""
  },
  "console": [],
  "result": {
    "name": "xyz.mac",
    "db": "INVENTORYR",
    "ts": "2016-09-14 14:10:16.540",
    "upd": false,
    "cat": "RTN",
    "status": "",
    "enc": false,
    "flags": 0,
    "content": []
  }
}
When a class is saved PutDoc always returns the storage section because it may be normalized by the server. The 'flags' json field will be 1 if the contents is only the storage section. 'flags' will be 0 if PutDoc returns either the entire class in content or if content is empty.
HTTP Return Codes
GetDoc
This method returns the text for the named source code file and namespace.
Return content will contain a source code file object.
Errors pertaining to the source code file will be in the status property of the source code file object. If source control hooks are enabled for the namespace any console output generated by the hook will be captured and returned as an array of lines in the 'console' array.
The result contains the name of the requested file, the database where it is stored, its timestamp, and its category abbreviation (CLS = class; RTN = routine; CSP = csp file; OTH = other), as well as the source code file contents which are returned in an array.
Version 2 GetDoc can return the file contents in UDL format (the default), XML format, or the format used by the legacy %RO export utility.
For an example and additional details refer to Getting the Source Code Files Defined in a Namespace in the tutorial chapter of this manual.
URL
GET http://server:port/api/atelier/v1/namespace/doc/doc-name
GET http://server:port/api/atelier/v2/namespace/doc/doc-name
Note:
If you are getting a CSP file, the value of doc-name includes the / (slash) character. This is the reason that the URLMap defining GetDoc contains a (.*) for this parameter name instead of :docname. See Creating the URL Map for REST in Creating REST Services in Caché for details.
URL Parameters
HTTP Headers
JSON Messages
The following is an example of the result returned by requesting %Activate.Enum.cls:
{
  "status": {
    "errors": [],
    "summary": ""
  },
  "console": [],
  "result": {
    "name": "%Activate.Enum.cls",
    "db": "CACHELIB",
    "ts": "2016-09-13 22:31:24.000",
    "upd": true,
    "cat": "CLS",
    "status": "",
    "enc": false,
    "flags": 0,
    "content": [
      "/// This class is the superclass for all enumerated types generated from",
      "/// a type library",
      "Class %Activate.Enum Extends %Integer [ Not ProcedureBlock, System = 3 ]",
      "{",
      "",
      "}",
      ""
    ]
  }
}
The following is the result of the same request with ?binary=1:
{
  "status": {
    "errors": [],
    "summary": ""
  },
  "console": [],
  "result": {
    "name": "%Activate.Enum.cls",
    "db": "CACHELIB",
    "ts": "2016-01-04 14:00:04.000",
    "cat": "CLS",
    "status": "",
    "enc": true,
    "content": [
      "Ly8vIFRoaXMgY2xhc3MgaXMgdGhlIHN1cGVyY2xhc3MgZm9yIGFsbCBl  ... PSAzIF0KewoKfQo="
    ]
  }
}
HTTP Return Codes
If a 'soft' error occurs such as a 'source code file does not exist', additional information can be found in the 'status' field of the result. Examples of other soft errors include 'file is locked'. For example, the following could be returned with an HTTP 404 return code:
{
  "status": {
    "errors": [],
    "summary": ""
  },
  "console": [],
  "result": {
    "name": "xyz1.mac",
    "db": "",
    "ts": "",
    "cat": "RTN",
    "enc": false,
    "content": "",
    "status": "ERROR #16005: Document 'xyz1.mac' does NOT exist"
  }
}
DeleteDoc
This method deletes the named source code file in the specified namespace. It returns the corresponding source code file object.
Errors pertaining to the source code file will be in the status property of the source code file object.
For an example and additional details refer to Deleting a File in the tutorial chapter of this manual.
URL
DELETE http://server:port/api/atelier/v1/namespace/doc/doc-name
Note:
If you are deleting a CSP file, the value of doc-name includes the / (slash) character. This is the reason that the URLMap defining DeleteDoc contains a (.*) for this parameter name instead of :docname. See Creating the URL Map for REST in Creating REST Services in Caché for details.
JSON Messages
The following is the returned content for a DELETE of source code file xyz.mac:
{
  "status": {
    "errors": [],
    "summary": ""
  },
  "console": [],
  "result": {
    "name": "xyz.mac",
    "db": "INVENTORYR",
    "ts": "",
    "cat": "RTN",
    "status": "",
    "enc": false,
    "flags": 0,
    "content": []
  }
}
HTTP Return Codes
HeadDoc
This method returns the HttpHeader for the named source code file and namespace. This header contains a timestamp which can be used to detect discrepancies between server and client versions.
URL
HEAD http://server:port/api/atelier/v1/namespace/doc/doc-name
Note:
If you are getting the HTTP header for a CSP file, the value of doc-name includes the / (slash) character. This is the reason that the URLMap defining HeadDoc contains a (.*) for this parameter name instead of :docname. See Creating the URL Map for REST in Creating REST Services in Caché for details
HTTP Return Codes
GetDocs
This method returns the text for the all of the specified source code files in the namespace.
URL
POST http://server:port/api/atelier/v1/namespace/docs
A list of source code files to be fetched is passed in the body of the http request. The request body is a JSON array of names of source code files you want to fetch. For example, [ "%Activate.Enum.cls", ... ].
This call requires the header Content-Type application/json.
JSON Messages
Return content is an array of source code file objects. See GetDoc method for an example of the structure of a source code file object.
Errors pertaining to a source code file will be in the status property of each source code file object. This method does NOT support the storageOnly flag. Neither does it do ETAG checking (and therefore will not return an HTTP 304 under any circumstances).
HTTP Return Codes
DeleteDocs
This method deletes a list of named source code files. It returns a corresponding array of source code file objects.
URL
DELETE http://server:port/api/atelier/v1/namespace/docs
The list of files to delete is passed in the body of the http request as a JSON array. For example, [ "%Activate.Enum.cls", ... ].
This call requires the header Content-Type application/json.
JSON Messages
The following is the returned content for a DELETE of source code file xyz.mac and the nonexistent class notexist.cls:
{
  "status": {
    "errors": [],
    "summary": ""
  },
  "console": [
  ],
  "result": [
    {
      "name": "xyz.mac",
      "db": "INVENTORYR",
      "status": ""
    },
    {
      "name": "notexist.cls",
      "db": "",
      "status": "ERROR #5001: Document Does Not Exist: User.notexist.cls [zExistsDoc+3^%Atelier.v1.Utils.General.1:%SYS]"
    }
  ]
}
Errors pertaining to a each source code file will be in the status property of each returned source code file object. If the status is an empty string the source code file was deleted successfully. Otherwise the source code file was NOT deleted.
For deleted source code files, the db property will indicate from which database the doc was deleted.
HTTP Return Codes
Compile
This method compiles source code files. It permits the compilation of more than one source code file at a time. It returns an array of corresponding source code file objects.
The list of files to be compiled is passed in the body of the http request as a JSON array. For example, [ "%Activate.Enum.cls", ... ].
For an example and additional details refer to Compiling a File in the tutorial chapter of this manual.
URL
POST http://server:port/api/atelier/v1/namespace/action/compile
This call requires the header Content-Type application/json.
URL Parameters
JSON Messages
The following is the returned content when compiling Atelier.NewClass1:
{
  "status": {
    "errors": [],
    "summary": ""
  },
  "console": [
    "Compilation started on 01/12/2016 17:44:00 with qualifiers 'cuk'",
    "Compiling class Atelier.NewClass1",
    "Compiling table Atelier.NewClass1",
    "Compiling routine Atelier.NewClass1.1",
    "Compilation finished successfully in 0.067s.",
    ""
  ],
  "result": {
    "content": [
      {
        "name": "Atelier.NewClass1.cls",
        "status": "",
        "content": [
          "Storage Default",
          "{",
          "<Data name=\"NewClass1DefaultData\">",
          "<Value name=\"1\">",
          "<Value>%%CLASSNAME</Value>",
          "</Value>",
          "</Data>",
          "<DataLocation>^Atelier.NewClass1D</DataLocation>",
          "<DefaultData>NewClass1DefaultData</DefaultData>",
          "<IdLocation>^Atelier.NewClass1D</IdLocation>",
          "<IndexLocation>^Atelier.NewClass1I</IndexLocation>",
          "<StreamLocation>^Atelier.NewClass1S</StreamLocation>",
          "<Type>%Library.CacheStorage</Type>",
          "}",
          ""
        ],
        "db": "CACHESYS",
        "ts": "2016-01-12 17:44:00.053",
        "enc": false,
        "flags": 1
      }
    ]
  }
}
Errors pertaining to a source code file will be in the status property of each source code file object.
If compiling a persistent class causes the storage definition to change, the storage definition is returned as the content of a source code file object. Otherwise the result content will be empty.
HTTP Return Codes
Index
This method returns summary information on the specified source code files. Your application can use this information to create an index to the source code files. It returns an array of index source code file objects.
The list of source code files to be indexed is passed in the body of the http request. The request body is a JSON array of names of source code files. For example, [ "%Activate.Enum.cls", ... ].
URL
POST http://server:port/api/atelier/v1/namespace/action/index
This call requires the header Content-Type application/json.
JSON Messages
Errors pertaining to a source code file are in the status property of each source code file object. The returned array contains information relating to the structure and documentation of source code files on the server. It will vary by the category to which the source code file belongs. The following is an example for a class (category CLS). (Currently we only support the indexing of classes.):
{
  "status": {
    "errors": [],
    "summary": ""
  },
  "console": [],
  "result": {
    "content": [
      {
        "name": "%Activate.GenericObject.cls",
        "db": "CACHELIB",
        "ts": "2016-01-04 14:00:04.000",
        "gen": false,
        "others": [
          "%Activate.GenericObject.1.INT"
        ],
        "cat": "CLS",
        "content": {
          "desc": "This class provides functionality to create an ActiveX object, invoke its methods and Get/Set its properties by name.",
          "depl": false,
          "depr": false,
          "final": false,
          "hidden": false,
          "super": [
            "%Activate.IDispatch"
          ],
          "methods": [
            {
              "name": "CreateObject",
              "desc": "This method is used to create a generic object given only its progid. If the object cannot be found an exception is thrown. 
                       The return value should be tested against $$$NULLOREF  in the usual manner to ensure that the object has been successfully created",
              "depr": false,
              "final": true,
              "internal": false,
              "private": false,
              "scope": "class",
              "returntype": "%Library.RegisteredObject",
              "args": [
                {
                  "name": "Progid",
                  "type": "%Library.String"
                }
              ]
            },
            {
              "name": "GetObject",
              "desc": "This method is used to create a generic object from a moniker. If the object cannot be found an exception is thrown. 
                       The return value should be tested against $$$NULLOREF  in the usual manner to ensure that the object has been successfully created.",
              "depr": false,
              "final": true,
              "internal": false,
              "private": false,
              "scope": "class",
              "returntype": "%Library.RegisteredObject",
              "args": [
                {
                  "name": "Moniker",
                  "type": "%Library.String"
                }
              ]
            }
          ],
          "parameters": [],
          "properties": []
        },
        "status": ""
      }
    ]
  }
}
HTTP Return Codes
Query
This method performs an SQL query on a Caché table and returns the results. The request body is a JSON object which specifies the query. It returns an array of objects that match the query conditions. Each returned object contains information relating to one row returned by the query.
URL
POST http://server:port/api/atelier/v1/namespace/action/query
The SQL query is specified in the body of the URL request. The query must specify a database in the specified namespace.
This call requires the header Content-Type application/json.
JSON Messages
Return content is an array of objects. Errors will be in the status property of each source code file object:
{
  "status": {
    "errors": [],
    "summary": ""
  },
  "console": [],
  "result": {
    "content": [
      {
        "ID": "%all",
        "Description": "The Super-User Role"
      },
      {
        "ID": "%db_%default",
        "Description": "R/W access for this resource"
      },
      {
        "ID": "%db_cache",
        "Description": "R/W access for this resource"
      },
      ...
      {
        "ID": "%sqltunetable",
        "Description": "Role for use by tunetable to sample tables irrespective of row level security"
      }
    ]
  }
}
HTTP Return Codes
Search
This method finds files in the Caché database with the specified contents. The Search method is available in version 2 of the API. This method returns the results of the search in a format intended to be displayed to the user.
URL
POST http://server:port/api/atelier/v2/namespace/action/search
URL Parameters
JSON Messages
The following search REST call searches all .cls and .mac files for the word “Email” preceded and followed by a space. (In a regular expression, \s is matched by a space character.)
GET localhost:57772/api/atelier/v2/SAMPLES/action/search?query=.*\sEmail\s.*&files=*.cls,*.mac
This call returns the following message. The return message may vary based on the contents of the SAMPLES namespace.
{
    "status": {
        "errors": [],
        "summary": ""
    },
    "console": [
        "",
        "Searching for '.*\\sEmail\\s.*' in '*.cls,*.mac'",
        "Wasabi.Data.Employee.cls(Email): Property Email ",
        "Wasabi.Person.API.Employee.cls(Email): Property Email ",
        "ZAUTHENTICATE.mac(175): Properties(\"EmailAddress\") - Email address",
        "Found 3 occurrence/s in 3 file/s."
    ],
    "result": [
        {
            "doc": "Wasabi.Data.Employee.cls",
            "matches": [
                {
                    "member": "Email",
                    "text": "Property Email "
                }
            ]
        },
        {
            "doc": "Wasabi.Person.API.Employee.cls",
            "matches": [
                {
                    "member": "Email",
                    "text": "Property Email "
                }
            ]
        },
        {
            "doc": "ZAUTHENTICATE.mac",
            "matches": [
                {
                    "line": "175",
                    "text": "Properties(\"EmailAddress\") - Email address"
                }
            ]
        }
    ]
}
HTTP Return Codes
GetEnsClassType
This method returns a list of Ensemble class names.
URL
GET http://server:port/api/atelier/v1/namespace/ens/classes/type
Where:
type
is an integer and returns classes corresponding to that integer as follows:
Adapters 1
InboundAdapters 2
OutboundAdapters 3
Messages 4
Requests 5
Responses 6
BusinessServices 7
BusinessProcesses 8
BusinessOperations 9
DataTransformation 10
Production 11
BusinessHost 12
Dashboard 13
Rule 14
JSON Messages
The following returned content is an array of Ensemble class names:
{
  status: {
    errors: []
    summary: ""
  }
  console: []
  result: {
    content: [
        "Ens.Enterprise.MsgBank.BankTCPAdapter",
        "Ens.Enterprise.MsgBank.ClientTCPAdapter",
        "Ens.InboundAdapter",
        "Ens.OutboundAdapter"
    ]
  }
}
HTTP Return Codes
GetAdpInputOutputClass
This method returns the input and output type for a specified Ensemble adapter.
URL
GET http://server:port/api/atelier/v1/namespace/ens/adapter/name
JSON Messages
The following is an example of returned content:
{
  status: {
    errors: []
    summary: ""
  }
  console: []
  result: {
    content: {
      input: "%Stream.Object"
      output: "%String"
    }
  }
}
HTTP Return Codes