POST /activate
https://verify.web3.market/activateLicense Key30 requests/minActivate a license key on a specific domain. This binds the license to the domain, authorizing it to pass verification.
Request Body
Body Parameters
Domain Normalization
The API automatically normalizes the domain value before storing it. You do not need to pre-process the domain on your end. The following transformations are applied:
- Protocol stripped —
https://example.combecomesexample.com - Path stripped —
example.com/app/dashboardbecomesexample.com - Port stripped —
example.com:3000becomesexample.com - Lowercased —
MyApp.Example.COMbecomesmyapp.example.com - Trailing slash removed —
example.com/becomesexample.com
This means all of the following inputs resolve to the same domain:
https://example.com
http://example.com/
EXAMPLE.COM:8080/path
example.comExample Request
curl -X POST https://verify.web3.market/activate \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"license_key": "LIC-A3F9-K2M7-P8X1-Q4R6",
"domain": "myapp.example.com"
}'Success Response
Status: 200 OK
{
"success": true,
"message": "License activated successfully on domain.",
"domain": "myapp.example.com",
"license_key": "LIC-A3F9-K2M7-P8X1-Q4R6"
}If the domain is already activated on this license, the API returns the same success response without creating a duplicate entry.
Error Responses
Invalid License Key
Status: 404 Not Found
{
"success": false,
"error": "invalid_key",
"message": "The provided license key does not exist."
}Expired License
Status: 422 Unprocessable Entity
{
"success": false,
"error": "expired",
"message": "This license has expired and cannot be activated."
}Suspended License
Status: 422 Unprocessable Entity
{
"success": false,
"error": "suspended",
"message": "This license has been suspended."
}Revoked License
Status: 422 Unprocessable Entity
{
"success": false,
"error": "revoked",
"message": "This license has been revoked and cannot be activated."
}Domain Limit Reached
Status: 422 Unprocessable Entity
{
"success": false,
"error": "domain_limit_reached",
"message": "This license has reached its maximum number of activated domains."
}Each license has a maximum number of allowed domains set by the seller. If you need to activate on a new domain but have reached the limit, use the POST /deactivate endpoint to remove an existing domain first.
Notes
- Activation is idempotent. Activating the same domain on the same license key multiple times will not return an error or create duplicate entries.
- The license key must have an active status. Suspended, revoked, and expired licenses cannot be activated on new domains.
- Domain normalization is applied consistently across activation, verification, and deactivation. You do not need to normalize the domain yourself.