URL Format

The following is the syntax for making Web API requests:

Example WEB API URL

https://api.sendgrid.com/api/[module].[action].[format]

  • [module] - The API endpoint to call, e.g. blocks.
  • [action] - Each module supports multiple actions such as add, get, and delete.
  • [format] - This determines the response format. It can be either json for a JSON response or xml for an XML response.
1
https://api.sendgrid.com/api/blocks.get.json

Responses

HTTP Return codes

  • 2XX - The API call was successful.
  • 4XX - The API call had an error in the parameters. The error will be encoded in the body of the response.
  • 5XX - The API call was unsuccessful. You should retry later.

The formats supported are XML and JSON. Errors and success responses are described below while calls that provide information have their own return structure.

Errors

  • XML
    1
    2
    3
    4
    5
    6
    7
    8
    
    <result>
       <message>error</message>
       <errors>
          ...
          <error>... error messages ...</error>
          ...
       </errors>
    </result>
    
  • JSON
    1
    2
    3
    4
    5
    6
    
    {
      "message": "error",
      "errors": [
        "...error messages..."
      ]
    }
    

Success


Authentication

Each API call requires authentication. You must send the following HTTP parameters on your API calls. Your credentials will be the same as what you used for your SMTP authentication and/or website.

  • api_user - This is the same credential used for your SMTP settings, and for logging into the website.
  • api_key - This is the same password to authenticate over SMTP, and for logging into the website.

Example API URL with user & pass parameters

1
https://api.sendgrid.com/api/blocks.get.json?api_user=your_sendgrid_username&api_key=your_sendgrid_password

For detailed information on the available Web API methods, select one from the tree on the left.

The Data

When you send data a GET request, it usually means that you’re sending data in the URL’s query string,the part after the ‘?’ in the url, as a key/value pair. The key is defined by the place where you are sending the data and is assumed to be URL-safe, however the data you provide may not be. So, you should urlencode the value (or the data part) of any URL-passed information.

For example, when you query google.com for “sendgrid.com/docs/” you get the following URL:

1
https://www.google.com/?gws_rd=ssl#q=sendgrid.com%2Fdocs%2F

Where “sendgrid.com/docs/” was encoded to “sendgrid.com%2Fdocs%2F” in the URL.

Most programming languages have support for urlencoding, but should you need a character lookup to reference, please see the Wikipedia doc about urlencoding.