Create an email sending channel
Requires EDITOR. Secret config fields (apiKey / accessKeySecret / webhookSecret) are encrypted at rest when EMAIL_CONFIG_ENC_KEY is set and never returned. A random webhookId is minted for every provider.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”projectId
required
string
Tenant project id (row-level isolation on every query).
Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
object
name
required
string
kind
required
string
status
string
fromAddress
required
string format: email
replyToAddress
string | null format: email
config
Provider-specific credential map, validated per kind; secret fields encrypted at rest.
object
key
additional properties
string
rateLimitPerSecond
integer
dailyLimit
integer | null
transactionalReservePercent
integer
marketingDailyLimit
integer | null
Responses
Section titled “Responses”Created provider.
Media typeapplication/json
object
provider
Email sending channel. configJson is never serialized; configConfigured signals whether secrets are stored.
object
id
string
projectId
string
name
string
kind
string
status
string
fromAddress
string format: email
replyToAddress
string | null format: email
webhookId
string
rateLimitPerSecond
integer
dailyLimit
integer | null
transactionalReservePercent
integer
marketingDailyLimit
integer | null
sentToday
integer
configConfigured
boolean
lastHealthAt
string | null format: date-time
lastHealthStatus
string | null
createdAt
string format: date-time
updatedAt
string format: date-time
Request body failed Zod validation.
Media typeapplication/json
Validation error envelope with per-field issues.
object
error
string
issues
Array<object>
object
path
string
message
string
Examplegenerated
{ "error": "example", "issues": [ { "path": "example", "message": "example" } ]}Not authenticated (no valid session/principal).
Media typeapplication/json
object
error
required
Human-readable error message.
string
message
string
Examplegenerated
{ "error": "example", "message": "example"}Authenticated but lacks the required project role.
Media typeapplication/json
object
error
required
Human-readable error message.
string
message
string
Examplegenerated
{ "error": "example", "message": "example"}