Prove that the receiving server denied the message permanently. A bounce event with the type bounce states it. A block states the type blocked, and a block never satisfies this level.

Contract identity.
FactValue
Contract idsendgrid.email.bounced
Version1.0.0
Hash1100fbbefd59997c
Completion levelbounced
PublisherBuilt and signed by Provely.
CertificationProvisional
SkillTwilio SendGrid Mail API 0.1.0
Valid for provider API versionsv3

What is the intent?

Confirm that the message bounced.

What is the subject and the action?

MemberValue
Subject typesendgrid.message
Canonical effectmessaging.email_send
Provider operationPOST /v3/mail/send
Idempotencynone, retry is not safe

Which false successes give CONTRADICTED?

  • duplicate side effect
  • pre existing state
  • wrong subject

The signed contract states the exact conditions, the evidence and the timing. The runtime reads them. The page states the promise.

Where do these rules come from?

  • sendgrid.openapi#/paths/~1v3~1mail~1send/post: sendgrid.openapi, retrieved 2026-09-08
  • sendgrid.docs.events#event-webhook/the-bounce-event/p1: sendgrid.docs.events, retrieved 2026-09-08
  • sendgrid.events#/events/bounce: sendgrid.events, retrieved 2026-09-08
  • sendgrid.docs.events#event-webhook/custom-arguments/p1: sendgrid.docs.events, retrieved 2026-09-08
  • sendgrid.docs.events#event-webhook/the-event-time/p1: sendgrid.docs.events, retrieved 2026-09-08
  • sendgrid.docs.events#event-webhook/the-properties-of-a-delivery-event/p1: sendgrid.docs.events, retrieved 2026-09-08

Can sendgrid.email.bounced return VERIFIED from the action response alone?

No. The action response is E1, and an acknowledgement is never terminal success. The contract needs evidence of level E3 or higher from Twilio SendGrid Mail API.

What happens after the timeout?

The verdict is UNVERIFIABLE. The operation goes to a person for review.