# POST /lists/add-subscriber — Add Subscriber to Lists

> Product: **Pabbly Email Marketing** (v2)
> Base URL: `https://emails.pabbly.com/api/v2`
> Auth: Bearer via `Authorization` header
> Canonical: `/email-marketing/subscriber-lists/add-subscriber-to-lists`

Adds an existing subscriber to one or more subscriber lists. You can identify the subscriber by email address or subscriber ID. The subscriber will be added to all valid lists provided. If the subscriber is already in a list, that list will be skipped. List counts are automatically updated.

**Body parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| email | string | No | Email address of the subscriber (required if subscriberId is not provided) |
| listIds | array | Yes | Array of list IDs to add the subscriber to (must contain at least one list ID) |
| subscriberId | string | No | ID of the subscriber (required if email is not provided) |

**Example request body:**

```json
{
  "email": "s001gourav@gmail.com",
  "listIds": ["695ca9409a8ed4e65738c3b7"]
}
```

**Response (200)** — Add Subscriber to Lists:

```json
{
    "success": true,
    "status": "success",
    "message": "Subscriber added to lists successfully",
    "data": {
        "subscriberId": "695ca95b9a8ed4e65738d1c5",
        "email": "s001gourav@gmail.com",
        "addedLists": [
            "New User"
        ],
        "currentLists": [
            "Pabbly Email Marketing",
            "New User"
        ]
    }
}
```

**Code examples:**

_cURL_

```curl
curl -X POST https://emails.pabbly.com/api/v2/lists/add-subscriber \
  -H "Authorization: Bearer {{YOUR_API_KEY}}" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "s001gourav@gmail.com",
    "listIds": [
      "695ca9409a8ed4e65738c3b7"
    ]
  }'
```

_Ruby_

```ruby
require 'net/http'
require 'json'

uri = URI('https://emails.pabbly.com/api/v2/lists/add-subscriber')
request = Net::HTTP::Post.new(uri)
request['Authorization'] = 'Bearer {{YOUR_API_KEY}}'
request['Content-Type'] = 'application/json'
request.body = "{\"email\":\"s001gourav@gmail.com\",\"listIds\":[\"695ca9409a8ed4e65738c3b7\"]}"

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
  http.request(request)
end

data = JSON.parse(response.body)
```

_Python_

```python
import requests

response = requests.post(
    'https://emails.pabbly.com/api/v2/lists/add-subscriber',
    headers={'Authorization': 'Bearer {{YOUR_API_KEY}}'},
    json={
    'email': 's001gourav@gmail.com',
    'listIds': [
        '695ca9409a8ed4e65738c3b7'
    ]
},
)

data = response.json()
```

_PHP_

```php
<?php
$ch = curl_init('https://emails.pabbly.com/api/v2/lists/add-subscriber');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer {{YOUR_API_KEY}}', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"email":"s001gourav@gmail.com","listIds":["695ca9409a8ed4e65738c3b7"]}');

$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
```

_Java_

```java
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

HttpClient client = HttpClient.newHttpClient();
HttpRequest.Builder builder = HttpRequest.newBuilder()
    .uri(URI.create("https://emails.pabbly.com/api/v2/lists/add-subscriber"))
    .header("Authorization", "Bearer {{YOUR_API_KEY}}")
    .header("Content-Type", "application/json")
    .method("POST", HttpRequest.BodyPublishers.ofString("{\"email\":\"s001gourav@gmail.com\",\"listIds\":[\"695ca9409a8ed4e65738c3b7\"]}"));

HttpRequest request = builder.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
```

_Node.js_

```node
const response = await fetch('https://emails.pabbly.com/api/v2/lists/add-subscriber', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer {{YOUR_API_KEY}}',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "email": "s001gourav@gmail.com",
    "listIds": [
      "695ca9409a8ed4e65738c3b7"
    ]
  }),
});

const data = await response.json();
```

_Go_

```go
package main

import (
    "fmt"
    "io"
    "net/http"
    "strings"
)

func main() {
    payload := strings.NewReader("{\"email\":\"s001gourav@gmail.com\",\"listIds\":[\"695ca9409a8ed4e65738c3b7\"]}")
    req, _ := http.NewRequest("POST", "https://emails.pabbly.com/api/v2/lists/add-subscriber", payload)
    req.Header.Set("Content-Type", "application/json")
    req.Header.Set("Authorization", "Bearer {{YOUR_API_KEY}}")

    res, _ := http.DefaultClient.Do(req)
    defer res.Body.Close()
    body, _ := io.ReadAll(res.Body)
    fmt.Println(string(body))
}
```

_.NET_

```dotnet
using System.Net.Http;
using System.Net.Http.Headers;
using System.Threading.Tasks;

var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://emails.pabbly.com/api/v2/lists/add-subscriber");
request.Headers.TryAddWithoutValidation("Authorization", "Bearer {{YOUR_API_KEY}}");
request.Content = new StringContent("{\"email\":\"s001gourav@gmail.com\",\"listIds\":[\"695ca9409a8ed4e65738c3b7\"]}");
request.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json");

var response = await client.SendAsync(request);
var data = await response.Content.ReadAsStringAsync();
Console.WriteLine(data);
```

---

**Other endpoints in Subscriber Lists:**

- [GET /lists — Get All Subscriber Lists](/email-marketing/subscriber-lists/get-all-subscriber-lists)
- [GET /lists/{{listId}} — Get Single Subscriber List by ID](/email-marketing/subscriber-lists/get-single-subscriber-list-by-id)
- [POST /lists/remove-subscriber — Remove Subscriber from Lists](/email-marketing/subscriber-lists/remove-subscriber-from-lists)
- [POST /lists — Create Subscriber List](/email-marketing/subscriber-lists/create-subscriber-list)
- [GET /lists — Get Single Subscriber List by List Name](/email-marketing/subscriber-lists/get-single-subscriber-list-by-list-name)
- [POST /lists/move-subscriber — Move Subscriber Between Lists](/email-marketing/subscriber-lists/move-subscriber-between-lists)
- [GET /lists-and-segments — Get all Lists and Segments](/email-marketing/subscriber-lists/get-all-lists-and-segments)

