Domains

Assign a sending identity to a stream

Assign this identity to transactional or marketing traffic, make it the project's default for that stream, or give it the from-address a send on that stream uses when it names none.

Streams are enforced, not labelled: once an identity is assigned, a send of the other kind from it is refused with 403. That is what keeps a campaign's complaint rate off the identity your password resets go out on. An identity with no stream (stream: null, and the state of every domain added before this existed) carries both.

At most one identity per (project, stream) is the default; setting streamDefault demotes whichever held it. defaultFromAddress has to be an address on this identity's own host — a default pointing anywhere else would go out unsigned by the name in the From header.

defaultFromName is the sender name recipients see when a send from this identity names none. Unlike the other three it belongs to the identity rather than the stream, so it applies to every send leaving on this host and survives unassigning. Every field is optional and an omitted one is left alone.

Requires the domains:write scope — Add and remove sending domains, and trigger verification.

patch/api/domains/{id}

Request

  • Base URL: https://api.sendly.now
  • URL: https://api.sendly.now/api/domains/{id}
  • Auth: one of:
    • HTTP bearer
    • API key in cookie better-auth.session_token
    • OAuth 2 (authorization code, authorization URL https://app.sendly.now/api/auth/oauth2/authorize, token URL https://app.sendly.now/api/auth/oauth2/token, scopes: domains:write)

Path parameters

idstring uuid required

Request body

defaultFromAddressstring email nullable

The address a send on this stream uses when it names none. Must be on this identity's own host — a default pointing elsewhere would go out unsigned by the name in the From header.

defaultFromNamestring nullable

The name recipients see beside any address on this identity when a send names none, e.g. Acme. Independent of stream. An empty string or null clears it, and the project name is used instead.

stream'TRANSACTIONAL' | 'MARKETING' | 'null' nullable

Which traffic this identity carries. null unassigns it, returning it to serving every stream and clearing its default flag and default address.

streamDefaultboolean

Make this the project's default identity for its stream, demoting whichever held it.

Response

Updated sending identity

successtrue required

Changes

No recorded changes to this operation across all 1 revision of this API.