API Reference
Billing
Domains
Emails
Hooks applications
Hooks endpoints
Hooks event types
Hooks messages
Hooks portal
Log drains
Receiving
Risk
- Check an email address POST
- Check an IP address POST
- Check a rate limit POST
- Classify content POST
- Assess an event POST
- Report an assessment's outcome POST
- Create a rate limit bucket POST
- Add an allow or block list entry POST
- Create a rule POST
- Delete a rate limit bucket DELETE
- Remove a list entry DELETE
- Delete a rule DELETE
- Forget a user DELETE
- Retrieve an assessment GET
- Retrieve the calibration GET
- Retrieve a rate limit bucket GET
- Retrieve a list entry GET
- Retrieve a rule GET
- Retrieve the risk settings GET
- List assessments GET
- List rate limit buckets GET
- List allow and block list entries GET
- List rules GET
- Update a rate limit bucket PATCH
- Update a rule PATCH
- Update the risk settings PATCH
Suppressions
Tracking
Webhook endpoints
Retrieve a batch of emails
GET
/v1/emails/batch/{id}
A batch sent with POST /v1/emails/batch, with its emails' current statuses in the order of the request. Emails past the data retention period are left out. Only batches sent from the API key's own environment can be retrieved.
bearerAuthheader
AuthorizationBearer <token>A secret API key from the dashboard: coss_live_… for production environments, coss_test_… for sandbox environments.
id*stringThe batch's id (batch_id of its emails).
Coss-Version?"2026-10-10"The API version (a date) to use for this request. Defaults to your organization's version, pinned to the latest one when it first used the API and upgraded from the dashboard. The SDK always sends the version it was built for.
Value in
"2026-10-10"The batch.
application/json- response
- response
- …
object*"email_batch"Value in
"email_batch"id*stringdata*array<>The batch's emails, in the order of the request.
created_at*stringFormat
date-timeimport { Coss } from "coss";const coss = new Coss({ apiKey: process.env.COSS_API_KEY, baseUrl: "https://api.coss.com",});const { data, error } = await coss.email.getBatch("batch_01k8d0n6x5f3w2e1r9t7y4u6i8");{ "object": "email_batch", "id": "batch_01k8d0n6x5f3w2e1r9t7y4u6i8", "data": [ { "object": "email", "id": "email_01k7c8m4q2f3e9v6t5r1n0p8yz", "from": "Acme <notifications@acme.com>", "to": [ "ada@example.com" ], "cc": [], "bcc": [], "reply_to": [], "subject": "Your weekly summary", "html": "<p>Hi Ada, here is your week.</p>", "text": null, "headers": {}, "tags": [], "category": "digest", "status": "queued", "failure": null, "recipients": [ { "address": "ada@example.com", "type": "to", "status": "queued", "last_event_at": null } ], "sandbox": false, "tracking": { "opens": false, "clicks": false, "unsubscribe": false, "open_count": 0, "first_opened_at": null, "last_opened_at": null, "click_count": 0, "first_clicked_at": null, "last_clicked_at": null }, "attachments": [], "created_at": "2026-10-10T12:00:00.000Z", "sent_at": null, "scheduled_at": null, "batch_id": "batch_01k8d0n6x5f3w2e1r9t7y4u6i8" } ], "created_at": "2026-10-10T12:00:00.000Z"}