Saasco logoSaasco logo
Saasco logoSaasco logo

Introduction

Quick StartWhat is Saasco?

Analytics

CRM

Email Marketing

Knowledge

Support

Projects

getList DomainsgetGet DomaingetGet Domain By NamepostCreate DomainpostUpdate DomaindelDelete DomainpostActivate Email SendingpostActivate Email ReceivingdelDisable Email SendingdelDisable Email ReceivingpostEnable ShortlinkdelDisable ShortlinkpostEnable Link TrackinggetGet Email Receiving ConfiggetGet Sender ReputationgetGet Sender Reputation By Domain NamepostRefresh Sender ReputationgetGet Domain Warmup StatuspostComplete Domain WarmuppostVerify Email DNSpostVerify Email Receiving DNSpostVerify Shortlink
Domains

Create Domain

Registers a hostname on the project. Names are unique across Saasco. Reusing one that belongs to another project returns 400. Creating one does not enable sending, receiving, or shortlinks — those are separate activate calls.

POST
/projects/{projectId}/domains

Authorization

Authorization
AuthorizationBearer <token>

In: header

Path Parameters

projectIdrequiredstring

ID of the project that will own the domain.

Request Body

application/json

namerequiredstring

Hostname to register, without a protocol. Must be unique across Saasco.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://www.saasco.com/api/v2/projects/string/domains" \  -H "Content-Type: application/json" \  -d '{    "name": "string"  }'
{
  "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": []
}

Get Domain By Name

Public lookup of a domain by hostname. Not project-scoped. Returns 404 if no domain matches.

Update Domain

Updates client-writable domain fields. Only the keys present in changes are written. Reputation, warmup, and the tracking subdomain are stripped even if sent — those are server-managed. Prefer the activate, disable, and verify endpoints for capability changes.