SendGrid · Capability

Twilio SendGrid Suppressions API — Bounces

Twilio SendGrid Suppressions API — Bounces. 6 operations. Lead operation: Retrieve all bounces. Self-contained Naftiko capability covering one Sendgrid business surface.

Run with Naftiko SendgridBounces

What You Can Do

GET
Listsuppressionbounces — Retrieve all bounces
/v1/v3/suppression/bounces
DELETE
Deletesuppressionbounces — Delete bounces
/v1/v3/suppression/bounces
GET
Listsuppressionbouncesclassifications — Retrieve bounce classification totals
/v1/v3/suppression/bounces/classifications
GET
Getsuppressionbouncesclassifications — Retrieve bounce classification over time by domain stats
/v1/v3/suppression/bounces/classifications/{classification}
GET
Getsuppressionbounces — Retrieve a Bounce
/v1/v3/suppression/bounces/{email}
DELETE
Deletesuppressionbounce — Delete a bounce
/v1/v3/suppression/bounces/{email}

MCP Tools

retrieve-all-bounces

Retrieve all bounces

read-only idempotent
delete-bounces

Delete bounces

idempotent
retrieve-bounce-classification-totals

Retrieve bounce classification totals

read-only idempotent
retrieve-bounce-classification-over-time

Retrieve bounce classification over time by domain stats

read-only idempotent
retrieve-bounce

Retrieve a Bounce

read-only idempotent
delete-bounce

Delete a bounce

idempotent

Capability Spec

