Send to new recipients
curl --request POST \
--url https://attend.hackclub.com/api/v1/events/{event_id}/messages/{id}/send_to_new_recipients \
--header 'Authorization: Bearer <token>'import requests
url = "https://attend.hackclub.com/api/v1/events/{event_id}/messages/{id}/send_to_new_recipients"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://attend.hackclub.com/api/v1/events/{event_id}/messages/{id}/send_to_new_recipients', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://attend.hackclub.com/api/v1/events/{event_id}/messages/{id}/send_to_new_recipients",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://attend.hackclub.com/api/v1/events/{event_id}/messages/{id}/send_to_new_recipients"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://attend.hackclub.com/api/v1/events/{event_id}/messages/{id}/send_to_new_recipients")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://attend.hackclub.com/api/v1/events/{event_id}/messages/{id}/send_to_new_recipients")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"message": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"subject": "<string>",
"status": "draft",
"audience": "confirmed_attendees",
"audience_label": "Confirmed Attendees",
"channels": [
"slack"
],
"recipient_count": 123,
"sent_count": 123,
"failed_count": 123,
"scheduled_at": "2023-11-07T05:31:56Z",
"sent_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"sent_by": "<string>",
"preview_text": "<string>",
"body": "<string>",
"body_html": "<string>",
"participant_event_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"group_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"opened_count": 123,
"pending_count": 123,
"new_recipient_count": 123,
"recipients": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"kind": "attendee",
"catch_up": true,
"deliveries": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"channel": "slack",
"status": "pending",
"recipient_identifier": "<string>",
"error_message": "<string>",
"delivered_at": "2023-11-07T05:31:56Z",
"read_at": "2023-11-07T05:31:56Z"
}
]
}
],
"permissions": {
"edit": true,
"send_now": true,
"destroy": true,
"cancel": true,
"retry_failed": true,
"send_to_new_recipients": true
}
},
"notice": "<string>"
}{
"error": "Unauthorized"
}{
"error": "Unauthorized"
}{
"error": "Unauthorized"
}{
"error": "Unauthorized"
}Messages
Send to new recipients
Sends an already-sent message to everyone who has joined its audience since, as catch-up deliveries. new_recipient_count on the message says how many that would be. Only for a message that has finished sending (completed or failed); a match of nobody new is a 200 with a notice saying so.
POST
/
events
/
{event_id}
/
messages
/
{id}
/
send_to_new_recipients
Send to new recipients
curl --request POST \
--url https://attend.hackclub.com/api/v1/events/{event_id}/messages/{id}/send_to_new_recipients \
--header 'Authorization: Bearer <token>'import requests
url = "https://attend.hackclub.com/api/v1/events/{event_id}/messages/{id}/send_to_new_recipients"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://attend.hackclub.com/api/v1/events/{event_id}/messages/{id}/send_to_new_recipients', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://attend.hackclub.com/api/v1/events/{event_id}/messages/{id}/send_to_new_recipients",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://attend.hackclub.com/api/v1/events/{event_id}/messages/{id}/send_to_new_recipients"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://attend.hackclub.com/api/v1/events/{event_id}/messages/{id}/send_to_new_recipients")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://attend.hackclub.com/api/v1/events/{event_id}/messages/{id}/send_to_new_recipients")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"message": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"subject": "<string>",
"status": "draft",
"audience": "confirmed_attendees",
"audience_label": "Confirmed Attendees",
"channels": [
"slack"
],
"recipient_count": 123,
"sent_count": 123,
"failed_count": 123,
"scheduled_at": "2023-11-07T05:31:56Z",
"sent_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"sent_by": "<string>",
"preview_text": "<string>",
"body": "<string>",
"body_html": "<string>",
"participant_event_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"group_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"opened_count": 123,
"pending_count": 123,
"new_recipient_count": 123,
"recipients": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"kind": "attendee",
"catch_up": true,
"deliveries": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"channel": "slack",
"status": "pending",
"recipient_identifier": "<string>",
"error_message": "<string>",
"delivered_at": "2023-11-07T05:31:56Z",
"read_at": "2023-11-07T05:31:56Z"
}
]
}
],
"permissions": {
"edit": true,
"send_now": true,
"destroy": true,
"cancel": true,
"retry_failed": true,
"send_to_new_recipients": true
}
},
"notice": "<string>"
}{
"error": "Unauthorized"
}{
"error": "Unauthorized"
}{
"error": "Unauthorized"
}{
"error": "Unauthorized"
}Authorizations
Mobile token, global API token, series API key, or event API key. See Authentication above for which endpoints each one reaches.
Path Parameters
Event id or slug.
The message id. Must belong to the event in the path.
Was this page helpful?