Skip to content

Register up to 1,000 communications

POST
/v1/communications/batch
curl --request POST \
--url https://api.fromenance.com/v1/communications/batch \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "items": [ { "channel": "email", "recipient_hash": "example", "message_id": "example", "from_address": "example", "sent_at": "2026-04-15T12:00:00Z", "subject_fingerprint": "example", "content_fingerprint": { "simhash": "0x9a4d3c2b1f0e8d7c", "sha256": "example" }, "link_domains": [ "example" ], "template_id": "example", "campaign_id": "example", "provider": "api", "expires_at": "2026-04-15T12:00:00Z", "verify_code": "example" } ] }'

Per item results in input order. One bad item does not fail the batch. Rate limited at 6,000 items per minute.

Media typeapplication/json
object
items
required
Array<object>
>= 1 items <= 1000 items
object
channel
string
Allowed values: email
recipient_hash
required

HMAC-SHA256 of the lowercased, trimmed recipient address keyed with your tenant secret.

string
/^hmac-sha256:[0-9a-f]{64}$/
message_id
required
string
>= 1 characters <= 998 characters
from_address
required
string
>= 3 characters <= 320 characters
sent_at
required
string format: date-time
subject_fingerprint
string
/^[0-9a-f]{64}$/
content_fingerprint
object
simhash
required
string
/^0x[0-9a-fA-F]{1,16}$/
Example
0x9a4d3c2b1f0e8d7c
sha256
required
string
/^[0-9a-f]{64}$/
link_domains
Array<string>
<= 50 items
template_id
string | null
<= 120 characters
campaign_id
string | null
<= 120 characters
provider
string
Allowed values: api sendgrid ses resend postmark mailgun sfmc braze relay journal generic
expires_at
string format: date-time
verify_code

Only when completing a reserved code; otherwise omit and one is issued.

string
<= 9 characters

Results

Media typeapplication/json
object
results
required
Array<object>
object
index
required
integer
ok
required
boolean
id
string
verify_code
string
expires_at
string
error
string
registered
required
integer
failed
required
integer
Examplegenerated
{
"results": [
{
"index": 1,
"ok": true,
"id": "example",
"verify_code": "example",
"expires_at": "example",
"error": "example"
}
],
"registered": 1,
"failed": 1
}