Reachdesk Bulk Sends API

The Bulk Sends API from Reachdesk — 1 operation(s) for bulk sends.

Operations 1

POST /bulk_sends Bulk Send #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/reachdesk-bulk-sends-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

reachdesk-bulk-sends-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Reachdesk Bulk Sends API
  version: '1.0'
servers:
- url: https://app.reachdesk.com/api/v2
security:
- sec0: []
tags:
- name: Bulk Sends
paths:
  /bulk_sends:
    post:
      summary: Bulk Send
      description: 'Trigger a gift send from a campaign to many recipients in a single request.  This is the bulk counterpart to Trigger Campaign. Instead of one recipient per call, you send a list of recipients and the request is processed asynchronously: the endpoint responds immediately with a bulk send `id`, and the individual gifts are created in the background. As with the single trigger, each gift is built from the campaign''s own configuration — you don''t send the gift-card amount, bundle items, note template, or marketplace product. You only provide the recipients and the sender; everything else comes from the campaign. It works for every campaign type (gift card, note, bundle, marketplace).'
      operationId: bulk-create
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - request_id
              - campaign_id
              - sender
              - recipients
              properties:
                request_id:
                  type: string
                  description: Random uniquely identifier generated for each request
                campaign_id:
                  type: integer
                  description: ID of the campaign to send from
                  format: int32
                sender:
                  type: string
                  description: Email of the platform user the send is made on behalf of. Must be a user in your organization with access to the campaign.
                recipients:
                  type: object
                  description: The recipients to send to. Max 5000 per request.
                  properties:
                    provider:
                      type: string
                      description: Source of the contact (optional)
                      enum:
                      - salesforce
                      - msdynamics
                      - hubspotcrm
                      - salesloft
                      - influitive
                      - marketo
                      - hibob
                      - outreach
                    provider_contact_id:
                      type: string
                      description: ID of the contact in the source system (optional)
                    provider_contact_type:
                      type: string
                      description: Type of contact in the source system (optional)
                      enum:
                      - contact
                      - lead
                      - employee
                    first_name:
                      type: string
                      description: First name of the recipient
                    last_name:
                      type: string
                      description: Last name of the recipient
                    email:
                      type: string
                      description: Email of the recipient
                    company_name:
                      type: string
                      description: Name of the recipient's company
                    street_address_1:
                      type: string
                      description: First line of the recipient's address (only used in physical sends)
                    street_address_2:
                      type: string
                      description: Second line of the recipient's address (only used in physical sends)
                    city:
                      type: string
                      description: Recipient's city
                    state:
                      type: string
                      description: Recipient's state
                    zipcode:
                      type: string
                      description: Recipient's zipcode/post code
                    country:
                      type: string
                      description: Recipient's 2-letter country code (ISO 3166), e.g. US
                    phone_number:
                      type: string
                      description: Recipient's phone number
                    role:
                      type: string
                      description: Recipient's role
                    tax_id:
                      type: string
                      description: Recipient's Tax Id
                payment_currency:
                  type: string
                  description: Currency used to pay for the sends. Applied to every recipient unless overridden per recipient.
                  enum:
                  - AUD
                  - CAD
                  - DKK
                  - EUR
                  - GBP
                  - INR
                  - NOK
                  - SEK
                  - USD
                payment_wallet_type:
                  type: string
                  description: Which wallet pays for the sends
                  default: User
                  enum:
                  - User
                  - Team
                team_name:
                  type: string
                  description: Team whose wallet to use when payment_wallet_type is Team.
                send_method:
                  type: string
                  description: email sends the gift by email; link creates a claim link instead.
                  default: email
                  enum:
                  - email
                  - link
                confirm_address:
                  type: boolean
                  description: Whether to send an address-confirmation email before shipping. When omitted, the campaign's own setting is used.
                packaging_notes:
                  type: string
                  description: Packaging notes for the send.
                bundle_handwritten_note:
                  type: string
                  description: Text for the handwritten note (bundle campaigns only).
                custom_attributes:
                  type: array
                  description: Custom attributes applied to the gift notes/emails.
                  items:
                    properties:
                      name:
                        type: string
                        description: Name of the custom attribute
                      value:
                        type: string
                        description: Value for the custom attribute
                    required:
                    - name
                    - value
                    type: object
      responses:
        '202':
          description: '202'
          content:
            application/json:
              examples:
                Result:
                  value: "{\n  \"id\": 98123\n}"
              schema:
                type: object
                properties:
                  id:
                    type: integer
                    example: 98123
                    default: 0
        '400':
          description: '400'
          content:
            application/json:
              examples:
                Result:
                  value: "{\n  \"message\": \"Parameter \\\"send_method\\\" must be \\\"link\\\" or \\\"email\\\"\"\n}"
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Parameter "send_method" must be "link" or "email"
        '401':
          description: '401'
          content:
            text/plain:
              examples:
                Result:
                  value: ''
        '404':
          description: '404'
          content:
            text/plain:
              examples:
                Result:
                  value: "{\n  \"message\": \"This campaign does not exist\"\n}"
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: This campaign does not exist
        '422':
          description: '422'
          content:
            text/plain:
              examples:
                Result:
                  value: "{\n  \"message\": \"This campaign is not active\"\n}"
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: This campaign is not active
      deprecated: false
      x-readme:
        code-samples:
        - language: curl
          code: "curl --request POST \\\n  --url https://app.reachdesk.com/api/v2/bulk_sends \\\n  --header 'Authorization: Bearer <YOUR_API_TOKEN>' \\\n  --header 'Content-Type: application/json' \\\n  --data '{\n    \"request_id\": \"0e6f1a4c-2d1b-4d0e-9a9e-3d3b0a1c2f5e\",\n    \"campaign_id\": 12345,\n    \"sender\": \"rep@your-company.com\",\n    \"payment_currency\": \"GBP\",\n    \"payment_wallet_type\": \"User\",\n    \"send_method\": \"email\",\n    \"recipients\": [\n      {\n        \"first_name\": \"Ana\",\n        \"last_name\": \"Silva\",\n        \"email\": \"ana@acme.com\",\n        \"company_name\": \"Acme\",\n        \"street_address_1\": \"45 Rockefeller Plaza\",\n        \"city\": \"New York\",\n        \"state\": \"NY\",\n        \"zipcode\": \"10111\",\n        \"country\": \"US\"\n      },\n      {\n        \"first_name\": \"Rui\",\n        \"last_name\": \"Costa\",\n        \"email\": \"rui@acme.com\",\n        \"sender\": \"other-rep@your-company.com\"\n      }\n    ]\n  }'"
        samples-languages:
        - curl
      tags:
      - Bulk Sends
components:
  securitySchemes:
    sec0:
      type: apiKey
      name: Authorization
      in: header
      x-bearer-format: bearer
x-readme:
  headers: []
  explorer-enabled: true
  proxy-enabled: true
x-readme-fauxas: true