API referenceEngagements
Cancel an engagement
Needs a token with the write:engagements scope. Authentication
Try in Playground sends a real request to app.helvetly.com with a token you paste. It stays in this browser tab only (session storage) and goes to no one else.
POST
Ends the engagement on a day (default: the end of the current period) and cuts its later periods. 422 validation_failed when cancelled_on is in the past or before the latest entry. Reversible with resume while the day has not passed. Safe to retry. Only owners and admins may do this (403 forbidden otherwise).
bearerAuthheader
AuthorizationBearer <token>A personal API token, hvt_…, with scopes such as read:* or write:invoices
id*stringThe engagement's id.
application/json- body
cancelled_on?|The last day, today or later and not before the latest entry. Default: the end of the current period.
Format
dateOK
application/json- response
data*curl -X POST 'https://app.helvetly.com/api/v1/engagements/string/cancel' \ -H 'Content-Type: application/json' \ -d '{ "cancelled_on": "2026-12-31"}'Example Response
{ "data": { "id": "string", "number": 0, "client": { "id": "string", "number": 0, "name": "string" }, "title": "string", "description": "string", "product_id": "string", "unit": "string", "quantity": "string", "billing": "string", "price_basis": "string", "unit_price": "1234.50", "overage_unit_price": "1234.50", "currency": "string", "vat_category": "string", "vat_rate": "string", "start_date": "2019-08-24", "recurrence": "string", "interval": 0, "end_date": "2019-08-24", "reference": "string", "document_id": "string", "cancelled_on": "2019-08-24", "rollover": true, "auto_invoice": true, "invoice_detail": "string", "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z", "unit_price_net": "1234.50", "unit_price_gross": "1234.50", "status": "scheduled", "current_period": { "id": "string", "index": 0, "starts_on": "2019-08-24", "ends_on": "2019-08-24", "natural_ends_on": "2019-08-24", "full_quantity": "string", "quantity_manual": true, "quantity": "string", "unit_price": "1234.50", "overage_unit_price": "1234.50", "used": "string", "invoiced_quantity": "string", "advance_invoice": { "id": "string", "number": "string", "status": "string", "kind": "string" }, "unearned": "string", "carried_in": "string", "available": "string", "remaining": "string", "overage": "string", "expected": "string", "state": "string", "uninvoiced_quantity": "string" }, "attention": [ "under_pace" ] }}