Create a sub-account
Creates a sub-account: one of your users, who gets their own domains, suppressions, quotas and reputation. Give it a uid (e.g. your user's id) to address it by in every path and send. Sub-accounts belong to the API key's own environment: a coss_test_… key only ever sees sandbox ones, a coss_live_… key only production ones.
bearerAuthAuthorizationBearer <token>A secret API key from the dashboard: coss_live_… for production environments, coss_test_… for sandbox environments.
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
- …
name*stringA name for your own reference.
1 <= length <= 256uid?stringYour own id for it, to address it by instead of its id.
metadata?Your own key-value pairs (at most 16; keys up to 40 characters, values up to 500).
quotas?Fields left out keep their value; null removes a quota.
The sub-account.
application/json- response
- response
- …
object*"subaccount""subaccount"id*stringuid*|Your own id for it (e.g. your user's id), unique in the environment. Every path and send that takes a sub-account accepts its id or its uid.
name*stringmetadata*status*stringdisabled: you turned it off (its sends are refused). deleting: its domains are being released.
"active""disabled""deleting"quotas*reputation*created_at*stringdate-timeupdated_at*stringdate-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.subaccounts.create({ name: "Acme Bakery", uid: "user_8812", quotas: { recipients_per_day: 5000, },});{ "object": "subaccount", "id": "sub_01k7c8m4q2f3e9v6t5r1n0p8yz", "uid": "user_8812", "name": "Acme Bakery", "metadata": { "plan": "pro" }, "status": "active", "quotas": { "recipients_per_day": 5000, "recipients_per_second": 5, "burst": 50 }, "reputation": { "status": "good", "trigger": null, "changed_at": null, "reinstated_at": null }, "created_at": "2026-01-15T09:30:00.000Z", "updated_at": "2026-01-15T09:30:00.000Z"}