curl --request GET \
--url https://web-api.dev.soxai.site/api/deep-link/prefill-link \
--header 'Authorization: Bearer <token>'import requests
url = "https://web-api.dev.soxai.site/api/deep-link/prefill-link"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://web-api.dev.soxai.site/api/deep-link/prefill-link', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"deep_link_url": "https://link.soxai.co.jp/app-redirect?token=<token>&type=login_prefill",
"expires_datetime": "2026-09-09T00:00:00+00:00",
"user_registered": true
}{
"error": "bad-request",
"error_msg": "Invalid email format"
}{
"error": "http-error",
"error_msg": "Invalid authentication credentials. <reason>"
}{
"error": "forbidden",
"error_msg": "Forbidden"
}{
"error": "unprocessable-entity",
"error_msg": "body.<field>: <validation message>"
}{
"error": "rate-limited",
"error_msg": "Rate limit exceeded. Retry after <n> seconds."
}{
"error": "internal-server-error",
"error_msg": "Failed to fetch data: <error_message>"
}Generate a prefilled sign-up deep link
A request authenticated with a Sandbox soxai-api-key is answered 403 This endpoint is not available in the sandbox., because it would send or resolve a real email. It is published here because the Sandbox runs the same build; use it in Production. See Sandbox.
Generate a deep link that opens the SOXAI app with the given email address already filled in, for handing to a user who is being onboarded.
Parameters
email(query, required) - the address to prefill. It must be well formed.
Response
200returns the deep link URL and the moment its token expires.
Errors
| Status | Condition |
|---|---|
| 400 | email is malformed, or the address belongs to no user and the caller’s reach is unscoped |
| 403 | The caller has no accepted role, or the address belongs to a user outside its scope |
In addition to the roles listed below, a PartnerAdmin reaches only users registered under
its own company and an OrgAdmin only members of its own organization. A scoped caller is
answered the same way for an address that is not registered as for one outside its scope,
so this endpoint cannot be used to test whether an address has an account.
Authorization
- Scheme:
Authorization: Bearer <idToken>orsoxai-api-key: <api key>. - Accepted roles:
Admin,PartnerAdmin,OrgAdmin - Any other caller receives
403 Forbidden.
curl --request GET \
--url https://web-api.dev.soxai.site/api/deep-link/prefill-link \
--header 'Authorization: Bearer <token>'import requests
url = "https://web-api.dev.soxai.site/api/deep-link/prefill-link"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://web-api.dev.soxai.site/api/deep-link/prefill-link', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"deep_link_url": "https://link.soxai.co.jp/app-redirect?token=<token>&type=login_prefill",
"expires_datetime": "2026-09-09T00:00:00+00:00",
"user_registered": true
}{
"error": "bad-request",
"error_msg": "Invalid email format"
}{
"error": "http-error",
"error_msg": "Invalid authentication credentials. <reason>"
}{
"error": "forbidden",
"error_msg": "Forbidden"
}{
"error": "unprocessable-entity",
"error_msg": "body.<field>: <validation message>"
}{
"error": "rate-limited",
"error_msg": "Rate limit exceeded. Retry after <n> seconds."
}{
"error": "internal-server-error",
"error_msg": "Failed to fetch data: <error_message>"
}Authorizations
Response
The deep link URL and the moment its token expires.