Menu

Expand
Rate this page:

Blocks API

Blocks happen when your email is rejected because of an issue with the message itself rather than an issue with the recipient's address.

There are several causes for blocked emails. For example, your mail server IP address may be blocked by an ISP, or the receiving server may flag the message content using a filter. Twilio SendGrid will not suppress future messages to blocked addresses by default.

For more information, please see our Blocks documentation.

You can also see your Blocks in the Suppressions settings menu of the Twilio SendGrid App.

Retrieve all blocks

GET /v3/suppression/blocks

Base url: https://api.sendgrid.com

This endpoint allows you to retrieve a paginated list of all email addresses that are currently on your blocks list.

You can use the limit query parameter to set the page size. If your list contains more items than the page size permits, you can make multiple requests. Use the offset query parameter to control the position in the list from which to start retrieving additional items.

Authentication

  • API Key

Headers

Authorization
string
default: Bearer <<YOUR_API_KEY_HERE>>
required
on-behalf-of
string

The on-behalf-of header allows you to make API calls from a parent account on behalf of the parent's Subusers or customer accounts. You will use the parent account's API key when using this header. When making a call on behalf of a customer account, the property value should be "account-id" followed by the customer account's ID (e.g., on-behalf-of: account-id <account-id>). When making a call on behalf of a Subuser, the property value should be the Subuser's username (e.g., on-behalf-of: <subuser-username>). See On Behalf Of for more information.

default: None

Query String

start_time
integer

The start of the time range when a blocked email was created (inclusive). This is a unix timestamp.

default: None
end_time
integer

The end of the time range when a blocked email was created (inclusive). This is a unix timestamp.

default: None
limit
integer

limit sets the page size, i.e. maximum number of items from the list to be returned for a single API request. If omitted, the default page size is used. The maximum page size for this endpoint is 500 items per page.

default: None
offset
integer

The number of items in the list to skip over before starting to retrieve the items for the requested page. The default offset of 0 represents the beginning of the list, i.e. the start of the first page. To request the second page of the list, set the offset to the page size as determined by limit. Use multiples of the page size as your offset to request further consecutive pages. E.g. assume your page size is set to 10. An offset of 10 requests the second page, an offset of 20 requests the third page and so on, provided there are sufficiently many items in your list.

default: 0
email
string

Specifies which records to return based on the records' associated email addresses. For example, sales returns records with email addresses that start with 'sales', such as salesdepartment@example.com or sales@example.com. You can also use %25 as a wildcard. For example, %25market returns records containing email addresses with the string 'market' anywhere in the email address, and %25market%25tree returns records containing email addresses with the string 'market' followed by the string 'tree'. Any reserved characters should be percent-encoded, e.g., the @ symbol should be encoded as %40.

default: None

Responses

array[object]
created
integer

A Unix timestamp indicating when the email address was added to the blocks list.

required
email
string

The email address that was added to the block list.

format: email
required
reason
string

An explanation for the reason of the block.

required
status
string

The status of the block.

required
[
  {
    "created": 1443651154,
    "email": "example@example.com",
    "reason": "error dialing remote address: dial tcp 10.57.152.165:25: no route to host",
    "status": "4.0.0"
  }
]

Retrieving paginated results

To perform a request for the first page of the paginated list of all blocks using the default page size, you can omit the limit and offset query parameters:

Loading Code Sample...
        
        

        Retrieve first page from list of all blocks

        If you want to specify a page size of your choice, you can use the limit query parameter. Assume you want a page size of no more than 5 items per request, to retrieve the first page you can use the limit parameter without specifying an offset:

        Loading Code Sample...
              
              
              Setting page size to 5 using the limit query parameter

              Retrieve first page from list of all blocks with a specified page size

              Setting page size to 5 using the limit query parameter

              If you want to retrieve items beyond the first page, you can use the offset parameter as follows. Assume you are still working with a page size of 5 as determined by your limit query parameter and you have more than 15 items. To request the fourth page of items, you can use the offset parameter to skip over the first 15 items, i.e. you start retrieving items starting after the first three pages of 5 items each:

              Loading Code Sample...
                    
                    
                    Using the offset query parameter in combination with the limit query parameter

                    Retrieve a specific page from the list of all blocks

                    Using the offset query parameter in combination with the limit query parameter

                    Use the email query parameter to filter results

                    The code samples below show how to use the email query parameter to filter the Block records returned by the GET request. A Block record is included in the results if the Block's email property starts with the the value of the email query parameter. One or more %25 wildcards can be used in the email query parameter.

                    Any reserved characters should be percent-encoded to avoid any unintended encoding/decoding of characters.

                    Filter results without wildcard

                    The code sample below shows examples of how to GET all Block records with email properties that begin with the string "sales".

                    Loading Code Sample...
                          
                          
                          GET all Block records with email properties that start with "sales"

                          Filter results without wildcard

                          GET all Block records with email properties that start with "sales"

                          This request would return Blocks with email addresses that start with "sales", such as salesteam@example.com or sales@example.com.

                          Filter results with wildcard

                          The code sample below shows examples of how to GET all Block records with email properties that contain the string "sales" anywhere in the email address.

                          Loading Code Sample...
                                
                                
                                GET all Block records with email properties that contain the string "sales" anywhere in the email address

                                Filter results with a wildcard

                                GET all Block records with email properties that contain the string "sales" anywhere in the email address

                                This request would return Blocks with email addresses that contain "sales" anywhere in the email address, such as george@sales.example.com or sales@example.com.

                                Rate this page:

                                Need some help?

                                We all do sometimes. Get help now from the Twilio SendGrid Support Team.

                                Running into a coding hurdle? Lean on the wisdom of the crowd by browsing the SendGrid tag on Stack Overflow or visiting Twilio's Stack Overflow Collective.

                                Loading Code Sample...
                                      
                                      
                                      

                                      Thank you for your feedback!

                                      Please select the reason(s) for your feedback. The additional information you provide helps us improve our documentation:

                                      Sending your feedback...
                                      🎉 Thank you for your feedback!
                                      Something went wrong. Please try again.

                                      Thanks for your feedback!

                                      thanks-feedback-gif