# Subscribe multiple email addresses to a v3 status page. - Checkly Docs

> Subscribe up to 100 email addresses at once. Each subscriber can be limited to specific components via config.subscribedComponents; addresses already subscribed are skipped.

Source: https://www.checklyhq.com/docs/api-reference/status-pages-v3/subscribe-multiple-email-addresses-to-a-v3-status-page/

---

Subscribe multiple email addresses to a v3 status page.

```
curl --request POST \
--url https://api.checklyhq.com/v3/status-pages/{statusPageId}/subscribers/bulk \
--header 'Authorization: Bearer ' \
--header 'Content-Type: application/json' \
--data '
{
"subscriptions": [
{
"type": "EMAIL",
"config": {
"address": " ",
"subscribedComponents": [
" "
]
}
}
],
"autoVerify": false
}
'
```

```
import requests

url = "https://api.checklyhq.com/v3/status-pages/{statusPageId}/subscribers/bulk"

payload = {
"subscriptions": [
{
"type": "EMAIL",
"config": {
"address": " ",
"subscribedComponents": [" "]
}
}
],
"autoVerify": False
}
headers = {
"Authorization": "Bearer ",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
```

```
const options = {
method: 'POST',
headers: {Authorization: 'Bearer ', 'Content-Type': 'application/json'},
body: JSON.stringify({
subscriptions: [
{
type: 'EMAIL',
config: {address: ' ', subscribedComponents: [' ']}
}
],
autoVerify: false
})
};

fetch('https://api.checklyhq.com/v3/status-pages/{statusPageId}/subscribers/bulk', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
```

```
"https://api.checklyhq.com/v3/status-pages/{statusPageId}/subscribers/bulk",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'subscriptions' => [
[
'type' => 'EMAIL',
'config' => [
'address' => ' ',
'subscribedComponents' => [
' '
]
]
]
],
'autoVerify' => false
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer ",
"Content-Type: application/json"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
```

```
package main

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

func main() {

url := "https://api.checklyhq.com/v3/status-pages/{statusPageId}/subscribers/bulk"

payload := strings.NewReader("{\n \"subscriptions\": [\n {\n \"type\": \"EMAIL\",\n \"config\": {\n \"address\": \" \",\n \"subscribedComponents\": [\n \" \"\n ]\n }\n }\n ],\n \"autoVerify\": false\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("Authorization", "Bearer ")
req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
```

```
HttpResponse response = Unirest.post("https://api.checklyhq.com/v3/status-pages/{statusPageId}/subscribers/bulk")
.header("Authorization", "Bearer ")
.header("Content-Type", "application/json")
.body("{\n \"subscriptions\": [\n {\n \"type\": \"EMAIL\",\n \"config\": {\n \"address\": \" \",\n \"subscribedComponents\": [\n \" \"\n ]\n }\n }\n ],\n \"autoVerify\": false\n}")
.asString();
```

```
require 'uri'
require 'net/http'

url = URI("https://api.checklyhq.com/v3/status-pages/{statusPageId}/subscribers/bulk")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer '
request["Content-Type"] = 'application/json'
request.body = "{\n \"subscriptions\": [\n {\n \"type\": \"EMAIL\",\n \"config\": {\n \"address\": \" \",\n \"subscribedComponents\": [\n \" \"\n ]\n }\n }\n ],\n \"autoVerify\": false\n}"

response = http.request(request)
puts response.read_body
```

```
{
"created": 123,
"skipped": 123,
"status": "PENDING"
}
```

```
{
"statusCode": 401,
"error": "Unauthorized",
"message": "Bad Token",
"attributes": {}
}
```

```
{
"statusCode": 403,
"error": "Forbidden",
"message": "Forbidden"
}
```

```
{
"statusCode": 404,
"error": "Not Found",
"message": "Not Found"
}
```

```
{
"statusCode": 429,
"error": "Too Many Requests",
"message": "Too Many Requests",
"attributes": {}
}
```

Status Page Subscribers

# Subscribe multiple email addresses to a v3 status page.

Subscribe up to 100 email addresses at once. Each subscriber can be limited to specific components via config.subscribedComponents; addresses already subscribed are skipped.

POST

/

v3

/

status-pages

/

{statusPageId}

/

subscribers

/

bulk

Subscribe multiple email addresses to a v3 status page.

```
curl --request POST \
--url https://api.checklyhq.com/v3/status-pages/{statusPageId}/subscribers/bulk \
--header 'Authorization: Bearer ' \
--header 'Content-Type: application/json' \
--data '
{
"subscriptions": [
{
"type": "EMAIL",
"config": {
"address": " ",
"subscribedComponents": [
" "
]
}
}
],
"autoVerify": false
}
'
```

```
import requests

url = "https://api.checklyhq.com/v3/status-pages/{statusPageId}/subscribers/bulk"

payload = {
"subscriptions": [
{
"type": "EMAIL",
"config": {
"address": " ",
"subscribedComponents": [" "]
}
}
],
"autoVerify": False
}
headers = {
"Authorization": "Bearer ",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
```

