Embedded Tax API

Hosted Portal

Server-to-server partner endpoints under https://api.awaken.tax/api.

POST

/access-tokens

Create an access token for the hosted portal

FieldTypeRequiredNotes
referenceIdstringYes
expiresInSecondsintegerNomin 1
emailstringNoemail
Request body
{
"referenceId": "user-42",
"email": "user@example.com",
"expiresInSeconds": 3600
}
Example response
{
"type": "success",
"message": "Access token created successfully",
"data": {
"accessToken": "<access-token-jwt>",
"tokenType": "Bearer",
"referenceId": "user-42",
"expiresInSeconds": 3600,
"expiresAt": "2026-07-30T00:42:57.891Z",
"portalUrl": "https://embed.awaken.tax/portal?code=user-42&token=<access-token-jwt>&email=user%40example.com"
}
}
StatusMeaning
200Token created. Open data.portalUrl in the browser.
400The request has a missing or invalid field.
401Partner credentials are missing or invalid.
403An access token cannot create another token. Use partner credentials.
404No user with this referenceId belongs to this partner.
curl
curl -X POST "https://api.awaken.tax/api/access-tokens" \
-H "x-client-id: $AWAKEN_CLIENT_ID" \
-H "x-api-secret: $AWAKEN_API_SECRET" \
-H "content-type: application/json" \
--data '{ "referenceId": "user-42", "email": "user@example.com", "expiresInSeconds": 3600 }'
POST

/links

Create a hosted portal link

FieldTypeRequiredNotes
walletsarrayYes
Request body
{
"wallets": [
{
"address": "0xabc…",
"name": "Primary wallet"
}
]
}
StatusMeaning
200Existing link
201Link created
400Validation failed
curl
curl -X POST "https://api.awaken.tax/api/links" \
-H "x-client-id: $AWAKEN_CLIENT_ID" \
-H "x-api-secret: $AWAKEN_API_SECRET" \
-H "content-type: application/json" \
--data '{ "wallets": [ { "address": "0xabc…", "name": "Primary wallet" } ] }'
POST

/links/email

Email a hosted portal link

FieldTypeRequiredNotes
walletsarrayYes
emailstringYesemail
Request body
{
"email": "user@example.com",
"wallets": [
{
"address": "0xabc…"
}
]
}
StatusMeaning
200Email accepted
429Recipient daily limit reached
curl
curl -X POST "https://api.awaken.tax/api/links/email" \
-H "x-client-id: $AWAKEN_CLIENT_ID" \
-H "x-api-secret: $AWAKEN_API_SECRET" \
-H "content-type: application/json" \
--data '{ "email": "user@example.com", "wallets": [ { "address": "0xabc…" } ] }'