---
updatedAt: 2026-09-26T02:51:07.000Z
agentTools:
  projectIndex: https://developers.dialpad.com/llms.txt
---

# Bulk Message -- Send

Sends a bulk message to multiple recipients (up to 50).

This endpoint allows you to send the same message to multiple phone numbers. All existing logic (including spam checks, delivery behavior, and visibility in the Bulk Messages UI tab) will remain the same for API-triggered sends.

**Important**: Message sending is asynchronous. This endpoint creates the bulk message batch and returns immediately with success=True, indicating the batch was created successfully. Individual messages are sent in the background. To check the delivery status of individual recipients, use the GET /message/bulk/{id} endpoint to retrieve the batch with delivery status information (attempted_send, error_message, delivery_status fields per recipient).

Rate limit: 1200 per minute.

# OpenAPI definition

```json
{
  "components": {
    "schemas": {
      "protos.bulk_message.BulkMessageProto": {
        "properties": {
          "bulk_message_id": {
            "description": "The unique ID of the bulk message batch.",
            "type": [
              "null",
              "string"
            ]
          },
          "classified_spam": {
            "default": false,
            "description": "Whether the message was classified as spam and blocked from sending.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "created_date": {
            "description": "Unix timestamp when the bulk message was created.",
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "from_number": {
            "description": "The phone number used as sender.",
            "type": [
              "null",
              "string"
            ]
          },
          "media": {
            "description": "Base64-encoded media attachment (if MMS, max 500 KiB raw file size).",
            "format": "byte",
            "type": [
              "null",
              "string"
            ]
          },
          "num_recipients": {
            "description": "Total number of recipients.",
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "recipients": {
            "description": "List of recipients and their delivery status.",
            "items": {
              "$ref": "#/components/schemas/protos.bulk_message.BulkMessageRecipient",
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "sms_has_errors": {
            "default": false,
            "description": "Whether any of the SMS sends encountered errors.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "status": {
            "description": "The overall status of the bulk message batch.",
            "enum": [
              "complete",
              "pending",
              null
            ],
            "type": [
              "null",
              "string"
            ]
          },
          "text": {
            "description": "The message text content.",
            "type": "string"
          },
          "title": {
            "description": "Optional title for the bulk message batch.",
            "type": [
              "null",
              "string"
            ]
          },
          "user_id": {
            "description": "The ID of the user who created the bulk message.",
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "text"
        ],
        "title": "Bulk message representation.",
        "type": "object"
      },
      "protos.bulk_message.BulkMessageRecipient": {
        "properties": {
          "attempted_send": {
            "default": false,
            "description": "Whether a send attempt has been made for this recipient.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "delivery_error_code": {
            "description": "Delivery error code if delivery failed. Only available for external contacts (non-Dialpad numbers)",
            "type": [
              "null",
              "string"
            ]
          },
          "delivery_error_details": {
            "description": "Delivery error details if delivery failed. Only available for external contacts (non-Dialpad numbers)",
            "type": [
              "null",
              "string"
            ]
          },
          "delivery_method": {
            "description": "Delivery method: 'internal' for Dialpad-to-Dialpad messages, \n'sms' or 'mms' for external carrier messages.",
            "type": [
              "null",
              "string"
            ]
          },
          "delivery_status": {
            "description": "Carrier delivery receipt status (pending, sent, delivered, failed, undelivered, unknown). Only available for external contacts (non-Dialpad numbers).",
            "type": [
              "null",
              "string"
            ]
          },
          "delivery_status_timestamp": {
            "description": "Unix timestamp when the delivery status was last updated. Only available for external contacts (non-Dialpad numbers).",
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "display_name": {
            "description": "The recipient's display name.",
            "type": [
              "null",
              "string"
            ]
          },
          "error_message": {
            "description": "Error message if the send attempt failed.",
            "type": [
              "null",
              "string"
            ]
          },
          "phone_number": {
            "description": "The recipient's phone number in E.164 format.",
            "type": [
              "null",
              "string"
            ]
          }
        },
        "title": "Recipient information for a bulk message.",
        "type": "object"
      },
      "protos.bulk_message.SendBulkMessageRequest": {
        "properties": {
          "from_number": {
            "description": "The phone number to use as sender (must belong to the user and be A2P-registered).",
            "type": "string"
          },
          "media": {
            "description": "Base64-encoded media attachment for MMS (images/videos, max 500 KiB raw file size).",
            "format": "byte",
            "type": [
              "null",
              "string"
            ]
          },
          "text": {
            "description": "The message text content (required).",
            "type": "string"
          },
          "title": {
            "description": "Optional title for the bulk message batch.",
            "type": [
              "null",
              "string"
            ]
          },
          "to_numbers": {
            "description": "List of phone numbers in E.164 format (max 50).",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "user_id": {
            "description": "The ID of the user who should be the sender. Defaults to authenticated user.",
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "from_number",
          "text",
          "to_numbers"
        ],
        "title": "Request to send a bulk message.",
        "type": "object"
      },
      "protos.bulk_message.SendBulkMessageResponse": {
        "properties": {
          "bulk_message": {
            "$ref": "#/components/schemas/protos.bulk_message.BulkMessageProto",
            "description": "The created bulk message batch.",
            "type": [
              "null",
              "object"
            ]
          },
          "message": {
            "description": "Status message.",
            "type": [
              "null",
              "string"
            ]
          },
          "success": {
            "default": true,
            "description": "Whether the operation was successful.",
            "type": [
              "boolean",
              "null"
            ]
          }
        },
        "title": "Response after sending a bulk message.",
        "type": "object"
      }
    },
    "securitySchemes": {
      "bearer_token": {
        "description": "The API key can be put in the Authorization header.\ni.e. Authorization: Bearer <api_key>",
        "scheme": "bearer",
        "type": "http"
      }
    }
  },
  "info": {
    "description": "Dialpad's APIs for customer and third-party developer use",
    "title": "Dialpad",
    "version": "v2",
    "x-logo": {
      "altText": "Dialpad",
      "url": "https://storage.googleapis.com/dialpad_openapi_specs/logo.png"
    }
  },
  "openapi": "3.1.0",
  "paths": {
    "/api/v2/message/bulk": {
      "post": {
        "deprecated": false,
        "description": "Sends a bulk message to multiple recipients (up to 50).\n\nThis endpoint allows you to send the same message to multiple phone numbers. All existing logic (including spam checks, delivery behavior, and visibility in the Bulk Messages UI tab) will remain the same for API-triggered sends.\n\n**Important**: Message sending is asynchronous. This endpoint creates the bulk message batch and returns immediately with success=True, indicating the batch was created successfully. Individual messages are sent in the background. To check the delivery status of individual recipients, use the GET /message/bulk/{id} endpoint to retrieve the batch with delivery status information (attempted_send, error_message, delivery_status fields per recipient).\n\nRate limit: 1200 per minute.",
        "operationId": "bulk_messages.send",
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/protos.bulk_message.SendBulkMessageRequest",
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/protos.bulk_message.SendBulkMessageResponse"
                }
              }
            },
            "description": "A successful response"
          }
        },
        "summary": "Bulk Message -- Send",
        "tags": [
          "message"
        ],
        "x-access": [
          "user"
        ],
        "x-ratelimit": [
          [
            20,
            1
          ]
        ]
      }
    }
  },
  "servers": [
    {
      "url": "https://dialpad.com"
    },
    {
      "url": "https://sandbox.dialpad.com"
    }
  ],
  "security": [
    {
      "bearer_token": []
    }
  ],
  "x-readme": {
    "apply-tag-changes": true,
    "explorer-enabled": true,
    "proxy-enabled": false
  }
}
```