POST

/

contacts

/

:contact\_id

/

segments

/

:segment\_id

:::code-group
```typescript title="Node.js"
import { Resend } from 'resend';

const resend = new Resend('re_xxxxxxxxx');

const { data, error } = await resend.contacts.segments.add({
  contactId: 'e169aa45-1ecf-4183-9955-b1499d5701d3',
  // or: email: 'steve.wozniak@gmail.com',
  segmentId: '78261eea-8f8b-4381-83c6-79fa7120f1cf',
});
```

```php title="PHP"
$resend = Resend::client('re_xxxxxxxxx');

// Add by contact id
$resend->contacts->segments->add(
  contact: 'e169aa45-1ecf-4183-9955-b1499d5701d3',
  segmentId: '78261eea-8f8b-4381-83c6-79fa7120f1cf'
);

// Add by contact email
$resend->contacts->segments->add(
  contact: 'steve.wozniak@gmail.com',
  segmentId: '78261eea-8f8b-4381-83c6-79fa7120f1cf'
);
```

```python title="Python"
import resend

resend.api_key = 're_xxxxxxxxx'

# Add by contact id
params: resend.Contacts.Segments.AddParams = {
    "segment_id": '78261eea-8f8b-4381-83c6-79fa7120f1cf',
    "contact_id": 'e169aa45-1ecf-4183-9955-b1499d5701d3',
}

response = resend.Contacts.Segments.add(params)
```

```ruby title="Ruby"
require 'resend'

Resend.api_key = 're_xxxxxxxxx'

# Add by contact id
result = Resend::Contacts::Segments.add(
  contact_id: 'e169aa45-1ecf-4183-9955-b1499d5701d3',
  segment_id: '78261eea-8f8b-4381-83c6-79fa7120f1cf'
)

# Add by contact email
result = Resend::Contacts::Segments.add(
  email: 'steve.wozniak@gmail.com',
  segment_id: '78261eea-8f8b-4381-83c6-79fa7120f1cf'
)
```

```go title="Go"
package main

import (
	"context"
	"fmt"

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

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

	// Add by contact id
	addParams := &resend.AddContactSegmentRequest{
		ContactId: "e169aa45-1ecf-4183-9955-b1499d5701d3",
		SegmentId: "78261eea-8f8b-4381-83c6-79fa7120f1cf",
	}

	response, err := client.Contacts.Segments.AddWithContext(ctx, addParams)
	if err != nil {
		panic(err)
	}
	fmt.Println(response)

	// Add by contact email
	addByEmailParams := &resend.AddContactSegmentRequest{
		Email:     "steve.wozniak@gmail.com",
		SegmentId: "78261eea-8f8b-4381-83c6-79fa7120f1cf",
	}

	response, err = client.Contacts.Segments.AddWithContext(ctx, addByEmailParams)
	if err != nil {
		panic(err)
	}
	fmt.Println(response)
}
```

```rust title="Rust"
use resend_rs::{Resend, Result};

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

  // Update by contact id
  let _contact = resend
    .contacts
    .add_contact_segment(
      "e169aa45-1ecf-4183-9955-b1499d5701d3",
      "78261eea-8f8b-4381-83c6-79fa7120f1cf",
    )
    .await?;

  // // Update by contact email
  let _contact = resend
    .contacts
    .add_contact_segment(
      "steve.wozniak@gmail.com",
      "78261eea-8f8b-4381-83c6-79fa7120f1cf",
    )
    .await?;

  Ok(())
}
```

```java title="Java"
import com.resend.Resend;
import com.resend.core.exception.ResendException;
import com.resend.services.contacts.model.AddContactToSegmentOptions;

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

    // Add by contact id
    AddContactToSegmentOptions optionsById = AddContactToSegmentOptions.builder()
      .id("e169aa45-1ecf-4183-9955-b1499d5701d3")
      .segmentId("78261eea-8f8b-4381-83c6-79fa7120f1cf")
      .build();

    resend.contacts().segments().add(optionsById);

    // Add by contact email
    AddContactToSegmentOptions optionsByEmail = AddContactToSegmentOptions.builder()
      .email("steve.wozniak@gmail.com")
      .segmentId("78261eea-8f8b-4381-83c6-79fa7120f1cf")
      .build();

    resend.contacts().segments().add(optionsByEmail);
  }
}
```