tsg_suppressions_v3-bounces.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Twilio SendGrid Suppressions API — Bounces
  description: 'Twilio SendGrid Suppressions API — Bounces. 6 operations. Lead operation: Retrieve all bounces. Self-contained
    Naftiko capability covering one Sendgrid business surface.'
  tags:
  - Sendgrid
  - Bounces
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    SENDGRID_API_KEY: SENDGRID_API_KEY
capability:
  consumes:
  - type: http
    namespace: tsg_suppressions_v3-bounces
    baseUri: https://api.sendgrid.com
    description: Twilio SendGrid Suppressions API — Bounces business capability. Self-contained, no shared references.
    resources:
    - name: v3-suppression-bounces
      path: /v3/suppression/bounces
      operations:
      - name: listsuppressionbounces
        method: GET
        description: Retrieve all bounces
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: start_time
          in: query
          type: integer
          description: Refers start of the time range in unix timestamp when a bounce was created (inclusive).
        - name: end_time
          in: query
          type: integer
          description: Refers end of the time range in unix timestamp when a bounce was created (inclusive).
        - name: Accept
          in: header
          type: string
          required: true
      - name: deletesuppressionbounces
        method: DELETE
        description: Delete bounces
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v3-suppression-bounces-classifications
      path: /v3/suppression/bounces/classifications
      operations:
      - name: listsuppressionbouncesclassifications
        method: GET
        description: Retrieve bounce classification totals
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: Accept
          in: header
          type: string
          description: Specifies the content type to be returned by this endpoint. You can choose to receive CSV-formatted
            data by passing "text/csv" in the header.
          required: true
        - name: start_date
          in: query
          type: string
          description: The start of the time range, in YYYY-MM-DD format, when a bounce was created (inclusive).
        - name: end_date
          in: query
          type: string
          description: The end of the time range, in YYYY-MM-DD format, when a bounce was created (inclusive).
    - name: v3-suppression-bounces-classifications-classification
      path: /v3/suppression/bounces/classifications/{classification}
      operations:
      - name: getsuppressionbouncesclassifications
        method: GET
        description: Retrieve bounce classification over time by domain stats
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: Accept
          in: header
          type: string
          description: Specifies the content type to be returned by this endpoint. You can choose to receive CSV-formatted
            data by passing "text/csv" in the header.
          required: true
        - name: classification
          in: path
          type: string
          description: 'The classification you want to filter by. Possible values are: `Content`, `Frequency or Volume Too
            High`, `Invalid Address`, `Mailbox Unavailable`, `Reputation`'
          required: true
        - name: start_date
          in: query
          type: string
          description: The start of the time range, in YYYY-MM-DD format, when a bounce was created (inclusive).
        - name: end_date
          in: query
          type: string
          description: The end of the time range, in YYYY-MM-DD format, when a bounce was created (inclusive).
    - name: v3-suppression-bounces-email
      path: /v3/suppression/bounces/{email}
      operations:
      - name: getsuppressionbounces
        method: GET
        description: Retrieve a Bounce
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: email
          in: path
          type: string
          description: The email address of the specific bounce you would like to retrieve
          required: true
      - name: deletesuppressionbounce
        method: DELETE
        description: Delete a bounce
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: email
          in: path
          type: string
          description: The email address you would like to remove from the bounce list.
          required: true
    authentication:
      type: bearer
      token: '{{env.SENDGRID_API_KEY}}'
  exposes:
  - type: rest
    namespace: tsg_suppressions_v3-bounces-rest
    port: 8080
    description: REST adapter for Twilio SendGrid Suppressions API — Bounces. One Spectral-compliant resource per consumed
      operation, prefixed with /v1.
    resources:
    - path: /v1/v3/suppression/bounces
      name: v3-suppression-bounces
      description: REST surface for v3-suppression-bounces.
      operations:
      - method: GET
        name: listsuppressionbounces
        description: Retrieve all bounces
        call: tsg_suppressions_v3-bounces.listsuppressionbounces
        with:
          start_time: rest.start_time
          end_time: rest.end_time
          Accept: rest.Accept
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletesuppressionbounces
        description: Delete bounces
        call: tsg_suppressions_v3-bounces.deletesuppressionbounces
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v3/suppression/bounces/classifications
      name: v3-suppression-bounces-classifications
      description: REST surface for v3-suppression-bounces-classifications.
      operations:
      - method: GET
        name: listsuppressionbouncesclassifications
        description: Retrieve bounce classification totals
        call: tsg_suppressions_v3-bounces.listsuppressionbouncesclassifications
        with:
          Accept: rest.Accept
          start_date: rest.start_date
          end_date: rest.end_date
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v3/suppression/bounces/classifications/{classification}
      name: v3-suppression-bounces-classifications-classification
      description: REST surface for v3-suppression-bounces-classifications-classification.
      operations:
      - method: GET
        name: getsuppressionbouncesclassifications
        description: Retrieve bounce classification over time by domain stats
        call: tsg_suppressions_v3-bounces.getsuppressionbouncesclassifications
        with:
          Accept: rest.Accept
          classification: rest.classification
          start_date: rest.start_date
          end_date: rest.end_date
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v3/suppression/bounces/{email}
      name: v3-suppression-bounces-email
      description: REST surface for v3-suppression-bounces-email.
      operations:
      - method: GET
        name: getsuppressionbounces
        description: Retrieve a Bounce
        call: tsg_suppressions_v3-bounces.getsuppressionbounces
        with:
          email: rest.email
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletesuppressionbounce
        description: Delete a bounce
        call: tsg_suppressions_v3-bounces.deletesuppressionbounce
        with:
          email: rest.email
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: tsg_suppressions_v3-bounces-mcp
    port: 9090
    transport: http
    description: MCP adapter for Twilio SendGrid Suppressions API — Bounces. One tool per consumed operation, routed inline
      through this capability's consumes block.
    tools:
    - name: retrieve-all-bounces
      description: Retrieve all bounces
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: tsg_suppressions_v3-bounces.listsuppressionbounces
      with:
        start_time: tools.start_time
        end_time: tools.end_time
        Accept: tools.Accept
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-bounces
      description: Delete bounces
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: tsg_suppressions_v3-bounces.deletesuppressionbounces
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieve-bounce-classification-totals
      description: Retrieve bounce classification totals
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: tsg_suppressions_v3-bounces.listsuppressionbouncesclassifications
      with:
        Accept: tools.Accept
        start_date: tools.start_date
        end_date: tools.end_date
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieve-bounce-classification-over-time
      description: Retrieve bounce classification over time by domain stats
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: tsg_suppressions_v3-bounces.getsuppressionbouncesclassifications
      with:
        Accept: tools.Accept
        classification: tools.classification
        start_date: tools.start_date
        end_date: tools.end_date
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieve-bounce
      description: Retrieve a Bounce
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: tsg_suppressions_v3-bounces.getsuppressionbounces
      with:
        email: tools.email
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-bounce
      description: Delete a bounce
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: tsg_suppressions_v3-bounces.deletesuppressionbounce
      with:
        email: tools.email
      outputParameters:
      - type: object
        mapping: $.