- List sending domains GET
- Add a sending domain POST
- Retrieve a sending domain GET
- Update a sending domain PATCH
- Remove a sending domain DELETE
- Check a domain's DNS records now POST
- Add a custom tracking domain POST
- Remove a custom tracking domain DELETE
- Receive email at a domain POST
- Stop receiving email at a domain DELETE
- Retrieve a domain's DMARC status GET
- List a domain's DMARC reports GET
- Retrieve a DMARC report GET
Update a sending domain
Shares one of the organization's own domains with its sub-accounts (they may then send from it, through the organization's reputation), or stops sharing it.
bearerAuthAuthorizationBearer <token>A secret API key from the dashboard: coss_live_… for production environments, coss_test_… for sandbox environments.
id*stringThe domain's id.
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.
"2026-10-10"application/json- body
- body
- …
shared_with_subaccounts*booleanLet your sub-accounts send from this domain of yours (through your organization's reputation).
The domain.
application/json- response
- response
- …
object*"domain""domain"id*stringname*stringThe domain, lower-cased.
status*stringpending while the records are being checked, verified once they are, temporary_failure after a transient DNS problem, and failed when verification gave up (72 hours) — restart it with the verify endpoint. deleting is a removal in progress.
"pending""verified""temporary_failure""failed""deleting"can_send*booleanWhether live keys may send from this domain right now.
region*string|nullmail_from_domain*stringThe envelope sender subdomain bounces come back to.
mail_from_status*string"pending""success""temporary_failure""failed"records*array<>The DNS records to publish, with the result of the last check.
created_at*stringdate-timelast_checked_at*|date-timeverified_at*|date-timefailed_at*|date-timetracking*|nullreceiving*|nullbimi*The result of the last BIMI check: whether mailbox providers can find the domain's brand logo and certificate. The record and the certificate are your own.
subaccount_id*|The sub-account the domain belongs to (only it sends from it, with its own reputation); null for the organization's own.
shared_with_subaccounts*booleanAn organization's domain its sub-accounts may send from too.
import { Coss } from "coss";const coss = new Coss({ apiKey: process.env.COSS_API_KEY, baseUrl: "https://api.coss.com",});const { data, error } = await coss.domains.update("dom_01k7c8m4q2f3e9v6t5r1n0p8yz", { shared_with_subaccounts: true,});{ "object": "domain", "id": "dom_01k7c8m4q2f3e9v6t5r1n0p8yz", "name": "acme.com", "status": "verified", "can_send": true, "region": "us-east-1", "mail_from_domain": "send.acme.com", "mail_from_status": "success", "records": [ { "priority": null, "required": true, "status": "verified", "found": [], "purpose": "dkim", "type": "CNAME", "name": "x7f3k2m9qp4ld8sv6hwz1nyc5rbtgj0e._domainkey.acme.com", "value": "x7f3k2m9qp4ld8sv6hwz1nyc5rbtgj0e.dkim.amazonses.com" }, { "priority": 10, "required": true, "status": "verified", "found": [], "purpose": "mail_from_mx", "type": "MX", "name": "send.acme.com", "value": "feedback-smtp.us-east-1.amazonses.com" }, { "priority": null, "required": true, "status": "verified", "found": [], "purpose": "mail_from_spf", "type": "TXT", "name": "send.acme.com", "value": "v=spf1 include:amazonses.com ~all" }, { "priority": null, "required": false, "status": "verified", "found": [], "purpose": "dmarc", "type": "TXT", "name": "_dmarc.acme.com", "value": "v=DMARC1; p=none;" } ], "created_at": "2026-01-15T09:30:00.000Z", "last_checked_at": "2026-01-15T09:42:10.000Z", "verified_at": "2026-01-15T09:42:10.000Z", "failed_at": null, "tracking": { "hostname": "links.acme.com", "status": "active", "record": { "type": "CNAME", "name": "links.acme.com", "value": "track.cosslinks.com", "status": "verified", "found": [] }, "message": null, "created_at": "2026-01-15T09:45:00.000Z", "last_checked_at": "2026-01-15T09:52:00.000Z", "activated_at": "2026-01-15T09:52:00.000Z", "failed_at": null }, "receiving": null, "bimi": { "status": "configured", "name": "default._bimi.acme.com", "record": "v=BIMI1; l=https://acme.com/brand/logo.svg; a=https://acme.com/brand/vmc.pem", "logo_url": "https://acme.com/brand/logo.svg", "certificate_url": "https://acme.com/brand/vmc.pem", "dmarc_policy": "reject", "issues": [] }, "subaccount_id": null, "shared_with_subaccounts": false}