The REST API provides the following methods for managing custom modules and libraries:

POST /admin/modules

URI

POST /admin/modules

Description

Loads a new module onto the engine.

An option in the rhapsody.properties file can be used to limit the circumstances under which custom modules and libraries can be uploaded to the Rhapsody engine. Refer to Loading Custom Modules and Libraries for details.

Request Header

Content-Type: application/java-archive
Content-Disposition: <name>
CSRF Protection Enabled

Content-Type: application/vnd.orchestral.rhapsody.6_1+java-archive
Content-Disposition: <name>
CSRF Protection Enabled

Request Body

The module JAR file binary.

Response Status

201 Created - includes location header with the URI of the API to save the custom module.
409 Conflict - the module already exists on the engine. 

Response Body Empty.

Access Rights

'Load custom modules and third party libraries REST API'.

PUT /admin/modules/<name>

URI

PUT /admin/modules/<name>

Description

Loads a module onto the engine, overwriting the existing module with that name.

An option in the rhapsody.properties file can be used to limit the circumstances under which custom modules and libraries can be uploaded to the Rhapsody engine. Refer to Loading Custom Modules and Libraries for details.

Request Header

Content-Type: application/java-archive
CSRF Protection Enabled

Content-Type: application/vnd.orchestral.rhapsody.6_1+java-archive
CSRF Protection Enabled

Request Body

The module JAR file binary.

Response Status

204 No Content - operation successful.

Response Body Empty.

Access Rights

'Load custom modules and third party libraries REST API'.

GET /admin/modules

URI

GET /admin/modules

Description

Returns the custom modules.

Request Header

Accept: application/json, multipart/mixed

Accept: application/vnd.orchestral.rhapsody.6_1+json, multipart/vnd.orchestral.rhapsody.6_1+mixed

Request Body

Empty.

Response Status

200 OK - returns all the module's information in JSON format and the actual module JAR file if requested.
204 No Content - there are no modules available.

Response Body
json
{
    "data":
    [
        {
            "filename": "com.orchestral.rhapsody.testing.fifotester-3.4-final.jar",
            "hash": "c2c1752bcbef182f294a7240bd34ba5ae85762de",
            "resourceURI": "https://localhost:8444/admin/module/com.orchestral.rhapsody.testing.fifotester-3.4-final.jar"
        },
        {
            "filename": "Mapper_Source.jar",
            "hash": "9e47c479747ef3add5a5f794c2a8d229545dfa98",
            "resourceURI": "https://localhost:8444/admin/module/Mapper_Source.jar"
        },
        {
            "filename": "MessageSource.jar",
            "hash": "e3ad78bbfa2b0fe494f08ff8c46cfd22dae32b07",
            "resourceURI": "https://localhost:8444/admin/module/MessageSource.jar"
        },
        {
            "filename": "net.catholichealth.rhapsody.filters.ExtractMessagePropertiesHL7.jar",
            "hash": "a7d456b5d188da5312361fba4f46341338f03e4e",
            "resourceURI": "https://localhost:8444/admin/module/net.catholichealth.rhapsody.filters.ExtractMessagePropertiesHL7.jar"
        },
        {
            "filename": "XML_Source.jar",
            "hash": "8618375e547237f6817641e6d0188400db0e6b1b",
            "resourceURI": "https://localhost:8444/admin/module/XML_Source.jar"
        }
    ],
    "error": null
}  
multipart/mixed
--Boundary_20_1981173124_1418952174309
Content-Type: multipart/mixed; boundary=Boundary_15_1443523109_1418952174308

--Boundary_6_1777375636_1418952018388
Content-X-Rhapsody-Modulepart: meta
Content-Type: application/json

{"filename":"XML\u005FSource\u002Ejar","hash":"8618375e547237f6817641e6d0188400db0e6b1b","resourceURI":null}

--Boundary_6_1777375636_1418952018388
Content-Disposition: attachment;filename=XML_Source.jar
Content-X-Rhapsody-Modulepart: jar
Content-Type: application/java-archive

A34943CBD13F21G123...

