Verify Shortlink
Re-checks Vercel DNS for custom-domain shortlinks and updates verification status. Project members are emailed on the first VALID transition. Starts a verification job if the records are still invalid. Returns 400 if shortlinks are not enabled.
Authorization
Authorization In: header
Path Parameters
ID of the project that owns the domain.
ID of the domain.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://www.saasco.com/api/v2/projects/string/domains/string/verify-shortlink"{
"id": "string",
"createdAt": "string",
"updatedAt": "string",
"emailStatus": "INACTIVE",
"emailProvider": "string",
"emailProviderDomainId": "string",
"emailReceivingStatus": "INACTIVE",
"emailReceivingProviderId": "string",
"trackingSubdomain": "string",
"trackingVerificationStatus": "PENDING",
"shortlinkEnabled": true,
"vercelConfigured": true,
"vercelVerificationStatus": "PENDING",
"vercelVerificationError": "string",
"vercelVerificationDNS": [
{
"domain": "string",
"reason": "string",
"type": "string",
"value": "string"
}
],
"emailVerificationRequestedAt": "string",
"receivingVerificationRequestedAt": "string",
"shortlinkVerificationRequestedAt": "string",
"senderReputationComputedAt": "string",
"warmupStatus": "PENDING",
"warmupStartedAt": "string",
"warmupWindowStartedAt": "string",
"projectId": "string",
"name": "string",
"senderReputation": 50,
"warmupDay": 0,
"warmupSentCount": 0
}{
"code": "BAD_REQUEST",
"message": "Invalid input data",
"issues": []
}{
"code": "UNAUTHORIZED",
"message": "Authorization not provided",
"issues": []
}{
"code": "FORBIDDEN",
"message": "Insufficient access",
"issues": []
}{
"code": "INTERNAL_SERVER_ERROR",
"message": "Internal server error",
"issues": []
}Verify Email Receiving DNS
Re-checks inbound MX records and starts the inbound verification job, which is what emails 'verified'. Returns verified: true when receiving is ACTIVE. Returns 400 if inbound email is not enabled for the domain.
Dismiss Knowledge Gap
Marks a knowledge gap as dismissed so it no longer appears in Gap Finder or coverage. Use this when the question is off-topic or not worth an article.