Enable DKIM

This request is used for enabling DKIM for a domain delegated to Yandex. The DNS records will be set up automatically.

If the domain is delegated to third-party servers, user this request to get the public key and set up the DNS records yourself.

  1. Request syntax
  2. Request example
  3. Response structure

Request syntax

The request should be sent over the HTTPS protocol using the POST method.

POST /api2/admin/dkim/enable
Host: pddimp.yandex.ru
PddToken: <PDD token>
...

domain=<domain name>

Headers:

NameDescription
PddToken

PDD token.

Parameters:

ParameterTypeValue
Mandatory
domainString

Name of the domain.

Request example

POST /api2/admin/dkim/enable HTTP/1.1
Host: pddimp.yandex.ru
PddToken: 123456789ABCDEF0000000000000000000000000000000000000
...
domain=domain.com
cURL
curl -H 'PddToken: 123456789ABCDEF0000000000000000000000000000000000000' -d 'domain=domain.com' 'https://pddimp.yandex.ru/api2/admin/dkim/enable'

Response structure

{
  "domain": "{domain name}",
  "dkim": 
  {    
    "enabled": "{status of enabling DKIM}", 
    "txtrecord": "{TXT record}"
  },
  "success": "{status of request execution}"
}
NameType of valueDescription
domainString

Name of the domain.

dkimObject

Information about enabling DKIM, and the public and private DKIM keys.

successString

Status of request execution.

Possible values:
  • ok — Request executed successfully.
  • error — Request executed with error.
errorString

Error code.

Included in the response if the request resulted in an error.

Possible values:
  • unknown — A temporary failure or API error occurred (repeat the request again later).
  • no_token (no_domain, no_ip ) — A mandatory parameter was omitted.
  • bad_domain — The domain name was not specified or does not conform to the RFC.
  • prohibited — A forbidden domain name.
  • bad_token (bad_login, bad_passwd) — An invalid PDD token (or username/password) was passed.
  • no_auth — The PddToken header was omitted.
  • not_allowed — This operation is not allowed for this user (the user is not the domain administrator).
  • blocked — Blocked domain (for example, due to spam and so on).
  • occupied — The domain name is in use by another user.
  • domain_limit_reached — Exceeded the acceptable number of connected domains (50).
  • no_reply — Yandex.Mail for Domain cannot connect to the server source for the import.
Keys for the dkim object
enabledString

Status of enabling DKIM for the domain.

Possible values:
  • yes — DKIM signature is enabled.
  • no — DKIM signature was disabled using the Disable DKIM request.
txtrecordString

A TXT record with a public DKIM key for independently making settings. The record consists of three parts:

  • The record name (mail_domainkey).
  • DKIM parameters:

    v=DKIM1;
    k=rsa;
    t=s;
    p=MIGfMA0GCSEBtaCOteH4EBqJlKperJ+5BPEGS7N3fFkdeKllShrM73nm4xPdZmt2jNnmgWMeQySGYW5VUJ8PCePanwIXcW8YnqS7zw+grL/PHhUtf3ofSLmtVM3rSWmJ9qHFhxWmPFplPe5OsvpO+fphiMOrTnzzV/004S/jQIDAQAB

    The p parameter contains the open DKIM key.

  • The domain designation (DKIM key mail for example.com).

Example of a TXT record:

mail._domainkey IN TXT "v=DKIM1; k=rsa; t=s; p=MIGfMA0GCSEBtaCOteH4EBqJlKperJ+5BPEGS7N3fFkdeKllShrM73nm4xPdZmt2jNnmgWMeQySGYW5VUJ8PCePanwIXcW8YnqS7zw+grL/PHhUtf3ofSLmtVM3rSWmJ9qHFhxWmPFplPe5OsvpO+fphiMOrTnzzV/004S/jQIDAQAB" ; DKIM key mail for example.com