Transaction Workflows

Get a step's form implementation for an investor

GET/transaction-workflows/steps/{stepId}/form-implementations/{investorId}

The form implementation for a workflow step and a specific investor (deals DB transaction_user_form_completion), keyed by step, deal and transaction user. Unifies the legacy my-form-implementation and investor-form-implementation reads behind an explicit investor id.

{investorId} is the investor's user guid by default. To look up an external investor (one with no platform user), pass the query param user=external, in which case {investorId} is instead that external investor's own transaction-user id, and they must have had an event or investment on the deal, deleted ones included. Any other user value returns 422.

The required dealId query param selects the deal. trancheId picks the tranche and must be one of the deal's tranches, otherwise 422. Without it, the implementation in the deal's active tranche comes first, then the most recently completed. The step, deal and investor are resolved leak-safe (unknown / cross-org ids) → 404.

Path parameters

  • stepIdstring (uuid)Required#

    The step id.

  • investorIdstring (uuid)Required#

    The investor's user id, unless user=external is passed, in which case it is the external investor's transaction-user id.

Query parameters

  • userstring#

    By default {investorId} is the user id. Pass user=external to address an external investor by their transaction-user id.

    One of: external
  • dealIdstring (uuid)Required#

    The deal the implementation belongs to.

  • trancheIdstring | null#

    One of the deal's tranches. Defaults to the deal's active tranche.

Responses

{
  "data": {
    "id": "1a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d",
    "workflow_step_id": "5f6a7b8c-9d0e-4f1a-8b2c-3d4e5f6a7b8c",
    "deal_id": "9f8e7d6c-5b4a-4938-8271-6a5b4c3d2e1f",
    "transaction_user_id": "8d9e0f1a-2b3c-4d5e-8f6a-7b8c9d0e1f2a",
    "tranche_id": null,
    "form_implementation_id": "2b3c4d5e-6f7a-4b8c-9d0e-1f2a3b4c5d6e",
    "completed_at": null,
    "document_generated": false,
    "generated_attachment_id": null
  }
}
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

Request validation failed (HTTP 422). The body is either the Laravel validation envelope (message + field-keyed errors) or the API error envelope for domain rejections (e.g. form_type_not_supported, folder_locked, parent_not_found, folder_not_empty).

429

Rate limit exceeded (error.code = rate_limited).

Error

Examples

curl https://your-org-domain/kong/core/api/v2/transaction-workflows/steps/{stepId}/form-implementations/{investorId}?dealId={dealId}\
  -H "Authorization: Bearer $HELM_API_KEY"\
  -H "Content-Type: application/json"