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:reachdesk-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: 3.2.0
info:
title: Reachdesk Sends API
version: '1.0'
servers:
- url: https://app.reachdesk.com/api/v2
security:
- sec0: []
tags:
- name: Sends
paths:
/sends?start_date={start_date}&end_date={end_date}:
get:
summary: List Sends
description: Get a list of Sends within your Organization
operationId: list-sends
parameters:
- name: start_date
in: query
description: 'Filter sends from the given date onwards. Format: YYYY-MM-DD (optional)'
schema:
type: string
format: date
- name: end_date
in: query
description: 'Return sends created before the given date. Format: YYYY-MM-DD (optional)'
schema:
type: string
format: date
- name: page
in: query
description: Pagination value
schema:
type: integer
format: int32
default: 1
- name: per_page
in: query
description: number of results per page
schema:
type: integer
format: int32
default: 25
- name: start_updated_date
in: query
description: 'Filter sends from first update date (depends on end_updated_date). Format: YYYY-MM-DD (optional)'
schema:
type: string
format: date
- name: end_updated_date
in: query
description: 'Filter sends from the last update date (Depends on start_updated_date). Format: YYYY-MM-DD (optional)'
schema:
type: string
format: date
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"data\": [\n \n {\n \"id\": 4,\n \"type\": \"bundle\",\n \"email\": \"uilton.jose@gmail.com\",\n \"status\": \"pending\",\n \"latest_action\": null,\n \"processed_at\": null,\n \"created_at\": \"2025-08-06T16:56:11.364Z\",\n \"gift_name\": null,\n \"send_updated_date\": \"2025-08-06T16:56:11.364Z\",\n \"campaign\": {\n \"id\": 12,\n \"name\": \"Badjurance\"\n },\n \"cost\": {\n \"amount\": 3.73,\n \"original_amount\": 3.0,\n \"currency\": \"USD\",\n \"original_currency\": \"GBP\",\n \"display\": \"3.73 USD\",\n \"original_display\": \"3.00 GBP\",\n \"state\": \"estimated\"\n },\n \"team_name\": null,\n \"order\": {\n \"id\": 123,\n \"order_number\": \"1234567890\",\n \"status\": 350,\n \"shipped_at\": \"2025-12-22T11:38:20.944Z\",\n \"tracking_code\": \"1234567890\",\n \"tracking_url\": \"https://www.google.com\",\n \"shipment\": {\n \"id\": 123,\n \"provider_id\": 123,\n \"provider_sub_status_message\": \"Sub status message\",\n \"courier\": \"courier\",\n \"tracking_number\": \"1234567890\",\n \"tracking_url\": \"https://www.google.com\"\n }\n },\n \"total_items_cost\": 100.0,\n \"engage_items\": [\n {\n \"name\": \"My Cuppa\",\n \"quantity\": 1\n },\n {\n \"name\": \"Chocolate box\",\n \"quantity\": 1\n }\n ]\n }\n ],\n \"pagination\": {\n \"page\": 1,\n \"per_page\": 25,\n \"total_pages\": 1,\n \"total_records\": 4\n }\n}"
schema:
type: object
properties:
data:
type: array
items:
type: object
properties:
id:
type: integer
example: 4
default: 0
type:
type: string
example: bundle
email:
type: string
example: uilton.jose@gmail.com
status:
type: string
example: pending
latest_action: {}
processed_at: {}
created_at:
type: string
example: '2025-08-06T16:56:11.364Z'
gift_name: {}
send_updated_date:
type: string
example: '2025-08-06T16:56:11.364Z'
campaign:
type: object
properties:
id:
type: integer
example: 12
default: 0
name:
type: string
example: Badjurance
cost:
type: object
properties:
amount:
type: number
example: 3.73
default: 0
original_amount:
type: integer
example: 3
default: 0
currency:
type: string
example: USD
original_currency:
type: string
example: GBP
display:
type: string
example: 3.73 USD
original_display:
type: string
example: 3.00 GBP
state:
type: string
example: estimated
team_name: {}
order:
type: object
properties:
id:
type: integer
example: 123
default: 0
order_number:
type: string
example: '1234567890'
status:
type: integer
example: 350
default: 0
shipped_at:
type: string
example: '2025-12-22T11:38:20.944Z'
tracking_code:
type: string
example: '1234567890'
tracking_url:
type: string
example: https://www.google.com
shipment:
type: object
properties:
id:
type: integer
example: 123
default: 0
provider_id:
type: integer
example: 123
default: 0
provider_sub_status_message:
type: string
example: Sub status message
courier:
type: string
example: courier
tracking_number:
type: string
example: '1234567890'
tracking_url:
type: string
example: https://www.google.com
total_items_cost:
type: integer
example: 100
default: 0
engage_items:
type: array
items:
type: object
properties:
name:
type: string
example: My Cuppa
quantity:
type: integer
example: 1
default: 0
pagination:
type: object
properties:
page:
type: integer
example: 1
default: 0
per_page:
type: integer
example: 25
default: 0
total_pages:
type: integer
example: 1
default: 0
total_records:
type: integer
example: 4
default: 0
'400':
description: '400'
content:
application/json:
examples:
Result:
value: '{}'
schema:
type: object
properties: {}
'401':
description: '401'
content:
text/plain:
examples:
Result:
value: ''
deprecated: false
tags:
- Sends
/sends/{id}:
get:
summary: Get Send
description: Retrieves a single send
operationId: get-send
parameters:
- name: id
in: path
description: Unique identifier of the send
schema:
type: integer
format: int32
required: true
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"data\": {\n \"id\": 12345,\n \"type\": \"bundle\",\n \"email\": \"recipient@example.com\",\n \"status\": \"processed\",\n \"latest_action\": null,\n \"processed_at\": \"2024-03-03T12:35:00.000Z\",\n \"created_at\": \"2024-03-01T09:00:00.000Z\",\n \"send_updated_date\": \"2024-03-03T12:35:00.000Z\",\n \"gift_name\": null,\n \"campaign\": {\n \"id\": 678,\n \"name\": \"Q1 Prospecting\"\n },\n \"cost\": {\n \"amount\": 6.5,\n \"original_amount\": 6.5,\n \"currency\": \"GBP\",\n \"original_currency\": \"GBP\",\n \"display\": \"6.50 GBP\",\n \"original_display\": \"6.50 GBP\",\n \"state\": \"processed\"\n },\n \"team_name\": null,\n \"order\": {\n \"id\": 987,\n \"order_number\": \"RD-000987\",\n \"tracking_code\": \"1234\",\n \"tracking_url\": \"https://shipments.reachdesk.com/1234\",\n \"status\": 350,\n \"shipped_at\": \"2024-03-02T10:05:00.000Z\",\n \"shipment\": {\n \"id\": 456,\n \"provider_id\": \"prov_123\",\n \"provider_sub_status_message\": \"In transit\",\n \"courier\": \"dhl\",\n \"tracking_number\": \"1234\",\n \"tracking_url\": \"https://shipments.reachdesk.com/1234\"\n }\n },\n \"total_items_cost\": \"70.0\",\n \"engage_items\": [\n {\n \"name\": \"Branded Hoodie\",\n \"quantity\": 1\n },\n {\n \"name\": \"Reusable Bottle\",\n \"quantity\": 7\n }\n ]\n }\n}"
schema:
type: object
properties:
data:
type: object
properties:
id:
type: integer
example: 12345
default: 0
type:
type: string
example: bundle
email:
type: string
example: recipient@example.com
status:
type: string
example: processed
latest_action: {}
processed_at:
type: string
example: '2024-03-03T12:35:00.000Z'
created_at:
type: string
example: '2024-03-01T09:00:00.000Z'
send_updated_date:
type: string
example: '2024-03-03T12:35:00.000Z'
gift_name: {}
campaign:
type: object
properties:
id:
type: integer
example: 678
default: 0
name:
type: string
example: Q1 Prospecting
cost:
type: object
properties:
amount:
type: number
example: 6.5
default: 0
original_amount:
type: number
example: 6.5
default: 0
currency:
type: string
example: GBP
original_currency:
type: string
example: GBP
display:
type: string
example: 6.50 GBP
original_display:
type: string
example: 6.50 GBP
state:
type: string
example: processed
team_name: {}
order:
type: object
properties:
id:
type: integer
example: 987
default: 0
order_number:
type: string
example: RD-000987
tracking_code:
type: string
example: '1234'
tracking_url:
type: string
example: https://shipments.reachdesk.com/1234
status:
type: integer
example: 350
default: 0
shipped_at:
type: string
example: '2024-03-02T10:05:00.000Z'
shipment:
type: object
properties:
id:
type: integer
example: 456
default: 0
provider_id:
type: string
example: prov_123
provider_sub_status_message:
type: string
example: In transit
courier:
type: string
example: dhl
tracking_number:
type: string
example: '1234'
tracking_url:
type: string
example: https://shipments.reachdesk.com/1234
total_items_cost:
type: string
example: '70.0'
engage_items:
type: array
items:
type: object
properties:
name:
type: string
example: Branded Hoodie
quantity:
type: integer
example: 1
default: 0
'401':
description: '401'
content:
application/json:
examples:
Result:
value: ''
'404':
description: '404'
content:
application/json:
examples:
Result:
value: "{\n \"error\": \"Send not found\"\n}"
schema:
type: object
properties:
error:
type: string
example: Send not found
deprecated: false
x-readme:
code-samples:
- language: curl
code: "curl --request GET \\\n --url https://app.reachdesk.com/api/v2/sends/12345 \\\n --header 'Authorization: Bearer <YOUR_API_TOKEN>' \\\n --header 'Accept: application/json'"
samples-languages:
- curl
tags:
- 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