Work in progress
TODO: aggiungere qui le info generali, poi si rimanda alle sottopagine per autenticazione e parti specifiche per le versioni
Overview
MailUp API uses the following HTTP verbs to perform actions on resources that are identified through a URI
- POST to create a new resource
- GET to retrieve an existing resource
- PUT to update an existing resource
- DELETE to remove a resource
Endpoints
TODO: aggiungere endpoint di produzione
Data format
TODO: rivedere, qui ho copiato la descrizione del primo doc
Exchanged data format is mainly JSON (“Accept:application/json” in the request headers) but in the future XML, HTML or others may be supported. Return values always contain HTTP status code; optionally a description could be added to provide some error details. GET requests may use optional querystring parameters in the request: in some cases the returned data format depends on which set of parameters is specified.
Versioning
Versioning is provided through URI in the form of ENDPOINT/VERSION/RESOURCE
Pagination
Only a subset of resources will support pagination and they do it by handling “x-page” and “x-page-size” values in request header. When not supported by resources, pagination headers are ignored by the server application.
Rate limiting
Restrictions may be applied by limiting the number of requests by a specific API key against a resource (e.g. client application with access key XYZ fails to create a new sending because the limit of N sending per day has been reached). In case of rate limiting HTTP status code 429 (Too many requests) is returned.
Rate limiting has to be considered as a possible future extension, implementation requires more details about possible restrictions that could affect resources and customer specific settings.
Authentication
OAuth V2 is used
TODO: Citiamo anche quella tramite header?