Create an investor
/investorsCreates an investor in the platform organisation through its invite flow, returning 201 with a Location; the invite email follows auto_send and any approval workflow. An email matching a live investor, even a deactivated one that is not deleted, returns 200 with that investor and sends nothing. email over 53 characters returns 422, as does a token outside the platform organisation: validation_failed, detail rule platform_organisation. Emits investor.created and the legacy user.* events. DELETE /investors/{id} undoes it.
Query parameters
Validate and run the call without committing it, returning what the real call would return with
meta.dry_runset.
Headers
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, required · InvestorCreate
The investor's email. At most 53 characters, so the sign-in username with its invite suffix fits 64. A live investor with this email, on any contact email, is returned unchanged with 200.
Optional title, such as Mr, Ms or Dr.
The investor's first name.
The investor's last name.
The investor's single sign-on id.
The investor's id in your own system.
Answers to your custom user data fields, keyed by field
reference. Every reference must exist, else 422exists.The published onboarding journey the investor follows. Required while the organisation has a published journey, else 422.
- One of:
Whether to send the invite email:
Yessends it,Nonever does. Omit to follow the organisation's approval workflow: held when it has one, sent otherwise.Yes,No - One of:
Accepted as
investorand ignored. It is removed when the old routes are withdrawn on 2027-06-30.investor
{
"email": "ada.lovelace@example.com",
"title": "Dr",
"first_name": "Ada",
"last_name": "Lovelace",
"auto_send": "No",
"external_id": "CRM-1042",
"data_capture": {
"phone_number": "+44 20 7946 0000"
}
}Responses
The email matched a live investor, which is returned unchanged. Nothing was written or sent.
{
"data": {
"id": "9a9d1c5e-4f2b-4c8e-9a7d-2f1e6b3c4d5a",
"first_name": "string",
"last_name": "string",
"title": "string",
"email": "string",
"status": "active",
"external_id": "string",
"sso_id": "string",
"key_contact_id": "9a9d1c5e-4f2b-4c8e-9a7d-2f1e6b3c4d5a",
"invite": {
"id": "9a9d1c5e-4f2b-4c8e-9a7d-2f1e6b3c4d5a",
"status": "invited",
"expires_at": "2026-06-12T10:00:00+00:00"
},
"two_factor_enabled": true,
"last_login": "2026-06-12T10:00:00+00:00",
"created_at": "2026-06-12T10:00:00+00:00",
"updated_at": "2026-06-12T10:00:00+00:00",
"data_capture": {},
"onboarding": {
"flow_id": "9a9d1c5e-4f2b-4c8e-9a7d-2f1e6b3c4d5a",
"flow_name": "string",
"status": "pending",
"completed_at": "2026-06-12T10:00:00+00:00"
},
"invites": [
{
"id": "9a9d1c5e-4f2b-4c8e-9a7d-2f1e6b3c4d5a",
"type": "string",
"status": "string",
"email": "string",
"expires_at": "2026-06-12T10:00:00+00:00",
"invited_at": "2026-06-12T10:00:00+00:00",
"created_at": "2026-06-12T10:00:00+00:00"
}
],
"roles": [
{
"id": 1,
"name": "string",
"label": "string"
}
]
}
}{
"data": {
"id": "6f1c2e8a-1b2c-4d5e-8f90-1a2b3c4d5e6f",
"first_name": "Ada",
"last_name": "Lovelace",
"title": "Dr",
"email": "ada.lovelace@example.com",
"status": "pending",
"external_id": "CRM-1042",
"sso_id": null,
"key_contact_id": "1a2b3c4d-5e6f-4708-9a0b-1c2d3e4f5061",
"invite": null,
"two_factor_enabled": false,
"last_login": null,
"created_at": "2026-06-15T10:30:00Z",
"updated_at": "2026-06-15T10:30:00Z"
}
}Authorization failed. error.code is one of org_disabled,
ip_blocked, missing_scope, scope_disabled, user_disabled.
The request can't be processed (HTTP 422): validation_failed with one ErrorDetail per
problem, or a code documented on the operation.
Examples
curl -X POST https://your-org-domain/kong/core/api/v2/investors\
-H "Authorization: Bearer $HELM_API_KEY"\
-H "Content-Type: application/json"\
-d '{
"email": "ada.lovelace@example.com",
"title": "Dr",
"first_name": "Ada",
"last_name": "Lovelace",
"auto_send": "No",
"external_id": "CRM-1042",
"data_capture": {
"phone_number": "+44 20 7946 0000"
}
}'