DKIM API Documentation Is Extremely Vague – VerifyDkimActive Input Schema Missing
Problem reported by Craig Edmonds - 2/22/2026 at 4:41 AM
Not A Problem
I am currently integrating the SmarterMail API into a production system and have spent the last two hours attempting to query the VerifyDkimActive endpoint to determine whether a domain has DKIM enabled.

/Documentation/api#/reference/SmarterMail.Web.Api.DomainSettingsController/VerifyDkimActive/post

POST api/v1/settings/domain/dkim-verify-active
states:
var input_post = { INPUT DATA HERE };
But it does not specify what the input model actually is.

There is no schema, no example JSON body, no explanation of whether:
  • The domain is derived from token context,
  • A domain name must be supplied,
  • A domain ID must be supplied,
  • Or no body is required at all.
Every attempt results in 400 Domain not found, despite:
  • The token being valid,
  • The domain existing,
  • Other API endpoints working correctly.
The documentation also does not clearly explain the difference between:
  • Domain-scoped endpoints
  • SysAdmin-scoped endpoints
Nor does it clearly define which endpoints allow which HTTP methods. Several endpoints return 405 Method Not Allowed, yet the documentation does not clarify which methods are valid.

Additionally, the documentation site itself has:
  • No effective search functionality
  • No clear model definitions
  • No request/response schema examples beyond minimal placeholders
For developers building automated systems across multiple domains, this level of ambiguity makes integration unnecessarily difficult.

Could someone from the SmarterTools team please clarify:
  1. The exact required JSON body schema for POST /api/v1/settings/domain/dkim-verify-active
  2. Whether this endpoint requires a Domain Admin token bound to the target domain
  3. The correct SysAdmin endpoint and method for retrieving DKIM settings (selector, public key, enabled state)
I am committed to SmarterMail, but the current API documentation makes implementation far more difficult than it should be.

Thank you.
J. LaDow Replied
Do you have the X-SmarterMailDomain header present in your requests?

I (and others have run into issues with this in the past). Any time you need to do something on the "domain level or user level of a domain", this header has to be present with the domain name you are operating on.


While this doesn't solve the missing schema issues and other issues, it may get you progress at least communicating with the API -- 

-- and yes, the API documentation is very lacking.

MailEnable survivor / convert --
Andrew Barker Replied
Employee Post
The API in question doesn't take any input. The bit with { INPUT DATA HERE } is simply part of the template for our code samples and does not indicate any need for input data to be provided for the call. The simplest way to determine if a call requires any JSON input, look for the Post Inputs box on the page for the endpoint. IF that box isn't present, then the endpoint doesn't require a message body.

In the case of this API, the domain is determined either by the provided domain administrator access token, or by the X-SmarterMailDomain header when paired with a system administrator access token.

As for identifying which methods are allowed for a given endpoint, I'm not sure what you mean. The list of methods in each section of the documentation indicates the HTTP method next to each endpoint. In addition, the page for each endpoint has a box labelled Calling the Function that includes both the HTTP method and the relative URL for that endpoint.
Andrew Barker Lead Software Developer SmarterTools Inc. www.smartertools.com

Reply to Thread

Enter the verification text