--- title: "Introduction" slug: "introduction-to-mail-and-deploy-api" updated: 2024-09-18T09:45:16Z published: 2024-09-18T09:45:16Z canonical: "help.mail-and-deploy.com/introduction-to-mail-and-deploy-api" --- > ## Documentation Index > Fetch the complete documentation index at: https://help.mail-and-deploy.com/llms.txt > Use this file to discover all available pages before exploring further. # Introduction to Mail & Deploy API ### General Mail & Deploy provides an API that allows 3rd party developers to connect to Mail & Deploy and perform operations programmatically. To use the API, the following requirements must be met: - An endpoint for the API [Service](/release34/docs/services) needs to be configured in the [Server Settings](/release34/docs/server-settings). - You need a User with a user type of API User or Administrator to connect to the API. A basic API call has the following format: Basic API Call URL http(s)://:/Api/?Method=& The individual properties of the API call are: | Name | Description | | --- | --- | | method | The [Method](/release34/docs/methods) to call. | | additional_parameters | Additional parameters required by the called method. | In addition to the additional parameters, some API calls also require to POST data. #### Authentication The API supports the following two [Authentication Methods](/release34/docs/methods): - Access Key Authentication - Custom Authentication ### Data Structures When data is exchanged between the API and the caller of the API, JSON data structures are used (with the exception of query parameters). #### InteropStructure An interop structure represents a single entity that is exchanged between the API and the caller. The basic JSON format of an interop structure looks like this: InteropStructure JSON Format { "$interoptype": "", "Property1": "Property1Value", ... "Propertyn”: “PropertynValue”, "Version": "dd409e67-6ad1-4724-b048-f0a836d4cf34", "Id": "99c20bac-5b47-4ba9-a9d2-0ee25d5eaa25" } The must-have parameters of every interop structure are: | Name | Description | | --- | --- | | $interoptype | The name of the interop structure type that the JSON string represents. | | Version | A GUID that identifies the version of this interop structure. You can set this to a random GUID. | | Id | A GUID that uniquely identifies the interop structure. You can set this to a random GUID to persist new entities and to a known GUID to update existing entities. | An overview of all available interop structure types can be found in API Documentation which you can open by double-clicking the file *SDK\Docs\API Documentation.htm* in your installation directory. #### InteropStructureCollection This type represents a collection of zero, one, or more interop structures. The JSON format of an interop structure collection looks like this InteropStructureCollectin JSON Format { "$interoptype": "InteropStructureCollection", "$iteminteroptype": "", "Items": [ ... ] } It has the following properties: | Name | Description | | --- | --- | | $interoptype | The name of the interop structure type that the JSON string represents; for interop structure collections this is always the constant text *InteropStructureCollection*. | | $iteminteroptype | The name of the type of interop structures that the interop structure collection holds. |