Yesmail API Overview

An Application Programming Interface, more commonly known as an API, is self-service software that allows applications to communicate with each other, often without any user awareness or involvement.  Yesmail provides APIs to allow clients direct programmatic access to functions such as subscriber management, message targeting and personalization, message triggering and content management, and event reporting.

Yesmail has developed Version 2 (V2) of its APIs to combine robust functionality with consistent, easy-to-use syntax.  It is based on REST (Representational State Transfer) principles, relying on interactions, or “calls”, that employ standard HTTP methods (GET, PUT, POST, DELETE) acting on resources specified via a Uniform Resource Identifier (URI). 

Depending on the call, a payload may be attached to the request or response.  The request payload specifies a representation of the intended state of the resource, while the response payload provides a representation of the resource’s current state.

Yesmail V2 APIs are generally synchronous: the requested action is performed when received, and the response includes the representation of the requested resource (if applicable) along with the status code. Asynchronous API calls are noted in the documentation for the specific call.

The following standards apply across all Yesmail V2 APIs:

  • All URIs are not case-sensitive.

  • URI parameters with special characters must be encoded with standard URI encoding (e.g., %20 represents a space).

  • The request header must contain "Api-User" and "Api-Key" elements.  These are used for the purposes of authentication and establishing the link to the appropriate Yesmail database.  The Api-Key is provided upon registration to your API product within Apigee.  The Api-User is equal to your "company name" in Yesmail applications.

  • Request and response payloads are in JavaScript Object Notation (JSON) format.

  • ETags can be used to identify whether or not the current version of a resource conflicts from what is expected in the request.  More information can be found here.

  • All payload date/time stamps are displayed in Coordinated Universal Time (UTC) in the following format:  “2012-12-31T23:59:00Z”.