Resend Domains API

Create and manage domains through the Resend API.

Operations 6

POST /domains Create a new domain #
GET /domains Retrieve a list of domains #
GET /domains/{domain_id} Retrieve a single domain #
PATCH /domains/{domain_id} Update an existing domain #
DELETE /domains/{domain_id} Remove an existing domain #
POST /domains/{domain_id}/verify Verify an existing domain #

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/resend-domains-api"
All apis
curl "https://apis.io/api/v1/apis?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.

OpenAPI Specification

resend-domains-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Resend Domains API
  version: 1.1.0
  description: 'Resend is transforming email for developers. Simple interface, easy

    integrations, handy templates.'
servers:
- url: https://api.resend.com
security:
- bearerAuth: []
tags:
- name: Domains
  description: Create and manage domains through the Resend API.
paths:
  /domains:
    post:
      tags:
      - Domains
      summary: Create a new domain
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateDomainRequest'
      responses:
        '201':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateDomainResponse'
      operationId: postDomains
      x-operation-id-source: derived
    get:
      tags:
      - Domains
      summary: Retrieve a list of domains
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListDomainsResponse'
      operationId: getDomains
      x-operation-id-source: derived
  /domains/{domain_id}:
    get:
      tags:
      - Domains
      summary: Retrieve a single domain
      parameters:
      - name: domain_id
        in: path
        required: true
        schema:
          type: string
          description: The ID of the domain.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Domain'
      operationId: getDomainsByDomainId
      x-operation-id-source: derived
    patch:
      tags:
      - Domains
      summary: Update an existing domain
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateDomainOptions'
      parameters:
      - name: domain_id
        in: path
        required: true
        schema:
          type: string
          description: The ID of the domain.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateDomainResponseSuccess'
      operationId: patchDomainsByDomainId
      x-operation-id-source: derived
    delete:
      tags:
      - Domains
      summary: Remove an existing domain
      parameters:
      - name: domain_id
        in: path
        required: true
        schema:
          type: string
          description: The ID of the domain.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteDomainResponse'
      operationId: deleteDomainsByDomainId
      x-operation-id-source: derived
  /domains/{domain_id}/verify:
    post:
      tags:
      - Domains
      summary: Verify an existing domain
      parameters:
      - name: domain_id
        in: path
        required: true
        schema:
          type: string
          description: The ID of the domain.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VerifyDomainResponse'
      operationId: postDomainsByDomainIdVerify
      x-operation-id-source: derived
components:
  schemas:
    ListDomainsItem:
      type: object
      properties:
        id:
          type: string
          description: The ID of the domain.
          example: d91cd9bd-1176-453e-8fc1-35364d380206
        name:
          type: string
          description: The name of the domain.
          example: example.com
        status:
          type: string
          description: The status of the domain.
          example: not_started
        created_at:
          type: string
          format: date-time
          description: The date and time the domain was created.
          example: '2023-04-26T20:21:26.347412+00:00'
        region:
          type: string
          description: The region where the domain is hosted.
          example: us-east-1
    Domain:
      type: object
      properties:
        object:
          type: string
          description: The type of object.
          example: domain
        id:
          type: string
          description: The ID of the domain.
          example: d91cd9bd-1176-453e-8fc1-35364d380206
        name:
          type: string
          description: The name of the domain.
          example: example.com
        status:
          type: string
          description: The status of the domain.
          example: not_started
        created_at:
          type: string
          format: date-time
          description: The date and time the domain was created.
          example: '2023-04-26T20:21:26.347412+00:00'
        region:
          type: string
          description: The region where the domain is hosted.
          example: us-east-1
        records:
          type: array
          items:
            $ref: '#/components/schemas/DomainRecord'
    DomainRecord:
      type: object
      properties:
        record:
          type: string
          description: The type of record.
        name:
          type: string
          description: The name of the record.
        type:
          type: string
          description: The type of record.
        ttl:
          type: string
          description: The time to live for the record.
        status:
          type: string
          description: The status of the record.
        value:
          type: string
          description: The value of the record.
        priority:
          type: integer
          description: The priority of the record.
    UpdateDomainResponseSuccess:
      type: object
      properties:
        id:
          type: string
          description: The ID of the updated domain.
          example: d91cd9bd-1176-453e-8fc1-35364d380206
        object:
          type: string
          description: The object type representing the updated domain.
          example: domain
    ListDomainsResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/ListDomainsItem'
    VerifyDomainResponse:
      type: object
      properties:
        object:
          type: string
          description: The type of object.
          example: domain
        id:
          type: string
          description: The ID of the domain.
          example: d91cd9bd-1176-453e-8fc1-35364d380206
    UpdateDomainOptions:
      type: object
      properties:
        open_tracking:
          type: boolean
          description: Track the open rate of each email.
        click_tracking:
          type: boolean
          description: Track clicks within the body of each HTML email.
        tls:
          type: string
          description: enforced | opportunistic.
          default: opportunistic
    CreateDomainResponse:
      type: object
      properties:
        id:
          type: string
          description: The ID of the domain.
        name:
          type: string
          description: The name of the domain.
        created_at:
          type: string
          format: date-time
          description: The date and time the domain was created.
        status:
          type: string
          description: The status of the domain.
        records:
          type: array
          items:
            $ref: '#/components/schemas/DomainRecord'
        region:
          type: string
          description: The region where the domain is hosted.
    DeleteDomainResponse:
      type: object
      properties:
        object:
          type: string
          description: The type of object.
          example: domain
        id:
          type: string
          description: The ID of the domain.
          example: d91cd9bd-1176-453e-8fc1-35364d380206
        deleted:
          type: boolean
          description: Indicates whether the domain was deleted successfully.
          example: true
    CreateDomainRequest:
      type: object
      required:
      - name
      properties:
        name:
          type: string
          description: The name of the domain you want to create.
        region:
          type: string
          enum:
          - us-east-1
          - eu-west-1
          - sa-east-1
          default: us-east-1
          description: The region where emails will be sent from. Possible values are us-east-1' | 'eu-west-1' | 'sa-east-1
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer