Question

Tosca's REST API - Unable to run Change or Create Requests - Checkout Failure?

  • 6 February 2024
  • 1 reply
  • 18 views

Hi everyone,

I’m trying to create executions lists, using Tosca’s integrated Rest Api.
Retrieving & querying data works fine. However, executing any change or create operation results in failure.

When I try to generate a new object e.g. via GET:

http://IPAddress/Rest/ToscaCommander/$MyWorkspace/object/$RootExecutionListID/task/CreateExecutionList

I get a 404 Task not applicable error - no other response text (regardless of what object type I’m trying to create). For incorrect spelling it would a 404 Task not found error.

When I try to change an object e.g. via POST:

http://IPAddress/Rest/ToscaCommander/$MyWorkspace/object
{
"Attributes": [
"Name": "Name"
"Value": "SomeNewName"
],
"UniqueId": "$targetObjectID"
}

I end up with a - 500 Changes are not allowed to this object - error.

My Assumption would be that these objects aren't checked out. Even though in the sparse resources available, such a step isn’t mentioned. While the Checkout, CheckInAll & UpdateAll requests work fine (GET request returning a 200), the locked status doesn’t seem to be applied.

http://IPAddress/Rest/ToscaCommander/$MyWorkspace/object/$RootExecutionListID/task/CheckOut

The change is neither visible in the Front-End, nor when viewing the “CheckOutState” property via an API Get request. Meaning the object is still flagged as CheckedIn.

I’m authorized with an admin account. The REST API Version is 14.2.

Anyone know what the issue here is? Did I miss some settings during the server configuration?
Or something wrong with the syntax of these requests?


1 reply

Hello,
don’t forget you have the doku for REST at http://localhost//rest/ToscaCommander/help .
There you can find, that you need “Task” to do things like checkout:
e.g.: with a get on:
http://localhost:5004/rest/toscacommander/{WORKSPACE}/object/{ID}/task you get all the available Tasks on an object.
But to actually checkout an object, you would need to POST an json or xml.
e.g:
localhost/rest/toscacommander/{WORKSPACE}/object/{ID}/task/Checkout
with the payload:

[    
{
"Name": "Checkout",
"Parameters": []
}
]

and at least the headers for Authentication, Content-Type: application/json and probably Accept: application/json .

Hope this helps.

Regards,

Reply