Web-based subscription
Your account must be white-listed to use this feature. Please talk to your contact person at Cashlink if you want to use this feature.
The API allows to start a web-based subscription process for investors. After creation, the API returns an URL that investors can use to finish the investment.
First, collect data about the investor in your application or use already entered data. Then, create an investor including identification data via the API and store the created investor id with your user account.
We don't use any uniqueness constraints on email addresses. The email address from the API call is only used to pre-fill an input field on the welcome screen. Make sure that you only create users if they don't already have an account by storing the Cashlink investor ID with your user accounts.
We'll assume that you have created an investor as part of following the guide for creating an investor and have stored an investor ID that we will use in this guide.
After creating the investor you need to patch the investor with communication details:
# Add communication details to the investor
r = requests.patch(
f'{URL}/v2/investors/{INVESTOR_ID}/',
json = {
'communication': {
'email': '[email protected]',
'email_confirmed': True
}
},
headers={**headers, 'X-Idempotency-Key': make_key()}
)
assert r.status_code < 300
After registering, show the user a detailed view with information about the investment opportunity including an "Invest now" button. As soon as the investor clicks on that button, create an investment for this investor and campaign.
Starting a web-based subscription is done by omitting the signed date in the create investment request.
If you omit the signed date in the request and the feature is not available for your account you will receive an error response.
The API will then return a field named start_url. Redirect the user to this URL so that the investor can finish the investment process online.
Assuming you have already created an investor with the data your user has entered you can retrieve the start_url by calling the investment API:
r = requests.post(
f'{URL}/v2/investments/',
json={
'campaign_id': CAMPAIGN_ID,
'investor_id': INVESTOR_ID,
},
headers={**headers, 'X-Idempotency-Key': make_key()}
)
assert r.status_code < 300, r.content
print(r.json()['start_url'])
Investors will be presented a welcome screen where they are able to check and complete the imported data. After that, they can proceed with the investment.

You can register a webhook to receive status updates on the process of your investor. Use that data to inform the investor about the progress within your application.