← Catalog

DNS records API: set SPF, DKIM, DMARC and any record programmatically

domain.dns

live

Create DNS records on a domain registered through Jell: the records email.domain asks for, or anything else.

live coverage

Name.com: all inputs

✓ marks a combination proven with a real provider call. Others are wired and unit-tested; their first live run verifies them.

Providers

ProviderStatus
Name.com live

Billing

Unit: per_call · unmatched results billed: no

The exact quote is returned by /v1/inspect before every call and held with headroom on execution. The quote is the price floor: if the provider's actual cost overruns it, the run bills the overrun at the same rate, never above the hold. The unused part of every hold is released.

Run it

curl https://api.jell.run/v1/run \
  -H "Authorization: Bearer $JELL_API_KEY" \
  -d '{
    "capability": "domain.dns",
    "input": { "domain": "...", "records": "..." },
    "routing": {"provider": "auto"}
  }'

Input schema

{
  "properties": {
    "domain": {
      "type": "string"
    },
    "records": {
      "items": {
        "properties": {
          "answer": {
            "type": "string"
          },
          "host": {
            "description": "Subdomain label; empty for the apex",
            "type": "string"
          },
          "priority": {
            "type": "integer"
          },
          "ttl": {
            "default": 300,
            "type": "integer"
          },
          "type": {
            "enum": [
              "A",
              "AAAA",
              "CNAME",
              "MX",
              "TXT",
              "NS",
              "SRV"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": [
    "domain",
    "records"
  ],
  "type": "object"
}

Normalized output fields

created · failed

Used in these guides

Cold email infrastructure, end to end →