I currently using the KPSA module which will have Autotask integration at some stage
www.devioinc.com/kpsa-atintroduction
But to answer your question I’ve used various methods in the past to Close tickets using the API.
One is simply to use the API to add a note to the ticket , and in the note include a set phrase i.e. “This ticket can be closed”
Then in your Change Procedure [$Changes$] property includes this text , then have the change procedure close the ticket.
Or you get Autotask to email Kaseya SD when the Autotask ticket is closed and ensure within the Email Subject is the original Kaseya TicketID in the format ~ticid='[$TicketId$]' ( e.g. ~ticid='STD01234' )
And either in the Summary or email Body include your “This ticket can be closed” text.
The Actual API does allow you to directly manipulate various fields using the Update Incident method.. include Stage and Status ( and I presume you are referring to the Kaseya KSD API Web Services )
Fields you can update are list here , but include Status, Stage , Notes … etc.
I guess it comes down to how you are using the API
Not sure if this helps .. but let me know and I can see If I can add more detail if required.
Oh .. and are you using Kaseya 6.3 and SD 1.4 ?
Paul