Read a rule's forward log
One row per message and address: SENT with the emailId of the forward (read it with GET /v1/emails/{id}), SKIPPED or FAILED with the reason.
https://app.usenotix.dev/api/v1/forwarding-rules/{id}/logFull access and read only keys can call this. Sending access keys cannot. Key permissions lists the extra rules some calls have.
One row per message and address: SENT with the emailId of the forward (read it with GET /v1/emails/{id}), SKIPPED or FAILED with the reason. The log never holds a message body. Pass nextCursor back as cursor for the next page.
| Reason | Meaning |
|---|---|
SPAM, VIRUS | The message failed the spam or virus check. |
LOOP_HEADER | The message was already forwarded by a Notix rule. |
AUTO_REPLY | An out-of-office reply, bounce or list message. |
DUPLICATE | The same Message-ID was forwarded by this rule in the last 24 hours. |
RULE_PAUSED | The rule is paused. |
NOT_VERIFIED | The address has not confirmed yet. |
OWN_RECEIVING_DOMAIN | The address is on a domain you receive on, and the rule does not allow chaining. |
DOMAIN_NOT_RECEIVING | The rule is on your own receiving domain, which stopped receiving for your team before the message was forwarded. |
RATE_LIMITED | Still over the limit after retries: 30 messages a minute for the rule, 60 forwards for the domain or 120 for the team. |
RATE_COUNTER_UNAVAILABLE | Notix could not count forwards for about 15 minutes, so it did not send. |
NO_SENDER | There is no verified sending domain to send the forward from. |
ATTACHMENTS_TOO_LARGE | Forwarded, without its attachments: they were over what one email can carry. |
ATTACHMENTS_NOT_SCANNED | Forwarded, without its attachments: the virus check did not pass. |
SUPPRESSED | The address is on your suppression list. |
SEND_REFUSED:<code> | The send checks refused it, for example your plan's limit. |
SEND_ERROR, INTERRUPTED | The send failed after retries, or stopped part way. |
WEBHOOK_NOT_SUBSCRIBED | The webhook no longer takes email.received for this domain. |
The log is kept 90 days.
Full access and read only keys can call it. A key limited to one domain sees only rules on receiving domains under its domain. Send-only and live AI keys cannot.
Path parameters
Query parameters
At most 100, default 50.
Minimum 1. Maximum 100.
nextCursor from the previous page.
Headers
Bearer followed by your API key.
Errors
A cursor from another rule.
`SCOPE_DENIED`: a send-only or live AI key.
No rule with this id for the calling team, or outside a pinned key's domain.
Every error has the same shape. See all error codes.
curl -X GET "https://app.usenotix.dev/api/v1/forwarding-rules/<id>/log" \
-H "Authorization: Bearer $NOTIX_API_KEY"
import { Notix } from "notix-js";
const notix = new Notix(process.env.NOTIX_API_KEY);
const { data, error } = await notix.forwarding.log("clx9f2k3l0001qz8a7b6c5d4e", { limit: 20 });
{
"data": [
{
"id": "cm1x8f3k20001qz7v5b9d2e4a",
"inboundMessageId": "cm1x8f3k20001qz7v5b9d2e4a",
"destination": "string",
"status": "PENDING",
"emailId": "cm1x8f3k20001qz7v5b9d2e4a",
"reason": "string",
"createdAt": "string"
}
],
"nextCursor": "string"
}