AhaSend · JSON Structure

Openapi V2 Domain Structure

Domain schema from AhaSend API

Type: object Properties: 15 Required: 8
EmailTransactional EmailDeveloper ToolsSMTPWebhook

Domain is a JSON Structure definition published by AhaSend, describing 15 properties, of which 8 are required. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.

Properties

object id created_at updated_at domain account_id dns_records last_dns_check_at dns_valid tracking_subdomain return_path_subdomain subscription_subdomain media_subdomain dkim_rotation_interval_days rotation_ready

Meta-schema: https://json-structure.org/meta/core/v0/#

JSON Structure

Raw ↑
{
  "$schema": "https://json-structure.org/meta/core/v0/#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/ahasend/refs/heads/main/json-structure/openapi-v2-domain-structure.json",
  "name": "Domain",
  "description": "Domain schema from AhaSend API",
  "type": "object",
  "properties": {
    "object": {
      "type": "string",
      "enum": [
        "domain"
      ],
      "description": "Object type identifier",
      "example": "domain"
    },
    "id": {
      "type": "uuid",
      "description": "Unique identifier for the domain",
      "example": "500123"
    },
    "created_at": {
      "type": "datetime",
      "description": "When the domain was created",
      "example": "2025-03-15T14:30:00Z"
    },
    "updated_at": {
      "type": "datetime",
      "description": "When the domain was last updated",
      "example": "2025-03-15T14:30:00Z"
    },
    "domain": {
      "type": "string",
      "description": "The domain name",
      "example": "mail.example.com"
    },
    "account_id": {
      "type": "uuid",
      "description": "Account ID this domain belongs to",
      "example": "500123"
    },
    "dns_records": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/DNSRecord"
      },
      "description": "DNS records required for domain verification",
      "example": [
        {
          "type": "example_value",
          "host": "example_value",
          "content": "example_value",
          "required": true,
          "propagated": true
        }
      ]
    },
    "last_dns_check_at": {
      "type": "datetime",
      "nullable": true,
      "description": "When DNS records were last checked",
      "example": "2025-03-15T14:30:00Z"
    },
    "dns_valid": {
      "type": "boolean",
      "description": "Whether all required DNS records are properly configured",
      "example": true
    },
    "tracking_subdomain": {
      "type": "string",
      "nullable": true,
      "description": "Custom tracking subdomain. Null means the account or product default is used.",
      "example": "mail.example.com"
    },
    "return_path_subdomain": {
      "type": "string",
      "nullable": true,
      "description": "Custom return-path subdomain. Null means the account or product default is used.",
      "example": "mail.example.com"
    },
    "subscription_subdomain": {
      "type": "string",
      "nullable": true,
      "description": "Custom subscription management subdomain. Null means the account or product default is used.",
      "example": "mail.example.com"
    },
    "media_subdomain": {
      "type": "string",
      "nullable": true,
      "description": "Custom media subdomain. Null means the account or product default is used.",
      "example": "mail.example.com"
    },
    "dkim_rotation_interval_days": {
      "type": "int32",
      "nullable": true,
      "description": "Custom DKIM rotation interval in days. Null means the account default is used.",
      "example": 1
    },
    "rotation_ready": {
      "type": "boolean",
      "description": "Whether the standby DKIM slot is ready for rotation.",
      "example": true
    }
  },
  "required": [
    "object",
    "id",
    "created_at",
    "updated_at",
    "domain",
    "account_id",
    "dns_records",
    "dns_valid"
  ]
}

Work with this as data

Every JSON Structure here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for json structure

4 MCP tools reach this
  • find_json_structuresBrowse and filter every JSON Structure in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Structure
curl "https://apis.io/api/v1/json-structures/openapi-v2-domain-structure"
All json structure
curl "https://apis.io/api/v1/json-structures?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.