Skip to content

Setup authentication domain

POST
/api/domains/{domain}/setup-auth-domain
curl --request POST \
--url https://smtp-app.kirim.email/api/domains/example.com/setup-auth-domain \
--header 'Authorization: Basic <credentials>' \
--header 'Content-Type: application/json' \
--data '{ "auth_domain": "auth.example.com", "dkim_key_length": 1024 }'

Configure an authentication domain for a domain

domain
required
string
Example
example.com

Domain name that must be owned by the authenticated user. The domain must be verified and properly configured for email sending.

Media typeapplication/json
object
auth_domain

Authentication domain

string
Example
auth.example.com
dkim_key_length
required

DKIM key length

integer
Allowed values: 1024 2048
Example
2048

Authentication domain setup successfully

Media typeapplication/json
object
data

Authentication domain configuration

object
auth_domain

The authentication domain that was successfully configured for DKIM and email authentication

string
Example
{
"data": {
"auth_domain": "auth.example.com"
}
}

Unauthorized

Media typeapplication/json
object
error

Error type indicating authentication failure

string
message

Human-readable error message explaining the authentication issue

string
Example
{
"error": "Unauthorized",
"message": "Authorization header is required"
}

Domain not found

Media typeapplication/json
object
success
boolean
message
string
Example
{
"success": false,
"message": "Domain not found"
}

Validation Error

Media typeapplication/json
object
success

Indicates the request failed due to validation errors

boolean
message

Human-readable error message

string
errors

Field-specific validation error messages organized by field name

object
Example
{
"success": false,
"message": "Validation failed."
}

Too Many Requests - Rate limit exceeded. Retry after the specified time.

Media typeapplication/json
object
success
boolean
message
string
Example
{
"success": false,
"message": "Too many attempts. Please try again later."
}
Retry-After
integer

Seconds until rate limit resets

X-RateLimit-Limit
integer

Maximum requests per minute

X-RateLimit-Remaining
integer

Remaining requests in current window

Server Error

Media typeapplication/json
object
success

Indicates the request failed due to a server error

boolean
message

Human-readable error message describing the server error

string
Example
{
"success": false,
"message": "An error occurred while processing the request."
}