# POST /lists/move-subscriber — Move Subscriber Between Lists

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

Moves an existing subscriber from one subscriber list to another. The subscriber will be removed from the source list and added to the target list. If the subscriber is already in the target list, they will only be removed from the source list. List counts are automatically updated for both lists.

**Body parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| email | string | No | Email address of the subscriber (required if subscriberId is not provided) |
| fromListId | string | Yes | ID of the source list to move subscriber from |
| toListId | string | Yes | ID of the target list to move subscriber to |
| subscriberId | string | No | ID of the subscriber (required if email is not provided) |

**Example request body:**

```json
{
  "email": "s001gourav@gmail.com",
  "fromListId": "695ca9409a8ed4e65738c3b7",
  "toListId": "695cf4e01b66bf088e1b4a92"
}
```

**Response (200)** — Move Subscriber Between Lists:

```json
{
    "success": true,
    "status": "success",
    "message": "Subscriber moved between lists successfully",
    "data": {
        "subscriberId": "695ca95b9a8ed4e65738d1c5",
        "email": "s001gourav@gmail.com",
        "movedFrom": "new",
        "movedTo": "cvbcbbc",
        "alreadyInToList": false,
        "currentLists": [
            "Pabbly Email Marketing",
            "cvbcbbc"
        ]
    }
}
```

**Code examples:**

_cURL_

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

_Ruby_

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

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

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/move-subscriber',
    headers={'Authorization': 'Bearer {{YOUR_API_KEY}}'},
    json={
    'email': 's001gourav@gmail.com',
    'fromListId': '695ca9409a8ed4e65738c3b7',
    'toListId': '695cf4e01b66bf088e1b4a92'
},
)

data = response.json()
```

_PHP_

```php
<?php
$ch = curl_init('https://emails.pabbly.com/api/v2/lists/move-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","fromListId":"695ca9409a8ed4e65738c3b7","toListId":"695cf4e01b66bf088e1b4a92"}');

$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/move-subscriber"))
    .header("Authorization", "Bearer {{YOUR_API_KEY}}")
    .header("Content-Type", "application/json")
    .method("POST", HttpRequest.BodyPublishers.ofString("{\"email\":\"s001gourav@gmail.com\",\"fromListId\":\"695ca9409a8ed4e65738c3b7\",\"toListId\":\"695cf4e01b66bf088e1b4a92\"}"));

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/move-subscriber', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer {{YOUR_API_KEY}}',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "email": "s001gourav@gmail.com",
    "fromListId": "695ca9409a8ed4e65738c3b7",
    "toListId": "695cf4e01b66bf088e1b4a92"
  }),
});

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

_Go_

```go
package main

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

func main() {
    payload := strings.NewReader("{\"email\":\"s001gourav@gmail.com\",\"fromListId\":\"695ca9409a8ed4e65738c3b7\",\"toListId\":\"695cf4e01b66bf088e1b4a92\"}")
    req, _ := http.NewRequest("POST", "https://emails.pabbly.com/api/v2/lists/move-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/move-subscriber");
request.Headers.TryAddWithoutValidation("Authorization", "Bearer {{YOUR_API_KEY}}");
request.Content = new StringContent("{\"email\":\"s001gourav@gmail.com\",\"fromListId\":\"695ca9409a8ed4e65738c3b7\",\"toListId\":\"695cf4e01b66bf088e1b4a92\"}");
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/add-subscriber — Add Subscriber to Lists](/email-marketing/subscriber-lists/add-subscriber-to-lists)
- [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)
- [GET /lists-and-segments — Get all Lists and Segments](/email-marketing/subscriber-lists/get-all-lists-and-segments)