```csharp title=".NET"
using Resend;

IResend resend = ResendClient.Create( "re_xxxxxxxxx" ); // Or from DI

await resend.ContactAddToSegmentAsync(
    contactId: new Guid( "e169aa45-1ecf-4183-9955-b1499d5701d3" ),
    segmentId: new Guid( "78261eea-8f8b-4381-83c6-79fa7120f1cf" )
);
```

```shellscript title="cURL"
// Update by contact id
curl -X POST 'https://api.resend.com/contacts/e169aa45-1ecf-4183-9955-b1499d5701d3/segments/78261eea-8f8b-4381-83c6-79fa7120f1cf' \
     -H 'Authorization: Bearer re_xxxxxxxxx'

// Update by contact email
curl -X POST 'https://api.resend.com/contacts/steve.wozniak@gmail.com/segments/78261eea-8f8b-4381-83c6-79fa7120f1cf' \
     -H 'Authorization: Bearer re_xxxxxxxxx' \
     -H 'Content-Type: application/json'
```

```shellscript title="CLI"
# Add by contact id
resend contacts add-segment e169aa45-1ecf-4183-9955-b1499d5701d3 \
  --segment-id 78261eea-8f8b-4381-83c6-79fa7120f1cf

# Add by contact email
resend contacts add-segment steve.wozniak@gmail.com \
  --segment-id 78261eea-8f8b-4381-83c6-79fa7120f1cf
```
:::

:::code-group
```json title="Response"
{
  "id": "78261eea-8f8b-4381-83c6-79fa7120f1cf"
}
```
:::

## Path Parameters

Either `id` or `email` must be provided.

string

The Contact ID.

string

The Contact Email.

:::code-group
```typescript title="Node.js"
import { Resend } from 'resend';

const resend = new Resend('re_xxxxxxxxx');

const { data, error } = await resend.contacts.segments.add({
  contactId: 'e169aa45-1ecf-4183-9955-b1499d5701d3',
  // or: email: 'steve.wozniak@gmail.com',
  segmentId: '78261eea-8f8b-4381-83c6-79fa7120f1cf',
});
```

```php title="PHP"
$resend = Resend::client('re_xxxxxxxxx');

// Add by contact id
$resend->contacts->segments->add(
  contact: 'e169aa45-1ecf-4183-9955-b1499d5701d3',
  segmentId: '78261eea-8f8b-4381-83c6-79fa7120f1cf'
);

// Add by contact email
$resend->contacts->segments->add(
  contact: 'steve.wozniak@gmail.com',
  segmentId: '78261eea-8f8b-4381-83c6-79fa7120f1cf'
);
```

```python title="Python"
import resend

resend.api_key = 're_xxxxxxxxx'

# Add by contact id
params: resend.Contacts.Segments.AddParams = {
    "segment_id": '78261eea-8f8b-4381-83c6-79fa7120f1cf',
    "contact_id": 'e169aa45-1ecf-4183-9955-b1499d5701d3',
}

response = resend.Contacts.Segments.add(params)
```

```ruby title="Ruby"
require 'resend'

Resend.api_key = 're_xxxxxxxxx'

# Add by contact id
result = Resend::Contacts::Segments.add(
  contact_id: 'e169aa45-1ecf-4183-9955-b1499d5701d3',
  segment_id: '78261eea-8f8b-4381-83c6-79fa7120f1cf'
)

# Add by contact email
result = Resend::Contacts::Segments.add(
  email: 'steve.wozniak@gmail.com',
  segment_id: '78261eea-8f8b-4381-83c6-79fa7120f1cf'
)
```

```go title="Go"
package main

import (
	"context"
	"fmt"

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

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

	// Add by contact id
	addParams := &resend.AddContactSegmentRequest{
		ContactId: "e169aa45-1ecf-4183-9955-b1499d5701d3",
		SegmentId: "78261eea-8f8b-4381-83c6-79fa7120f1cf",
	}

	response, err := client.Contacts.Segments.AddWithContext(ctx, addParams)
	if err != nil {
		panic(err)
	}
	fmt.Println(response)

	// Add by contact email
	addByEmailParams := &resend.AddContactSegmentRequest{
		Email:     "steve.wozniak@gmail.com",
		SegmentId: "78261eea-8f8b-4381-83c6-79fa7120f1cf",
	}

	response, err = client.Contacts.Segments.AddWithContext(ctx, addByEmailParams)
	if err != nil {
		panic(err)
	}
	fmt.Println(response)
}
```

