curl -X GET "https://api.mindosoftware.com/api/v1/meta-templates/bulk-sends/a3f2b8c9-4d5e-6f7a-8b9c-0d1e2f3a4b5c/messages/?status=delivered&page=1&page_size=20" \
-H "X-API-Key: mindo_xxxxxxxxxxxxxxxxxxxxxxxx"
import requests
bulk_send_id = "a3f2b8c9-4d5e-6f7a-8b9c-0d1e2f3a4b5c"
response = requests.get(
f"https://api.mindosoftware.com/api/v1/meta-templates/bulk-sends/{bulk_send_id}/messages/",
headers={"X-API-Key": "mindo_xxxxxxxxxxxxxxxxxxxxxxxx"},
params={"status": "delivered", "page": 1, "page_size": 20}
)
data = response.json()
print(f"Total messages: {data['count']}")
for msg in data["results"]:
print(f" {msg['recipient_phone']}: {msg['status']}")
const bulkSendId = "a3f2b8c9-4d5e-6f7a-8b9c-0d1e2f3a4b5c";
const params = new URLSearchParams({
status: "delivered",
page: "1",
page_size: "20"
});
const response = await fetch(
`https://api.mindosoftware.com/api/v1/meta-templates/bulk-sends/${bulkSendId}/messages/?${params}`,
{
headers: { "X-API-Key": "mindo_xxxxxxxxxxxxxxxxxxxxxxxx" }
}
);
const data = await response.json();
console.log(`Total messages: ${data.count}`);
data.results.forEach(msg => {
console.log(` ${msg.recipient_phone}: ${msg.status}`);
});
{
"count": 3,
"next": null,
"previous": null,
"results": [
{
"id": 1001,
"recipient_phone": "+5491112345678",
"status": "delivered",
"meta_message_id": "wamid.HBgLNTU0MTE2NzU0Nzg1FQIAERgS...",
"variables_used": {
"name": "Juan Perez",
"code": "ABC123"
},
"sent_at": "2025-11-16T21:30:10Z",
"delivered_at": "2025-11-16T21:30:15Z",
"read_at": null,
"error_message": null
},
{
"id": 1002,
"recipient_phone": "+5491187654321",
"status": "read",
"meta_message_id": "wamid.HBgLNTU0MTE2NzU0Nzg1FQIAERgT...",
"variables_used": {
"name": "Maria Garcia",
"code": "DEF456"
},
"sent_at": "2025-11-16T21:30:18Z",
"delivered_at": "2025-11-16T21:30:23Z",
"read_at": "2025-11-16T21:30:30Z",
"error_message": null
},
{
"id": 1003,
"recipient_phone": "+5491199887766",
"status": "sent",
"meta_message_id": "wamid.HBgLNTU0MTE2NzU0Nzg1FQIAERgU...",
"variables_used": {
"name": "Carlos Lopez",
"code": "GHI789"
},
"sent_at": "2025-11-16T21:30:26Z",
"delivered_at": null,
"read_at": null,
"error_message": null
}
]
}
{
"detail": "Not found."
}
{
"error": "Este endpoint requiere autenticacion con API Key (header X-API-Key)"
}
Bulk sending
Send messages
List individual messages of a bulk send
GET
/
api
/
v1
/
meta-templates
/
bulk-sends
/
{bulk_send_id}
/
messages
/
curl -X GET "https://api.mindosoftware.com/api/v1/meta-templates/bulk-sends/a3f2b8c9-4d5e-6f7a-8b9c-0d1e2f3a4b5c/messages/?status=delivered&page=1&page_size=20" \
-H "X-API-Key: mindo_xxxxxxxxxxxxxxxxxxxxxxxx"
import requests
bulk_send_id = "a3f2b8c9-4d5e-6f7a-8b9c-0d1e2f3a4b5c"
response = requests.get(
f"https://api.mindosoftware.com/api/v1/meta-templates/bulk-sends/{bulk_send_id}/messages/",
headers={"X-API-Key": "mindo_xxxxxxxxxxxxxxxxxxxxxxxx"},
params={"status": "delivered", "page": 1, "page_size": 20}
)
data = response.json()
print(f"Total messages: {data['count']}")
for msg in data["results"]:
print(f" {msg['recipient_phone']}: {msg['status']}")
const bulkSendId = "a3f2b8c9-4d5e-6f7a-8b9c-0d1e2f3a4b5c";
const params = new URLSearchParams({
status: "delivered",
page: "1",
page_size: "20"
});
const response = await fetch(
`https://api.mindosoftware.com/api/v1/meta-templates/bulk-sends/${bulkSendId}/messages/?${params}`,
{
headers: { "X-API-Key": "mindo_xxxxxxxxxxxxxxxxxxxxxxxx" }
}
);
const data = await response.json();
console.log(`Total messages: ${data.count}`);
data.results.forEach(msg => {
console.log(` ${msg.recipient_phone}: ${msg.status}`);
});
{
"count": 3,
"next": null,
"previous": null,
"results": [
{
"id": 1001,
"recipient_phone": "+5491112345678",
"status": "delivered",
"meta_message_id": "wamid.HBgLNTU0MTE2NzU0Nzg1FQIAERgS...",
"variables_used": {
"name": "Juan Perez",
"code": "ABC123"
},
"sent_at": "2025-11-16T21:30:10Z",
"delivered_at": "2025-11-16T21:30:15Z",
"read_at": null,
"error_message": null
},
{
"id": 1002,
"recipient_phone": "+5491187654321",
"status": "read",
"meta_message_id": "wamid.HBgLNTU0MTE2NzU0Nzg1FQIAERgT...",
"variables_used": {
"name": "Maria Garcia",
"code": "DEF456"
},
"sent_at": "2025-11-16T21:30:18Z",
"delivered_at": "2025-11-16T21:30:23Z",
"read_at": "2025-11-16T21:30:30Z",
"error_message": null
},
{
"id": 1003,
"recipient_phone": "+5491199887766",
"status": "sent",
"meta_message_id": "wamid.HBgLNTU0MTE2NzU0Nzg1FQIAERgU...",
"variables_used": {
"name": "Carlos Lopez",
"code": "GHI789"
},
"sent_at": "2025-11-16T21:30:26Z",
"delivered_at": null,
"read_at": null,
"error_message": null
}
]
}
{
"detail": "Not found."
}
{
"error": "Este endpoint requiere autenticacion con API Key (header X-API-Key)"
}
Description
Returns a paginated list of individual messages from a bulk send. Allows filtering by status to quickly identify failed, delivered, or read messages.Authentication header
string
required
Your Mindo API Key. Format:
mindo_xxxxxxxxxxxxxxxxxxxxxxxxPath parameters
Query parameters
string
Filter by message status. Possible values:
sent, delivered, read, failed.integer
Page number. Default:
1.integer
Results per page. Default:
20.Response
integer
Total messages matching the filters.
string | null
URL of the next page of results.
null if it’s the last page.string | null
URL of the previous page.
null if it’s the first page.array
List of individual messages.
Show Properties of each message
Show Properties of each message
integer
Message ID.
string
Recipient’s phone number.
string
Current message status. See status table.
string
Message ID in Meta/WhatsApp.
object
Variables used for this recipient.
string (ISO 8601)
Date and time when the message was sent.
string (ISO 8601) | null
Delivery date and time.
null if not yet delivered.string (ISO 8601) | null
Read date and time.
null if not yet read.string | null
Error message if the send failed.
null if there was no error.curl -X GET "https://api.mindosoftware.com/api/v1/meta-templates/bulk-sends/a3f2b8c9-4d5e-6f7a-8b9c-0d1e2f3a4b5c/messages/?status=delivered&page=1&page_size=20" \
-H "X-API-Key: mindo_xxxxxxxxxxxxxxxxxxxxxxxx"
import requests
bulk_send_id = "a3f2b8c9-4d5e-6f7a-8b9c-0d1e2f3a4b5c"
response = requests.get(
f"https://api.mindosoftware.com/api/v1/meta-templates/bulk-sends/{bulk_send_id}/messages/",
headers={"X-API-Key": "mindo_xxxxxxxxxxxxxxxxxxxxxxxx"},
params={"status": "delivered", "page": 1, "page_size": 20}
)
data = response.json()
print(f"Total messages: {data['count']}")
for msg in data["results"]:
print(f" {msg['recipient_phone']}: {msg['status']}")
const bulkSendId = "a3f2b8c9-4d5e-6f7a-8b9c-0d1e2f3a4b5c";
const params = new URLSearchParams({
status: "delivered",
page: "1",
page_size: "20"
});
const response = await fetch(
`https://api.mindosoftware.com/api/v1/meta-templates/bulk-sends/${bulkSendId}/messages/?${params}`,
{
headers: { "X-API-Key": "mindo_xxxxxxxxxxxxxxxxxxxxxxxx" }
}
);
const data = await response.json();
console.log(`Total messages: ${data.count}`);
data.results.forEach(msg => {
console.log(` ${msg.recipient_phone}: ${msg.status}`);
});
{
"count": 3,
"next": null,
"previous": null,
"results": [
{
"id": 1001,
"recipient_phone": "+5491112345678",
"status": "delivered",
"meta_message_id": "wamid.HBgLNTU0MTE2NzU0Nzg1FQIAERgS...",
"variables_used": {
"name": "Juan Perez",
"code": "ABC123"
},
"sent_at": "2025-11-16T21:30:10Z",
"delivered_at": "2025-11-16T21:30:15Z",
"read_at": null,
"error_message": null
},
{
"id": 1002,
"recipient_phone": "+5491187654321",
"status": "read",
"meta_message_id": "wamid.HBgLNTU0MTE2NzU0Nzg1FQIAERgT...",
"variables_used": {
"name": "Maria Garcia",
"code": "DEF456"
},
"sent_at": "2025-11-16T21:30:18Z",
"delivered_at": "2025-11-16T21:30:23Z",
"read_at": "2025-11-16T21:30:30Z",
"error_message": null
},
{
"id": 1003,
"recipient_phone": "+5491199887766",
"status": "sent",
"meta_message_id": "wamid.HBgLNTU0MTE2NzU0Nzg1FQIAERgU...",
"variables_used": {
"name": "Carlos Lopez",
"code": "GHI789"
},
"sent_at": "2025-11-16T21:30:26Z",
"delivered_at": null,
"read_at": null,
"error_message": null
}
]
}
{
"detail": "Not found."
}
{
"error": "Este endpoint requiere autenticacion con API Key (header X-API-Key)"
}
Message statuses
| Status | Description |
|---|---|
sent | Message sent to the Meta API |
delivered | Message delivered to the recipient |
read | Message read by the recipient |
failed | Send error |
Statuses are automatically updated via Meta webhooks. The status progresses from
sent → delivered → read. If the send fails, the status will be failed and the error_message field will contain the error description.
