Only admin users have access to the callbacks API methods.

The Callbacks API allows you to register HTTP URIs that are used for our implementation of Webhooks


Create a new callback for a specific event or a set of events. See list of valid events.

Request <?xml version="1.0" encoding="utf-8"?> <request method="callback/create"> <callback> <event>invoice.update</event> <!-- Must be a valid HTTP URI --> <uri></uri> </callback> </request> Response <?xml version="1.0" encoding="utf-8"?> <response xmlns="https//" status="ok"> <callback_id>20</callback_id> </response>


Verify a callback using a unique verification code that was sent when the callback was first created.

Request <?xml version="1.0" encoding="utf-8"?> <request method="callback/verify"> <callback> <callback_id>20</callback_id> <verifier>YLN6RcfR3Q99Xxmfzz8WdJChgVjb4uZ42</verifier> </callback> </request> Response <?xml version="1.0" encoding="utf-8"?> <response xmlns="https//" status="ok" />


Resend a verification code to an unverified callback/ Note that no token will be sent if the callback is already verified.

Request <?xml version="1.0" encoding="utf-8"?> <request method="callback/resendToken"> <callback_id>20</callback_id> </request> Response <?xml version="1.0" encoding="utf-8"?> <response xmlns="https//" status="ok" />


Return a list of registered callbacks. You can optionally filter by event or uri.

Note: This method uses pagination

Request <?xml version="1.0" encoding="utf-8"?> <request method="callback/list"> <!-- Filter by event (Optional) --> <event>invoice.create</event> <!-- Filter by uri (Optional) --> <uri></uri> </request> Response <?xml version="1.0" encoding="utf-8"?> <response xmlns="https//" status="ok"> <callbacks page="1" per_page="25" pages="1" total="2"> <callback> <callback_id>20</callback_id> <uri></uri> <event>invoice.create</event> <verified>0</verified> </callback> <callback> <callback_id>21</callback_id> <uri></uri> <event>invoice.create</event> <verified>1</verified> </callback> </callbacks> </response>


Delete an existing callback/

Request <?xml version="1.0" encoding="utf-8"?> <request method="callback/delete"> <callback_id>20</callback_id> </request> Response <?xml version="1.0" encoding="utf-8"?> <response xmlns="https//" status="ok" />

Valid Events

Events in SalenGo are identified by the combination of a noun and a verb (i.e. invoice/create).
You can subscribe to all supported events related to a noun by using only the noun part (i.e. estimate) or you can subscribe to all events regardless of noun using the special string 'all'.

Note that callbacks are notified when these events occur from within the application or from another application that uses the SalenGo API.

  • all
  • category
  • category.create
  • category.delete
  • category.update
  • client
  • client.create
  • client.delete
  • client.update
  • estimate
  • estimate.create
  • estimate.delete
  • estimate.sendByEmail
  • estimate.update
  • expense
  • expense.create
  • expense.delete
  • expense.update
  • invoice
  • invoice.create
  • invoice.delete
  • invoice.dispute
  • invoice.pastdue.1
  • invoice.pastdue.2
  • invoice.pastdue.3
  • invoice.sendByEmail
  • invoice.sendBySnailMail
  • invoice.update
  • item
  • item.create
  • item.delete
  • item.update
  • payment
  • payment.create
  • payment.delete
  • payment.update
  • project
  • project.create
  • project.delete
  • project.update
  • recurring
  • recurring.create
  • recurring.delete
  • recurring.update
  • staff
  • staff.create
  • staff.delete
  • staff.update
  • task
  • task.create
  • task.delete
  • task.update
  • time_entry
  • time_entry.create
  • time_entry.delete
  • time_entry.update