Skip to main content
Resend Docs

Search documentation

Type to search this documentation.

On this pageOverview

Claim Domain

POST

/

domains

/

claim

Node.js
import { Resend } from 'resend';

const resend = new Resend('re_xxxxxxxxx');

const { data, error } = await resend.domains.claims.create({
  name: 'example.com',
});
PHP
$resend = Resend::client('re_xxxxxxxxx');

$resend->domains->claims->create([
  'name' => 'example.com'
]);
Python
import resend

resend.api_key = "re_xxxxxxxxx"

params: resend.Domains.Claims.CreateParams = {
  "name": "example.com",
}

resend.Domains.Claims.create(params)
Ruby
require "resend"

Resend.api_key = "re_xxxxxxxxx"

params = {
  name: "example.com",
}
claim = Resend::Domains::Claims.create(params)
puts claim
Go
package main

import "github.com/resend/resend-go/v4"

func main() {
	client := resend.NewClient("re_xxxxxxxxx")

	params := &resend.CreateDomainClaimRequest{
		Name: "example.com",
	}

	client.DomainClaims.Create(params)
}
Rust
use resend_rs::{Resend, Result, types::CreateDomainClaimOptions};

#[tokio::main]
async fn main() -> Result<()> {
  let resend = Resend::new("re_xxxxxxxxx");

  let domain_claim = CreateDomainClaimOptions::new("example.com");
  let _data = resend.domains.claim(domain_claim).await?;

  Ok(())
}
Java
import com.resend.Resend;
import com.resend.core.exception.ResendException;
import com.resend.services.domains.model.ClaimDomainOptions;
import com.resend.services.domains.model.DomainClaimResponseSuccess;

public class Main {
    public static void main(String[] args) throws ResendException {
        Resend resend = new Resend("re_xxxxxxxxx");

        ClaimDomainOptions params = ClaimDomainOptions
                .builder()
                .name("example.com").build();

        DomainClaimResponseSuccess claim = resend.domains().claims().create(params);
    }
}
cURL
curl -X POST 'https://api.resend.com/domains/claim' \
     -H 'Authorization: Bearer re_xxxxxxxxx' \
     -H 'Content-Type: application/json' \
     -d $'{
  "name": "example.com"
}'
CLI
resend domains claim create --name example.com
Response
{
  "object": "domain_claim",
  "id": "dacf4072-4119-4d88-932f-6c6126d3a9d1",
  "name": "example.com",
  "status": "pending",
  "domain_id": "d91cd9bd-1176-453e-8fc1-35364d380206",
  "region": "us-east-1",
  "record": {
    "type": "TXT",
    "name": "example.com",
    "value": "resend-domain-verification=3f8a1c2d4e5b6a7f8091a2b3c4d5e6f7",
    "ttl": "Auto"
  },
  "blocked_reason": null,
  "failure_reason": null,
  "created_at": "2026-06-16 17:12:02.059593+00",
  "expires_at": "2026-06-23 17:12:02.059593+00"
}

string

required

The name of the domain you want to claim.

string

default:"us-east-1"

The region where emails will be sent from. Possible values: 'us-east-1' | 'eu-west-1' | 'sa-east-1' | 'ap-northeast-1'

Node.js
import { Resend } from 'resend';

const resend = new Resend('re_xxxxxxxxx');

const { data, error } = await resend.domains.claims.create({
  name: 'example.com',
});
PHP
$resend = Resend::client('re_xxxxxxxxx');

$resend->domains->claims->create([
  'name' => 'example.com'
]);
Python
import resend

resend.api_key = "re_xxxxxxxxx"

params: resend.Domains.Claims.CreateParams = {
  "name": "example.com",
}

resend.Domains.Claims.create(params)
Ruby
require "resend"

Resend.api_key = "re_xxxxxxxxx"

params = {
  name: "example.com",
}
claim = Resend::Domains::Claims.create(params)
puts claim
Go
package main

import "github.com/resend/resend-go/v4"

func main() {
	client := resend.NewClient("re_xxxxxxxxx")

	params := &resend.CreateDomainClaimRequest{
		Name: "example.com",
	}

	client.DomainClaims.Create(params)
}
Rust
use resend_rs::{Resend, Result, types::CreateDomainClaimOptions};

#[tokio::main]
async fn main() -> Result<()> {
  let resend = Resend::new("re_xxxxxxxxx");

  let domain_claim = CreateDomainClaimOptions::new("example.com");
  let _data = resend.domains.claim(domain_claim).await?;

  Ok(())
}
Java
import com.resend.Resend;
import com.resend.core.exception.ResendException;
import com.resend.services.domains.model.ClaimDomainOptions;
import com.resend.services.domains.model.DomainClaimResponseSuccess;

public class Main {
    public static void main(String[] args) throws ResendException {
        Resend resend = new Resend("re_xxxxxxxxx");

        ClaimDomainOptions params = ClaimDomainOptions
                .builder()
                .name("example.com").build();

        DomainClaimResponseSuccess claim = resend.domains().claims().create(params);
    }
}
cURL
curl -X POST 'https://api.resend.com/domains/claim' \
     -H 'Authorization: Bearer re_xxxxxxxxx' \
     -H 'Content-Type: application/json' \
     -d $'{
  "name": "example.com"
}'
CLI
resend domains claim create --name example.com
JSON
{
  "object": "domain_claim",
  "id": "dacf4072-4119-4d88-932f-6c6126d3a9d1",
  "name": "example.com",
  "status": "pending",
  "domain_id": "d91cd9bd-1176-453e-8fc1-35364d380206",
  "region": "us-east-1",
  "record": {
    "type": "TXT",
    "name": "example.com",
    "value": "resend-domain-verification=3f8a1c2d4e5b6a7f8091a2b3c4d5e6f7",
    "ttl": "Auto"
  },
  "blocked_reason": null,
  "failure_reason": null,
  "created_at": "2026-06-16 17:12:02.059593+00",
  "expires_at": "2026-06-23 17:12:02.059593+00"
}

Was this page helpful?

⌘I

Suggest an edit

Propose a replacement for this page. The site team reviews it before applying any changes.

Export
Documentation menu