The documentation of the REST endpoint POST http[s]://{host}:{port}/ae/api/v1
/0/system/ra-solutions
can be found here:
And the documentation of the REST endpoint POST http[s]://{host}:{port}/ae/api/v1
/0/system/ra-solutions
/0/system/ra-solutions/update
here:
The latter can be used through a curl command as documented, which is by far the easiest way to upload an RA solution through the REST endpoint.
However, if you want to
... the details on how to use the above endpoints are not straightforward from the Swagger documentation.
v21.0 (later versions) or v24.x
http[s]://{host}:{port}/ae/api/v1
/0/system/ra-solutions
/0/system/ra-solutions/update
in Postman:The trick to understanding how this works is importing the Swagger documentation into Postman. This shows that:
So the header should look like this:
Key | Value |
Content-Type | application/octet-stream |
checksum | 3d207bd3ccb6f01e7cd22fa810cbac1a |
algorithm | MD5 (or SHA256) |
Authorization | •••••• (this information comes from the Auth tab) |
http[s]://{host}:{port}/ae/api/v1
/0/system/ra-solutions
/0/system/ra-solutions
This method is more laborious because the jar-file needs to be base64 encoded ahead of time which may contain pitfalls the first time around.
The encoding needs to be done in such a way that the result is a one-line string, so without linefeeds, this can be done as follows:
md5sum <RA.solution>.jar
or sha256sum <RA.solution>.jar
Get-FileHash -Path "<RA.solution>.jar
" -Algorithm MD5|SHA256
base64 <RA.solution>.jar -w 0
(the -w 0
option prevents wrapping)Subsequently, the body of the request should look like this:
{
"solution": "UEsDBBQACAgIAKJcTVYAAAAAAAAAAAAAAAAUAAAATUVUQS1JTkYvTUFOSUZFU1QuTUa9kkuPokAQ...",
"checksum": "566a36a08b0c8a145693f5cd6693fc8b",
"algorithm": "MD5",
}
IMPORTANT: the 'ignore-signature' option that was previously documented is obsolete and should not be used anymore: The reason for this is that since the second half of 2024 jar-files are not signed anymore, so using this option can lead to an error. See also, this KB.