```
const options = {
method: 'POST',
headers: {Authorization: 'Bearer ', 'Content-Type': 'application/json'},
body: JSON.stringify({
subscriptions: [
{
type: 'EMAIL',
config: {address: ' ', subscribedComponents: [' ']}
}
],
autoVerify: false
})
};

fetch('https://api.checklyhq.com/v3/status-pages/{statusPageId}/subscribers/bulk', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
```

```
"https://api.checklyhq.com/v3/status-pages/{statusPageId}/subscribers/bulk",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'subscriptions' => [
[
'type' => 'EMAIL',
'config' => [
'address' => ' ',
'subscribedComponents' => [
' '
]
]
]
],
'autoVerify' => false
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer ",
"Content-Type: application/json"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
```

```
package main

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

func main() {

url := "https://api.checklyhq.com/v3/status-pages/{statusPageId}/subscribers/bulk"

payload := strings.NewReader("{\n \"subscriptions\": [\n {\n \"type\": \"EMAIL\",\n \"config\": {\n \"address\": \" \",\n \"subscribedComponents\": [\n \" \"\n ]\n }\n }\n ],\n \"autoVerify\": false\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("Authorization", "Bearer ")
req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
```

```
HttpResponse response = Unirest.post("https://api.checklyhq.com/v3/status-pages/{statusPageId}/subscribers/bulk")
.header("Authorization", "Bearer ")
.header("Content-Type", "application/json")
.body("{\n \"subscriptions\": [\n {\n \"type\": \"EMAIL\",\n \"config\": {\n \"address\": \" \",\n \"subscribedComponents\": [\n \" \"\n ]\n }\n }\n ],\n \"autoVerify\": false\n}")
.asString();
```

```
require 'uri'
require 'net/http'

url = URI("https://api.checklyhq.com/v3/status-pages/{statusPageId}/subscribers/bulk")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer '
request["Content-Type"] = 'application/json'
request.body = "{\n \"subscriptions\": [\n {\n \"type\": \"EMAIL\",\n \"config\": {\n \"address\": \" \",\n \"subscribedComponents\": [\n \" \"\n ]\n }\n }\n ],\n \"autoVerify\": false\n}"

response = http.request(request)
puts response.read_body
```

```
{
"created": 123,
"skipped": 123,
"status": "PENDING"
}
```

```
{
"statusCode": 401,
"error": "Unauthorized",
"message": "Bad Token",
"attributes": {}
}
```

```
{
"statusCode": 403,
"error": "Forbidden",
"message": "Forbidden"
}
```

```
{
"statusCode": 404,
"error": "Not Found",
"message": "Not Found"
}
```

```
{
"statusCode": 429,
"error": "Too Many Requests",
"message": "Too Many Requests",
"attributes": {}
}
```

#### Authorizations

​

Authorization

string

header

required

The Checkly Public API uses API keys to authenticate requests. You can get the API Key [here](https://app.checklyhq.com/settings/user/api-keys).
Your API key is like a password:
keep it secure!

Authentication to the API is performed using the Bearer auth method in the Authorization header and using the account ID.

For example, set Authorization header while using cURL: `curl -H "Authorization: Bearer [apiKey]" "X-Checkly-Account: [accountId]"`

#### Headers

​

x-checkly-account

string

Your Checkly account ID, you can find it at [https://app.checklyhq.com/settings/account/general](https://app.checklyhq.com/settings/account/general)

#### Path Parameters

​

statusPageId

string

required

#### Body

application/json

​

subscriptions

object[]

required

The subscribers to create (max 100). Addresses already subscribed are skipped.

Required array length: `1 - 100` elements

Show child attributes

​

autoVerify

boolean

default: false

Create the subscribers as verified without sending confirmation emails.

#### Response

Created

​

created

integer

required

Subscribers created.

​

skipped

integer

required

Subscribers skipped because the address was already subscribed.

​

status

enum<string>

required

The status the created subscribers got.

Available options: `PENDING`,

`VERIFIED`

Was this page helpful?

[Suggest edits](https://github.com/checkly/docs/edit/main/api-reference/status-pages-v3/subscribe-multiple-email-addresses-to-a-v3-status-page.mdx)[Raise issue](https://github.com/checkly/docs/issues/new?title=Issue%20on%20docs&body=Path:%20/api-reference/status-pages-v3/subscribe-multiple-email-addresses-to-a-v3-status-page)

[List the subscribers of a v3 status page. Previous](https://www.checklyhq.com/docs/api-reference/status-pages-v3/list-the-subscribers-of-a-v3-status-page)[Delete a subscriber of a v3 status page. Next](https://www.checklyhq.com/docs/api-reference/status-pages-v3/delete-a-subscriber-of-a-v3-status-page)

[x](https://x.com/checklyhq)[github](https://github.com/checkly)[linkedin](https://linkedin.com/company/checkly)

[Powered by This documentation is built and hosted on Mintlify, a developer documentation platform](https://www.mintlify.com/?utm_campaign=poweredBy&utm_medium=referral&utm_source=checkly-422f444a)