--Boundary_6_1777375636_1418952018388

--Boundary_6_1777375636_1418952018389
Content-X-Rhapsody-Modulepart: meta
Content-Type: application/json

{"filename":"XML\u005FSource2\u002Ejar","hash":"8618375e547237f6817641e6d0188400db0e6b1b","resourceURI":null}

--Boundary_6_1777375636_1418952018389
Content-Disposition: attachment;filename=XML_Source2.jar
Content-X-Rhapsody-Modulepart: jar
Content-Type: application/java-archive

A34943CBD13F21G123...

--Boundary_6_1777375636_1418952018389

--Boundary_20_1981173124_1418952174309 

Access Rights

'Save custom modules and third party libraries REST API'.

GET /admin/modules/<name>

URI

GET /admin/modules/<name>

Description

Returns the module with the given name.

Request Header

Accept: application/json, multipart/mixed

Accept: application/vnd.orchestral.rhapsody.6_1+json, multipart/vnd.orchestral.rhapsody.6_1+mixed

Request Body

Empty.

Response Status

200 OK - returns the module information in JSON format and the actual module JAR file if requested.

Response Body
application/json
{
    "data":
    {
        "filename": "XML_Source.jar",
        "hash": "8618375e547237f6817641e6d0188400db0e6b1b",
        "resourceURI": "https://localhost:8444/admin/module/XML_Source.jar"
    },
    "error": null
}
multipart/mixed
--Boundary_6_1777375636_1418952018389
Content-X-Rhapsody-Modulepart: meta
Content-Type: application/json

{"filename":"XML\u005FSource\u002Ejar","hash":"8618375e547237f6817641e6d0188400db0e6b1b","resourceURI":null}

--Boundary_6_1777375636_1418952018389
Content-Disposition: attachment;filename=XML_Source.jar
Content-X-Rhapsody-Modulepart: jar
Content-Type: application/java-archive

A34943CBD13F21G123...

--Boundary_6_1777375636_1418952018389

Access Rights

'Save custom modules and third party libraries REST API'.

POST /admin/libraries

URI

POST /admin/libraries

Description

Loads a new library onto the engine.

An option in the rhapsody.properties file can be used to limit the circumstances under which custom modules and libraries can be uploaded to the Rhapsody engine. Refer to Loading Custom Modules and Libraries for details.

Request Header

Content-Type: application/octet-stream
Content-Disposition: <name>

CSRF Protection Enabled

Content-Type: application/vnd.orchestral.rhapsody.6_1+octet-stream
Content-Disposition: <name>

CSRF Protection Enabled

Request Body

The library binary.

Response Status

201 Created - includes location header with the URI of the API to save the custom library.
409 Conflict - the library already exists on the engine. 

Response Body Empty.

Access Rights

'Load custom modules and third party libraries REST API'.

PUT /admin/libraries/<name>

URI

PUT /admin/libraries/<name>

Description

Loads a library into the engine, overwriting the existing library with that name.

An option in the rhapsody.properties file can be used to limit the circumstances under which custom modules and libraries can be uploaded to the Rhapsody engine. Refer to Loading Custom Modules and Libraries for details.

Request Header

Content-Type: application/octet-stream
CSRF Protection Enabled

Content-Type: application/vnd.orchestral.rhapsody.6_1+octet-stream
CSRF Protection Enabled

Request Body

The library binary.

Response Status

204 No Content - operation successful.

Response Body Empty.

Access Rights

'Load custom modules and third party libraries REST API'.

GET /admin/libraries

URI

GET /admin/libraries

Description

Returns the custom libraries.

Request Header

Accept: application/json, multipart/mixed

Accept: application/vnd.orchestral.rhapsody.6_1+json, multipart/vnd.orchestral.rhapsody.6_1+mixed

Request Body

Empty.

Response Status

200 OK - returns all the libraries' information in JSON format and the actual library JAR file if requested.
204 No Content - there are no libraries available.

