Investments

Remove an investor from a tranche

POST/investments/{id}/actions/remove

Removes the investor from this tranche of the deal, as DELETE /investments/{id} does, and records the reason on every deleted journey event and in the audit. Returns the deleted investment. Every live journey event of the investor in the tranche is deleted, the step triggers are undone, form completions are cleared and generated documents superseded. When no other tranche of the investor has events, their access to the deal's step folders is revoked. Emits investment.deleted, notifies connected systems and staff, and audits. Can't be undone.

Path parameters

  • idstring (uuid)Required#

    The record's id.

Query parameters

  • dry_runboolean#

    Validate and run the call without committing it, returning what the real call would return with meta.dry_run set.

Headers

  • Idempotency-Keystring#

    Makes a retry safe. Send a new UUID for each new request and reuse it only to retry that request; the first response is replayed for 24 hours.

Request body

application/json, optional

  • removal_reasonstring | null#

    Why the investor was removed. Shown in the deal's audit history.

{
  "removal_reason": "The investor withdrew."
}

Responses

200

The investment, now deleted.

Investment
{
  "data": {
    "id": "9a9d1c5e-4f2b-4c8e-9a7d-2f1e6b3c4d5a",
    "deal_id": "9a9d1c5e-4f2b-4c8e-9a7d-2f1e6b3c4d5a",
    "investor_id": "9a9d1c5e-4f2b-4c8e-9a7d-2f1e6b3c4d5a",
    "external_investor_id": "9a9d1c5e-4f2b-4c8e-9a7d-2f1e6b3c4d5a",
    "workflow_id": "9a9d1c5e-4f2b-4c8e-9a7d-2f1e6b3c4d5a",
    "tranche_id": "9a9d1c5e-4f2b-4c8e-9a7d-2f1e6b3c4d5a",
    "label": "string",
    "committed_amount": "string",
    "confirmed_amount": "string",
    "currency_code": "string",
    "last_journey_event_id": "9a9d1c5e-4f2b-4c8e-9a7d-2f1e6b3c4d5a",
    "created_at": "2026-06-12T10:00:00+00:00",
    "updated_at": "2026-06-12T10:00:00+00:00",
    "investor": {
      "name": "string",
      "first_name": "string",
      "last_name": "string",
      "email": "string"
    }
  }
}
401

Authentication failed. error.code is one of invalid_token, expired, revoked.

Error
403

Authorization failed. error.code is one of org_disabled, ip_blocked, missing_scope, scope_disabled, user_disabled.

Error
404

Resource not found (error.code = not_found).

Error
422

The request can't be processed (HTTP 422): validation_failed with one ErrorDetail per problem, or a code documented on the operation.

Error
429

Rate limit exceeded (error.code = rate_limited).

Error

Examples

curl -X POST https://your-org-domain/kong/core/api/v2/investments/{id}/actions/remove\
  -H "Authorization: Bearer $HELM_API_KEY"\
  -H "Content-Type: application/json"\
  -d '{
  "removal_reason": "The investor withdrew."
}'