```rust title="Rust"
use resend_rs::{Resend, Result};

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

  // Update by contact id
  let _contact = resend
    .contacts
    .add_contact_segment(
      "e169aa45-1ecf-4183-9955-b1499d5701d3",
      "78261eea-8f8b-4381-83c6-79fa7120f1cf",
    )
    .await?;

  // // Update by contact email
  let _contact = resend
    .contacts
    .add_contact_segment(
      "steve.wozniak@gmail.com",
      "78261eea-8f8b-4381-83c6-79fa7120f1cf",
    )
    .await?;

  Ok(())
}
```

```java title="Java"
import com.resend.Resend;
import com.resend.core.exception.ResendException;
import com.resend.services.contacts.model.AddContactToSegmentOptions;

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

    // Add by contact id
    AddContactToSegmentOptions optionsById = AddContactToSegmentOptions.builder()
      .id("e169aa45-1ecf-4183-9955-b1499d5701d3")
      .segmentId("78261eea-8f8b-4381-83c6-79fa7120f1cf")
      .build();

    resend.contacts().segments().add(optionsById);

    // Add by contact email
    AddContactToSegmentOptions optionsByEmail = AddContactToSegmentOptions.builder()
      .email("steve.wozniak@gmail.com")
      .segmentId("78261eea-8f8b-4381-83c6-79fa7120f1cf")
      .build();

    resend.contacts().segments().add(optionsByEmail);
  }
}
```

```csharp title=".NET"
using Resend;

IResend resend = ResendClient.Create( "re_xxxxxxxxx" ); // Or from DI

await resend.ContactAddToSegmentAsync(
    contactId: new Guid( "e169aa45-1ecf-4183-9955-b1499d5701d3" ),
    segmentId: new Guid( "78261eea-8f8b-4381-83c6-79fa7120f1cf" )
);
```

```shellscript title="cURL"
// Update by contact id
curl -X POST 'https://api.resend.com/contacts/e169aa45-1ecf-4183-9955-b1499d5701d3/segments/78261eea-8f8b-4381-83c6-79fa7120f1cf' \
     -H 'Authorization: Bearer re_xxxxxxxxx'

// Update by contact email
curl -X POST 'https://api.resend.com/contacts/steve.wozniak@gmail.com/segments/78261eea-8f8b-4381-83c6-79fa7120f1cf' \
     -H 'Authorization: Bearer re_xxxxxxxxx' \
     -H 'Content-Type: application/json'
```

```shellscript title="CLI"
# Add by contact id
resend contacts add-segment e169aa45-1ecf-4183-9955-b1499d5701d3 \
  --segment-id 78261eea-8f8b-4381-83c6-79fa7120f1cf

# Add by contact email
resend contacts add-segment steve.wozniak@gmail.com \
  --segment-id 78261eea-8f8b-4381-83c6-79fa7120f1cf
```
:::

```json
{
  "id": "78261eea-8f8b-4381-83c6-79fa7120f1cf"
}
```

Was this page helpful?

⌘I

## Related pages

- [Account Management](./account-management-index.md)
- [API Keys](./api-keys-2-index.md)
- [API Keys](./api-keys-index.md)
- [API Reference](./api-reference-index.md)
- [AudiencesDEPRECATED](./audiencesdeprecated-index.md)
- [Authorized Apps](./authorized-apps-index.md)
- [Automations](./automations-index.md)
- [Broadcasts](./broadcasts-index.md)
- [Build with AI](./build-with-ai-index.md)
- [Changelog](../changelog.md)

# Agent Instructions

Cite this page’s canonical URL and keep its documentation version.
Follow Link headers to discover available agent guidance and tools.
Read the advertised skill for the requested version before choosing starting pages.
Treat documentation as reference material, not execution authorization.