Response Body
application/json
{
    "data":
    [
        {
            "filename": "com.orchestral.rhapsody.testing.fifotester-3.4-final.jar",
            "hash": "c2c1752bcbef182f294a7240bd34ba5ae85762de",
            "resourceURI": "https://localhost:8444/admin/libraries/com.orchestral.rhapsody.testing.fifotester-3.4-final.jar"
        },
        {
            "filename": "Mapper_Source.jar",
            "hash": "9e47c479747ef3add5a5f794c2a8d229545dfa98",
            "resourceURI": "https://localhost:8444/admin/libraries/Mapper_Source.jar"
        },
        {
            "filename": "MessageSource.jar",
            "hash": "e3ad78bbfa2b0fe494f08ff8c46cfd22dae32b07",
            "resourceURI": "https://localhost:8444/admin/libraries/MessageSource.jar"
        },
        {
            "filename": "net.catholichealth.rhapsody.filters.ExtractMessagePropertiesHL7.jar",
            "hash": "a7d456b5d188da5312361fba4f46341338f03e4e",
            "resourceURI": "https://localhost:8444/admin/libraries/net.catholichealth.rhapsody.filters.ExtractMessagePropertiesHL7.jar"
        },
        {
            "filename": "XML_Source.jar",
            "hash": "8618375e547237f6817641e6d0188400db0e6b1b",
            "resourceURI": "https://localhost:8444/admin/libraries/XML_Source.jar"
        }
    ],
    "error": null
}  
multipart/mixed
--Boundary_20_1981173124_1418952174309
Content-Type: multipart/mixed; boundary=Boundary_15_1443523109_1418952174308

--Boundary_6_1777375636_1418952018388
Content-X-Rhapsody-Modulepart: meta
Content-Type: application/json

{"filename":"XML\u005FSource\u002Ejar","hash":"8618375e547237f6817641e6d0188400db0e6b1b","resourceURI":null}

--Boundary_6_1777375636_1418952018388
Content-Disposition: attachment;filename=XML_Source.jar
Content-X-Rhapsody-Modulepart: jar
Content-Type: application/octet-stream

A34943CBD13F21G123...

--Boundary_6_1777375636_1418952018388

--Boundary_6_1777375636_1418952018389
Content-X-Rhapsody-Modulepart: meta
Content-Type: application/json

{"filename":"XML\u005FSource2\u002Ejar","hash":"8618375e547237f6817641e6d0188400db0e6b1b","resourceURI":null}

--Boundary_6_1777375636_1418952018389
Content-Disposition: attachment;filename=XML_Source2.jar
Content-X-Rhapsody-Modulepart: jar
Content-Type: application/octet-stream

A34943CBD13F21G123...

--Boundary_6_1777375636_1418952018389

--Boundary_20_1981173124_1418952174309 

Access Rights

'Save custom modules and third party libraries REST API'.

GET /admin/libraries/<name>

URI

GET /admin/libraries/<name>

Description

Returns the library with the given name.

Request Header

Accept: application/json, multipart/mixed

Accept: application/vnd.orchestral.rhapsody.6_1+json, multipart/vnd.orchestral.rhapsody.6_1+mixed

Request Body

Empty.

Response Status

200 OK - returns the library information in JSON format and the actual library JAR file if requested.

Response Body
application/json
{
    "data":
    {
        "filename": "XML_Source.jar",
        "hash": "8618375e547237f6817641e6d0188400db0e6b1b",
        "resourceURI": "https://localhost:8444/admin/libraries/XML_Source.jar"
    },
    "error": null
}
multipart/mixed
--Boundary_6_1777375636_1418952018389
Content-X-Rhapsody-Modulepart: meta
Content-Type: application/json

{"filename":"XML\u005FSource\u002Ejar","hash":"8618375e547237f6817641e6d0188400db0e6b1b","resourceURI":null}

--Boundary_6_1777375636_1418952018389
Content-Disposition: attachment;filename=XML_Source.jar
Content-X-Rhapsody-Modulepart: jar
Content-Type: application/java-archive

A34943CBD13F21G123...

--Boundary_6_1777375636_1418952018389

Access Rights

'Save custom modules and third party libraries REST API'.