---
title: "Get send history · Invoices · COUNT Partner API"
description: "Returns email send history and public-view analytics for an invoice, estimate, or credit memo. GET /partners/invoices/{uuid}/send-history"
canonical: "https://developers.getcount.com/reference/invoices/get-invoice-send-history"
source: "https://developers.getcount.com/reference/invoices/get-invoice-send-history"
---
[Invoices](https://developers.getcount.com/reference/invoices) / Get send history

# Get send history

GET `/partners/invoices/{uuid}/send-history`

Returns email send history and public-view analytics for an invoice, estimate, or credit memo.

Queued in-flight send stubs are excluded from the `sends` array. Rows with `deliveryStatus: "sent"` but no MailerSend message id are surfaced as `failed`.

HMAC signature + Bearer access token

[Try this request](https://developers.getcount.com/tools/try-it?method=GET&path=%2Fpartners%2Finvoices%2F%7Buuid%7D%2Fsend-history)

[Credit Memos API](https://developers.getcount.com/reference/credit-memo) [Customers API](https://developers.getcount.com/reference/customers) [Products & Services API](https://developers.getcount.com/reference/products-and-services) [Transactions API](https://developers.getcount.com/reference/transactions)

#### Path parameters

`uuid` uuid required

The UUID of the invoice.

#### Responses

`200` Send history and public view summary.

`404` Invoice not found.

`401` Missing or invalid HMAC signature, expired timestamp, or invalid Bearer token. [Troubleshoot](https://developers.getcount.com/getting-started/errors#error-401)

`403` The credential does not have access to this workspace or resource. [Troubleshoot](https://developers.getcount.com/getting-started/errors#error-403)

`429` Rate limit exceeded (100 requests per minute per clientId). Retry after the Retry-After header. [Troubleshoot](https://developers.getcount.com/getting-started/errors#error-429)

[Previous GET Get audit log](https://developers.getcount.com/reference/invoices/get-invoice-audit-log) [Next POST Add attachments from URLs](https://developers.getcount.com/reference/invoices/add-invoice-attachments)

GET `https://api.getcount.com/partners/invoices/{uuid}/send-history`

Request

```javascript
import crypto from 'node:crypto';

const BASE_URL = 'https://api.getcount.com';
const CLIENT_ID = process.env.COUNT_CLIENT_ID;
const CLIENT_SECRET = process.env.COUNT_CLIENT_SECRET;
const ACCESS_TOKEN = process.env.COUNT_ACCESS_TOKEN;

const method = 'GET';
const signingPath = '/invoices/3fa85f64-5717-4562-b3fc-2c963f66afa6/send-history';
const timestamp = Math.floor(Date.now() / 1000).toString();
const bodyString = '';

const bodyHash = '';
const baseString = `${method}:${signingPath}:${timestamp}:${bodyHash}`;
const signature = crypto.createHmac('sha256', CLIENT_SECRET).update(baseString).digest('hex');

const response = await fetch(`${BASE_URL}/partners/invoices/3fa85f64-5717-4562-b3fc-2c963f66afa6/send-history`, {
  method,
  headers: {
    'x-client-id': CLIENT_ID,
    'x-timestamp': timestamp,
    'x-signature': signature,
    Authorization: `Bearer ${ACCESS_TOKEN}`,
  },
});

console.log(await response.json());
```

Response · 200

```json
{
  "success": true,
  "data": {
    "isSent": true,
    "lastSendDate": "2026-03-02T14:30:00.000Z",
    "sendCount": 1,
    "sends": [
      {
        "id": "send-uuid-001",
        "recipientEmail": "contact@acme.com",
        "sentAt": "2026-03-02T14:30:00.000Z",
        "deliveryStatus": "delivered",
        "delivered": true,
        "firstOpenedAt": "2026-03-02T15:00:00.000Z",
        "openCount": 2,
        "firstClickedAt": null,
        "clickCount": 0
      }
    ],
    "publicViews": {
      "count": 3,
      "firstViewedAt": "2026-03-02T16:00:00.000Z",
      "lastViewedAt": "2026-03-03T09:00:00.000Z"
    }
  }
}
```
