{
  "swagger": "2.0",
  "info": {
    "version": "v1",
    "title": "Listrak Email REST API",
    "description": "# Introduction\r\nWelcome to the Listrak Email <a href='https://en.wikipedia.org/wiki/Representational_state_transfer'>REST API</a>!\r\n\r\nOur API allows developers to integrate with Listrak's application. It enables the seamless automation of a broad set of functionality, ranging from basic tasks to complex processes.\r\n\r\nWe aim to provide comprehensive documentation coverage of our API's capabilities. Each resource and method is described in detail with implementation notes, descriptions of parameters, headers, return values, and code samples to aid in development.\r\n\n# Versioning\r\n\r\nThe API version is denoted in the URI. This API's base URI is:\r\n\r\n`https://api.listrak.com/email/v1`\r\n\r\n<br />\r\n\r\nThe API version will be incremented if breaking changes are introduced. Breaking changes may include:\r\n\r\n- Addition of required headers, parameters, or model fields to a current route\r\n- Alterations that would result in currently valid requests failing, or performing unexpectedly\r\n\r\n<br />\r\n\r\nChanges that are not considered breaking may include:\r\n\r\n- Addition of new model fields\r\n- Addition of new routes\r\n- Addition of new response headers\r\n- Any alteration to a route that is marked as <span class=\"inDev\">In Development</span>\r\n# Usage\r\n\r\n## External Libraries\r\n\r\nThe C# code examples featured on this site require the following packages:\r\n\r\n- <a href=\"https://www.nuget.org/packages/Microsoft.AspNet.WebApi.Client/\">Microsoft.AspNet.WebApi.Client</a>\r\n- <a href=\"https://www.nuget.org/packages/Newtonsoft.Json/\">Newtonsoft.Json</a>\r\n\r\nThe Php code examples require the following package:\r\n- <a href=\"http://docs.guzzlephp.org/en/stable/#\">Guzzle 6</a>\n# Feedback\r\n\r\nWe are actively seeking feedback in the following areas:\r\n- Code samples\r\n- Response examples\r\n- Resource and field descriptions\r\n\r\n<br />\r\n\r\nPlease provide your feedback to us at restapifeedback@listrak.com.\n# Integration Setup\r\nTo enable API access, **you must create an _Integration_** on the _Integrations_ page. In the Listrak application left menu, go to: Integrations &rarr; Integration Management.\r\n\r\nPlease specify integration type `Email` for your integration. You must also specify which areas of the API should be made accessible. Available areas include:\r\n- Contact\r\n- Event\r\n- List\r\n- Message\r\n- Reporting\r\n- Segmentation\r\n\r\nMake sure to securely store a copy of your _Client ID_ and _Client Secret_. These values will be needed to authenticate with the API. For your security, the _Client Secret_ cannot be retrieved if it is lost.\r\n\n# Status Codes\r\n\r\n| Status Code | Status | Description |\r\n|-|-|-|\r\n| 200 | OK | The request succeeded. |\r\n| 201 | Created | A new resource has been created. |\r\n| 400 | Bad Request | Your request is malformed or invalid. |\r\n| 401 | Unauthorized | Authentication is required. |\r\n| 404 | Not Found | The resource does not exist. |\r\n| 405 | Method Not Allowed | The route does not support the requested method. |\r\n| 415 | Unsupported Media Type | Please use a `Content-Type` of `application/json`. |\r\n| 500 | Internal Server Error | An unexpected error occurred. Our development team has been notified. |\r\n\n# Error Codes\r\n## General\r\n| Error Code | Possible Causes |\r\n|-|-|\r\n| ERROR_INVALID_CREDENTIALS | Invalid client credentials, inactive integration, unauthorized IP address |\r\n| ERROR_INVALID_PARAMETER | Null or invalid value for a parameter, non-unique value for a parameter (if the property is required to be unique for all resources in the collection) |\r\n| ERROR_MALFORMED_REQUEST_BODY | Invalid JSON body was supplied |\r\n| ERROR_RESOURCE_DEPENDENCY | Trying to delete a resource that is in use |\r\n| ERROR_UNABLE_TO_LOCATE_RESOURCE | Valid route was supplied with invalid resource IDs |\r\n| ERROR_UNAUTHORIZED | Invalid access token, inactive integration, insufficient access level, unauthorized IP address |\r\n| ERROR_UNHANDLED_EXCEPTION | Unexpected error during execution of the request |\r\n| ERROR_UNKNOWN_ROUTE | Invalid route was supplied |\r\n| ERROR_UNSAFE_ROUTE | Invalid character was supplied in the route ('&' outside of query string, '<', '>', etc.) |\r\n| ERROR_UNSUPPORTED_CONTENT_TYPE | Invalid `Content-Type` header was supplied (must be `application/json`), missing `Content-Type` header |\r\n| ERROR_UNSUPPORTED_METHOD | Valid route supplied with an invalid HTTP method |\r\n| ERROR_UNSUPPORTED_PROTOCOL | Request was not made over HTTPS |\r\n| ERROR_INTEGRATION_CANNOT_ACCESS_BETA_ROUTE | This route is in Beta and not yet generally available for all integrations. |\r\n\r\n## Contact\r\n\r\n| Error Code | Possible Causes |\r\n|-|-|\r\n| ERROR_BANNED_EMAIL_ADDRESS | Subscribing a contact that has been banned |\r\n| ERROR_BANNED_NEW_EMAIL_ADDRESS | Changing `emailAddress` to one that has been banned |\r\n| ERROR_CHANGE_ADDRESS_CONTACT_UNSUBSCRIBED | Changing `emailAddress` to one that has unsubscribed from the list |\r\n| ERROR_CHANGE_ADDRESS_WITH_EVENTS | Changing `emailAddress` with a list of events |\r\n| ERROR_CHANGE_ADDRESS_WITH_SEGMENTATION_DATA | Changing `emailAddress` with profile data |\r\n| ERROR_CONVERSION_ANALYTICS_NOT_ENABLED | Conversion analytics not enabled |\r\n| ERROR_NOT_SUBSCRIBED_EMAIL_ADDRESS | Unsubscribing a contact that is not a subscriber for the list |\r\n| ERROR_PENDING_EMAIL_ADDRESS | Already pending subscription through double opt-in |\r\n| ERROR_PENDING_NEW_EMAIL_ADDRESS | Changing `emailAddress` to one that is already pending subscription through double opt-in |\r\n| ERROR_SUBSCRIBED_EMAIL_ADDRESS | Subscribing a contact that has already been subscribed to the list |\r\n| ERROR_SUBSCRIBED_NEW_EMAIL_ADDRESS | Changing `emailAddress` to one that is already subscribed to the list |\r\n| ERROR_SUPPRESSED_EMAIL | Subscribing an `emailAddress` that has already been suppressed |\r\n| ERROR_SUPPRESSED_NEW_EMAIL | Changing `emailAddress` to one that has already been suppressed |\r\n| ERROR_TOO_MANY_SEGMENTATION_FIELDS | Number of requested profile fields exceeds the limit |\r\n| ERROR_UNSUBSCRIBE_WITH_EVENTS | Unsubscribing a contact with a list of events |\r\n| ERROR_UNSUBSCRIBE_WITH_SEGMENTATION_DATA | Unsubscribing a contact with profile data |\r\n| ERROR_UNSUBSCRIBED_EMAIL_ADDRESS | Unsubscribing a contact that has already been unsubscribed from the list |\r\n| ERROR_UNSUBSCRIBED_NEW_EMAIL_ADDRESS | Changing an `emailAddress` to one that has already been unsubscribed from the list |\r\n| ERROR_UPDATE_UNSUBSCRIBE_WITH_EVENTS | Updating a contact that is unsubscribed with a list of events |\r\n\r\n## List\r\n| Error Code | Possible Causes |\r\n|-|-|\r\n| ERROR_GOOGLE_TRACKING_DOMAIN_LIMIT_MET | Maximum number of Google tracking domains have already been set for the list |\r\n| ERROR_DOMAIN_ALIAS_INVALID | The provided domain alias is not a valid domain |\r\n| ERROR_DOMAIN_ALIAS_MISCONFIGURED_DNS | The DNS record for the provided domain alias does not point to the correct endpoint |\r\n| ERROR_DOMAIN_ALIAS_INVALID_HSTS | The provided domain alias has HSTS enabled for either all sub-domains, or a domain alias type we are unable to secure |\r\n| ERROR_DOMAIN_ALIAS_PROXY_CERTIFICATE_GENEREATION_FAILED | We were unable to secure the specfied domain alias |\r\n\r\n## Message\r\n| Error Code | Possible Causes |\r\n|-|-|\r\n| ERROR_REVIEW_FLAG_AND_SEND_DATE_SET | `sendReviewMessage` set to true and `sendDate` is set |\r\n| ERROR_TEST_FLAG_AND_REVIEW_FLAG_SET | `sendReviewMessage` and `sendTestMessage` set to true |\r\n| ERROR_TEST_FLAG_AND_SEND_DATE_SET | `sendTestMessage` set to true and `sendDate` is set |\r\n\r\n## Segmentation Field Group\r\n| Error Code | Possible Causes |\r\n|-|-| \r\n| ERROR_SEGMENTATION_FIELD_GROUP_LIMIT_MET | Maximum number of profile field groups have already been created for the list |\r\n\r\n## Transactional Message\r\n| Error Code | Possible Causes |\r\n|-|-|\r\n| ERROR_SEGMENTATION_FIELD_DEFINED_TWICE | Two or more values were supplied for the same `segmentationFieldId` |\r\n| ERROR_TRANSACTIONAL_MESSAGE_EXTERNAL_CONTENT | Contains external content tags |\r\n| ERROR_TRANSACTIONAL_MESSAGE_SYSTEM_LINK | Contains system link tags |\r\n\n# Parameters\r\n## Route Parameters\r\n\r\nResource identifiers are specified in the route. For example, in the route `/Resource/{resourceId}`, `resourceId` is a route parameter. In this example, if you wish to interact with Resource #123, its route would be `/Resource/123`.\r\n\r\n## Query Parameters\r\n\r\nSome routes support additional query parameters; for example, some resources support query parameters relating to paging. Supported query parameters are described in their respective documentation areas.\r\n\r\n## Request Body\r\n\r\nRequest bodies are required for most `POST` and `PUT` requests. Please use a `Content-Type` of `application/json` and provide a JSON object in your request body.\n",
    "x-logo": {
      "url": "/Email/Resources/Images/Logo.png"
    }
  },
  "host": "api.listrak.com",
  "basePath": "/email",
  "schemes": [
    "https"
  ],
  "paths": {
    "/v1/List/{listId}/Campaign": {
      "get": {
        "tags": [
          "Campaign"
        ],
        "summary": "Get all Campaigns",
        "description": "Returns the campaigns associated with the specified list.",
        "operationId": "Campaign_GetCampaignCollection",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Collection[Campaign]"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "data": [
                  {
                    "campaignId": 0,
                    "campaignName": null
                  }
                ]
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Message"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.GetAsync(\"v1/List/{listId}/Campaign\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('GET', 'v1/List/{listId}/Campaign',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      },
      "post": {
        "tags": [
          "Campaign"
        ],
        "summary": "Create a Campaign",
        "description": "Creates a new campaign on the specified list.",
        "operationId": "Campaign_PostCampaignResource",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "campaignResource",
            "in": "body",
            "description": "Representation of the campaign to create.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Campaign"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/ResourceCreated"
            },
            "examples": {
              "application/json": {
                "status": 201,
                "resourceId": "{ResourceId}"
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId supplied."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Message"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.PostAsJsonAsync(\"v1/List/{listId}/Campaign\", new\n{\r\n   CampaignName = null\r\n});\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('POST', 'v1/List/{listId}/Campaign',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken],\r\n\t'json' => $jsonBody\r\n]);\n"
          }
        ]
      }
    },
    "/v1/List/{listId}/Campaign/{campaignId}": {
      "get": {
        "tags": [
          "Campaign"
        ],
        "summary": "Get a Campaign",
        "description": "Returns the specified campaign on the specified list.",
        "operationId": "Campaign_GetCampaignResource",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "campaignId",
            "in": "path",
            "description": "Identifier used to locate the campaign.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Resource[Campaign]"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "data": {
                  "campaignId": 0,
                  "campaignName": null
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId and campaignId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Message"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.GetAsync(\"v1/List/{listId}/Campaign/{campaignId}\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('GET', 'v1/List/{listId}/Campaign/{campaignId}',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      },
      "put": {
        "tags": [
          "Campaign"
        ],
        "summary": "Update a Campaign",
        "description": "Updates an existing campaign.",
        "operationId": "Campaign_PutCampaignResource",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "campaignId",
            "in": "path",
            "description": "Identifier used to locate the campaign.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "campaignResource",
            "in": "body",
            "description": "Representation of the updated campaign.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Campaign"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResourceUpdated"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "resourceId": "{ResourceId}"
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId and campaignId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Message"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.PutAsJsonAsync(\"v1/List/{listId}/Campaign/{campaignId}\", new\n{\r\n   CampaignName = null\r\n});\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('PUT', 'v1/List/{listId}/Campaign/{campaignId}',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken],\r\n\t'json' => $jsonBody\r\n]);\n"
          }
        ]
      },
      "delete": {
        "tags": [
          "Campaign"
        ],
        "summary": "Delete a Campaign",
        "description": "Deletes the specified campaign.",
        "operationId": "Campaign_DeleteCampaignResource",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "campaignId",
            "in": "path",
            "description": "Identifier used to locate the campaign.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResourceDeleted"
            },
            "examples": {
              "application/json": {
                "status": 200
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId and campaignId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Message"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.DeleteAsync(\"v1/List/{listId}/Campaign/{campaignId}\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('DELETE', 'v1/List/{listId}/Campaign/{campaignId}',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      }
    },
    "/v1/List/{listId}/Contact": {
      "get": {
        "tags": [
          "Contact"
        ],
        "summary": "Get all Contacts",
        "description": "Returns the collection of contacts associated with the specified list.",
        "operationId": "Contact_GetContactCollection",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "subscriptionState",
            "in": "query",
            "description": "Identifier used to specify subscription state of the contacts to retrieve. Allowed values are `Subscribed` and `Unsubscribed`. The default value is `Subscribed`.",
            "required": false,
            "type": "string"
          },
          {
            "name": "externalContactId",
            "in": "query",
            "description": "External contact ID provided by the client. If provided, only returns contacts with a matching external contact ID.",
            "required": false,
            "type": "string"
          },
          {
            "name": "segmentationFieldIds",
            "in": "query",
            "description": "Comma-separated list of profile field IDs to retrieve. Up to 30 fields may be included.",
            "required": false,
            "type": "string"
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "Value indicating the page of data that's being retrieved. The default value is `Start`.",
            "required": false,
            "type": "string"
          },
          {
            "name": "count",
            "in": "query",
            "description": "Number of data members to be displayed per page. The default value is `1000` and the maximum value is `5000`.",
            "required": false,
            "type": "string"
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "Inclusive start date that's being used to filter the data members. This applies to subscribe date when retrieving subscribed contacts. Applies to unsubscribe date when retrieving unsubscribed contacts.",
            "required": false,
            "type": "string"
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "Inclusive (exclusive when `useOriginalSubscribeDate` is `false`) end date that's being used to filter the data members. This applies to subscribe date when retrieving subscribed contacts. Applies to unsubscribe date when retrieving unsubscribed contacts.",
            "required": false,
            "type": "string"
          },
          {
            "name": "useOriginalSubscribeDate",
            "in": "query",
            "description": "Whether the `startDate` and `endDate` use the contact's original subscribe date or the contact's most recent subscribe date. Only applies when `subscriptionState` is `Subscribed`. The default value is `true`.",
            "required": false,
            "type": "boolean"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/CollectionPaged[Contact]"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "nextPageCursor": null,
                "data": [
                  {
                    "emailAddress": null,
                    "emailKey": null,
                    "universalEmailKey": null,
                    "subscriptionState": null,
                    "subscribeDate": null,
                    "resubscribeDate": null,
                    "subscribeMethod": null,
                    "unsubscribeDate": null,
                    "unsubscribeMethod": null,
                    "externalContactID": null,
                    "segmentationFieldValues": null
                  }
                ]
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.GetAsync(\"v1/List/{listId}/Contact\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('GET', 'v1/List/{listId}/Contact',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      },
      "post": {
        "tags": [
          "Contact"
        ],
        "summary": "Create or update a Contact",
        "description": "Creates or updates a contact on the specified list.",
        "operationId": "Contact_PostContactResource",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "contactResource",
            "in": "body",
            "description": "Representation of the contact to create or update.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Contact"
            }
          },
          {
            "name": "eventIds",
            "in": "query",
            "description": "Comma-separated list of event identifiers that should be raised after the contact is created or updated.",
            "required": false,
            "type": "string"
          },
          {
            "name": "overrideUnsubscribe",
            "in": "query",
            "description": "Whether a contact in an unsubscribed state should be forced to a subscribed state. The default value is `false`.",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "subscribedByContact",
            "in": "query",
            "description": "Whether the subscribe was initiated by the contact. The default value is `false`.",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "sendDoubleOptIn",
            "in": "query",
            "description": "Whether a double opt-in email should be sent if a new contact is being created. The default value is `false`.",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "updateType",
            "in": "query",
            "description": "If updating an existing contact, the type of update that will be performed on any submitted profile fields. Allowed values are `Update`, `Append`, and `Overwrite`. The default value is `Update`.",
            "required": false,
            "type": "string"
          },
          {
            "name": "newEmailAddress",
            "in": "query",
            "description": "If updating an existing contact, the contact's email address will be changed to this value. Provide the original email address in the `emailAddress` body field to select the existing contact.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/ResourceCreated"
            },
            "examples": {
              "application/json": {
                "status": 201,
                "resourceId": "{ResourceId}"
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId supplied."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.PostAsJsonAsync(\"v1/List/{listId}/Contact?eventIds={eventIds}&overrideUnsubscribe={overrideUnsubscribe}&subscribedByContact={subscribedByContact}&sendDoubleOptIn={sendDoubleOptIn}&updateType={updateType}&newEmailAddress={newEmailAddress}\", new\n{\r\n   EmailAddress = null,\r\n   SubscriptionState = null,\r\n   ExternalContactID = null,\r\n   SegmentationFieldValues = null\r\n});\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('POST', 'v1/List/{listId}/Contact',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken],\r\n\t'json' => $jsonBody\r\n]);\n"
          }
        ]
      }
    },
    "/v1/List/{listId}/Contact/{contactIdentifier}": {
      "get": {
        "tags": [
          "Contact"
        ],
        "summary": "Get a Contact",
        "description": "Returns a contact by email address or by Listrak email key.",
        "operationId": "Contact_GetContactResourceByIdentifier",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "contactIdentifier",
            "in": "path",
            "description": "Identifier used to locate the contact. You may specify either an email address or a Listrak email key.",
            "required": true,
            "type": "string"
          },
          {
            "name": "segmentationFieldIds",
            "in": "query",
            "description": "Comma-separated list of profile field IDs to retrieve. Up to 30 fields may be included.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Resource[Contact]"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "data": {
                  "emailAddress": null,
                  "emailKey": null,
                  "universalEmailKey": null,
                  "subscriptionState": null,
                  "subscribeDate": null,
                  "resubscribeDate": null,
                  "subscribeMethod": null,
                  "unsubscribeDate": null,
                  "unsubscribeMethod": null,
                  "externalContactID": null,
                  "segmentationFieldValues": null
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId and contactIdentifier supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.GetAsync(\"v1/List/{listId}/Contact/{contactIdentifier}\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('GET', 'v1/List/{listId}/Contact/{contactIdentifier}',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      }
    },
    "/v1/List/{listId}/Contact/SegmentationField": {
      "post": {
        "tags": [
          "ContactSegmentationField"
        ],
        "summary": "Start a list import to update one or more contact profile fields",
        "description": "This route is in Beta and not yet generally available for all integrations. One or more list imports will be started to update the specified contact profile fields on the specified list.",
        "operationId": "ContactSegmentationField_PostContactSegmentationFieldValuesResource",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "contactSegmentationFieldValues",
            "in": "body",
            "description": "An array of one or more contacts with profile field values to update.",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ContactSegmentationFieldValues"
              }
            }
          }
        ],
        "responses": {
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/ResourceCreated"
            },
            "examples": {
              "application/json": {
                "status": 201,
                "resourceId": "{ResourceId}"
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId supplied."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.PostAsJsonAsync(\"v1/List/{listId}/Contact/SegmentationField\", new\n[]);\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('POST', 'v1/List/{listId}/Contact/SegmentationField',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken],\r\n\t'json' => $jsonBody\r\n]);\n"
          }
        ]
      }
    },
    "/v1/Content": {
      "get": {
        "tags": [
          "Content"
        ],
        "summary": "Get all Content",
        "description": "Returns the collection of content blocks associated with the account.",
        "operationId": "Content_GetContentCollection",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Collection[Content]"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "data": [
                  {
                    "contentId": 0,
                    "contentFolderId": 0,
                    "contentName": null,
                    "textContent": null,
                    "htmlContent": null,
                    "contentType": 0,
                    "contentReadOnly": false,
                    "lastModifiedDate": "0001-01-01T00:00:00"
                  }
                ]
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "Message"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.GetAsync(\"v1/Content\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('GET', 'v1/Content',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      },
      "post": {
        "tags": [
          "Content"
        ],
        "summary": "Create Content",
        "description": "Creates a new content block in the content library.",
        "operationId": "Content_PostCreateContent",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "contentResource",
            "in": "body",
            "description": "The content to create.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ContentCreate"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/ResourceCreated"
            },
            "examples": {
              "application/json": {
                "status": 201,
                "resourceId": "{ResourceId}"
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "Message"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.PostAsJsonAsync(\"v1/Content\", new\n{\r\n   ContentFolderId = null,\r\n   ContentName = null,\r\n   TextContent = null,\r\n   HtmlContent = null,\r\n   ContentType = null\r\n});\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('POST', 'v1/Content',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken],\r\n\t'json' => $jsonBody\r\n]);\n"
          }
        ]
      }
    },
    "/v1/Content/{contentId}": {
      "get": {
        "tags": [
          "Content"
        ],
        "summary": "Get a Content",
        "description": "Returns the specified content block.",
        "operationId": "Content_GetContentResource",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "contentId",
            "in": "path",
            "description": "Identifier used to locate the content.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Resource[Content]"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "data": {
                  "contentId": 0,
                  "contentFolderId": 0,
                  "contentName": null,
                  "textContent": null,
                  "htmlContent": null,
                  "contentType": 0,
                  "contentReadOnly": false,
                  "lastModifiedDate": "0001-01-01T00:00:00"
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the contentId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "Message"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.GetAsync(\"v1/Content/{contentId}\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('GET', 'v1/Content/{contentId}',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      },
      "put": {
        "tags": [
          "Content"
        ],
        "summary": "Update a Content",
        "description": "Updates an existing content block. Content used in a live dynamic content block cannot be modified.",
        "operationId": "Content_PutUpdateContent",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "contentId",
            "in": "path",
            "description": "Identifier used to locate the content.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "contentResource",
            "in": "body",
            "description": "The content fields to update.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ContentUpdate"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Resource[Content]"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "data": {
                  "contentId": 0,
                  "contentFolderId": 0,
                  "contentName": null,
                  "textContent": null,
                  "htmlContent": null,
                  "contentType": 0,
                  "contentReadOnly": false,
                  "lastModifiedDate": "0001-01-01T00:00:00"
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the contentId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "Message"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.PutAsJsonAsync(\"v1/Content/{contentId}\", new\n{\r\n   ContentFolderId = null,\r\n   ContentName = null,\r\n   TextContent = null,\r\n   HtmlContent = null\r\n});\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('PUT', 'v1/Content/{contentId}',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken],\r\n\t'json' => $jsonBody\r\n]);\n"
          }
        ]
      }
    },
    "/v1/ContentFolder": {
      "get": {
        "tags": [
          "ContentFolder"
        ],
        "summary": "Get all Content Folders",
        "description": "Returns the collection of content library folders associated with the account.",
        "operationId": "ContentFolder_GetContentFolderCollection",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Collection[ContentFolder]"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "data": [
                  {
                    "contentFolderId": 0,
                    "listId": null,
                    "parentFolderId": null,
                    "folderName": null
                  }
                ]
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "Message"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.GetAsync(\"v1/ContentFolder\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('GET', 'v1/ContentFolder',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      }
    },
    "/v1/List/{listId}/Conversation": {
      "get": {
        "tags": [
          "Conversation"
        ],
        "summary": "Get all Conversations",
        "description": "Returns the collection of conversations associated with the specified list.",
        "operationId": "Conversation_GetConversationCollection",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Collection[Conversation]"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "data": [
                  {
                    "conversationId": 0,
                    "conversationName": null,
                    "campaignId": 0,
                    "expirationDate": null,
                    "status": null
                  }
                ]
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.GetAsync(\"v1/List/{listId}/Conversation\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('GET', 'v1/List/{listId}/Conversation',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      }
    },
    "/v1/List/{listId}/Conversation/{conversationId}": {
      "get": {
        "tags": [
          "Conversation"
        ],
        "summary": "Get a Conversation",
        "description": "Returns the specified conversation.",
        "operationId": "Conversation_GetConversationResource",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "conversationId",
            "in": "path",
            "description": "Identifier used to locate the conversation.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Resource[Conversation]"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "data": {
                  "conversationId": 0,
                  "conversationName": null,
                  "campaignId": 0,
                  "expirationDate": null,
                  "status": null
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId and conversationId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.GetAsync(\"v1/List/{listId}/Conversation/{conversationId}\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('GET', 'v1/List/{listId}/Conversation/{conversationId}',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      }
    },
    "/v1/List/{listId}/Conversation/{conversationId}/Message": {
      "get": {
        "tags": [
          "ConversationMessage"
        ],
        "summary": "Get all Conversation Messages",
        "description": "Returns the collection of messages for the specified conversation.",
        "operationId": "ConversationMessage_GetConversationMessageCollection",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "conversationId",
            "in": "path",
            "description": "Identifier used to locate the conversation.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "Value indicating the page of data that's being retrieved. The default value is `Start`.",
            "required": false,
            "type": "string"
          },
          {
            "name": "count",
            "in": "query",
            "description": "Number of data members to be displayed per page. The default value is `1000` and the maximum value is `5000`.",
            "required": false,
            "type": "string"
          },
          {
            "name": "includePreviousVersions",
            "in": "query",
            "description": "Whether messages from previous versions of the conversation should be should be included in the collection. The default value is `false`.",
            "required": false,
            "type": "boolean"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/CollectionPaged[Message]"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "nextPageCursor": null,
                "data": [
                  {
                    "messageId": 0,
                    "sendDate": null,
                    "messageStatus": null,
                    "campaignId": 0,
                    "externalCampaignId": null,
                    "subject": null
                  }
                ]
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId and conversationId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Message"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.GetAsync(\"v1/List/{listId}/Conversation/{conversationId}/Message\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('GET', 'v1/List/{listId}/Conversation/{conversationId}/Message',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      }
    },
    "/v1/List/{listId}/Conversation/{conversationId}/Message/{conversationMessageId}": {
      "get": {
        "tags": [
          "ConversationMessage"
        ],
        "summary": "Get a Conversation Message",
        "description": "Returns the specified message.",
        "operationId": "ConversationMessage_GetConversationMessageResource",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "conversationId",
            "in": "path",
            "description": "Identifier used to locate the conversation.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "conversationMessageId",
            "in": "path",
            "description": "Identifier used to locate the message.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Resource[MessageExtended]"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "data": {
                  "messageId": 0,
                  "sendDate": null,
                  "messageStatus": null,
                  "enableUniversalEmailKeySetting": false,
                  "campaignId": 0,
                  "bodyHtml": null,
                  "bodyText": null,
                  "codePage": 0,
                  "enablePassalong": false,
                  "enableTracking": false,
                  "externalCampaignId": null,
                  "fromEmail": null,
                  "fromName": null,
                  "googleAnalyticsCampaignName": null,
                  "googleAnalyticsCampaignContent": null,
                  "replyEmail": null,
                  "savedAudienceId": 0,
                  "subject": null,
                  "toName": null
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId, conversationId, and conversationMessageId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Message"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.GetAsync(\"v1/List/{listId}/Conversation/{conversationId}/Message/{conversationMessageId}\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('GET', 'v1/List/{listId}/Conversation/{conversationId}/Message/{conversationMessageId}',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      }
    },
    "/v1/List/{listId}/Conversation/{conversationId}/Message/{conversationMessageId}/Activity": {
      "get": {
        "tags": [
          "ConversationMessageActivity"
        ],
        "summary": "Get all Conversation Message Activity",
        "description": "Returns the collection of activity associated with the specified conversation message.",
        "operationId": "ConversationMessageActivity_GetConversationMessageActivityCollection",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "conversationId",
            "in": "path",
            "description": "Identifier used to locate the message.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "conversationMessageId",
            "in": "path",
            "description": "Identifier used to locate the message.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "activityType",
            "in": "query",
            "description": "The type of activity performed by the contact.",
            "required": false,
            "type": "string"
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "Value indicating the page of data that's being retrieved. The default value is `Start`.",
            "required": false,
            "type": "string"
          },
          {
            "name": "count",
            "in": "query",
            "description": "Number of data members to be displayed per page. The default value is `1000` and the maximum value is `5000`.",
            "required": false,
            "type": "string"
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "Start date that's being used to filter the data members.",
            "required": false,
            "type": "string"
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "End date that's being used to filter the data members.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/CollectionPaged[MessageActivity]"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "nextPageCursor": null,
                "data": [
                  {
                    "abuse": false,
                    "activityDate": null,
                    "bounce": false,
                    "bounceReason": null,
                    "click": false,
                    "clickCount": 0,
                    "emailAddress": null,
                    "open": false,
                    "orderTotal": 0.0,
                    "read": false,
                    "sendDate": null,
                    "unsubscribe": false,
                    "visitDate": null,
                    "externalContactID": null
                  }
                ]
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId, conversationId, and conversationMessageId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Message",
              "Report"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.GetAsync(\"v1/List/{listId}/Conversation/{conversationId}/Message/{conversationMessageId}/Activity\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('GET', 'v1/List/{listId}/Conversation/{conversationId}/Message/{conversationMessageId}/Activity',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      }
    },
    "/v1/List/{listId}/Conversation/{conversationId}/Message/{conversationMessageId}/Link": {
      "get": {
        "tags": [
          "ConversationMessageLink"
        ],
        "summary": "Get all Conversation Message Links",
        "description": "Returns the collection of links for the specified conversation message.",
        "operationId": "ConversationMessageLink_GetConversationMessageLinkCollection",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "conversationId",
            "in": "path",
            "description": "Identifier used to locate the conversation.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "conversationMessageId",
            "in": "path",
            "description": "Identifier used to locate the message.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "Value indicating the page of data that's being retrieved. The default value is `Start`.",
            "required": false,
            "type": "string"
          },
          {
            "name": "count",
            "in": "query",
            "description": "Number of data members to be displayed per page. The default value is `1000` and the maximum value is `5000`.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/CollectionPaged[MessageLink]"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "nextPageCursor": null,
                "data": [
                  {
                    "linkId": 0,
                    "linkDescription": null,
                    "linkUrl": null,
                    "clickCount": 0
                  }
                ]
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId, conversationId, and conversationMessageId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Message",
              "Report"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.GetAsync(\"v1/List/{listId}/Conversation/{conversationId}/Message/{conversationMessageId}/Link\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('GET', 'v1/List/{listId}/Conversation/{conversationId}/Message/{conversationMessageId}/Link',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      }
    },
    "/v1/List/{listId}/Conversation/{conversationId}/Message/{conversationMessageId}/Link/{conversationMessageLinkId}": {
      "get": {
        "tags": [
          "ConversationMessageLink"
        ],
        "summary": "Get a Conversation Message Link",
        "description": "Returns the specified conversation message link.",
        "operationId": "ConversationMessageLink_GetConversationMessageLinkResource",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "conversationId",
            "in": "path",
            "description": "Identifier used to locate the conversation.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "conversationMessageId",
            "in": "path",
            "description": "Identifier used to locate the message.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "conversationMessageLinkId",
            "in": "path",
            "description": "Identifier used to locate the link.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Resource[MessageLink]"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "data": {
                  "linkId": 0,
                  "linkDescription": null,
                  "linkUrl": null,
                  "clickCount": 0
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId, conversationId, conversationMessageId, and conversationMessageLinkId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Message",
              "Report"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.GetAsync(\"v1/List/{listId}/Conversation/{conversationId}/Message/{conversationMessageId}/Link/{conversationMessageLinkId}\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('GET', 'v1/List/{listId}/Conversation/{conversationId}/Message/{conversationMessageId}/Link/{conversationMessageLinkId}',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      }
    },
    "/v1/List/{listId}/Conversation/{conversationId}/Message/{conversationMessageId}/Link/{conversationMessageLinkId}/Clicker": {
      "get": {
        "tags": [
          "ConversationMessageLinkClicker"
        ],
        "summary": "Get all Conversation Message Link Clickers",
        "description": "Returns the collection of contacts that clicked the specified conversation message link.",
        "operationId": "ConversationMessageLinkClicker_GetMessageLinkClickerCollection",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "conversationId",
            "in": "path",
            "description": "Identifier used to locate the conversation.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "conversationMessageId",
            "in": "path",
            "description": "Identifier used to locate the message.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "conversationMessageLinkId",
            "in": "path",
            "description": "Identifier used to locate the link.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "Value indicating the page of data that's being retrieved. The default value is `Start`.",
            "required": false,
            "type": "string"
          },
          {
            "name": "count",
            "in": "query",
            "description": "Number of data members to be displayed per page. The default value is `1000` and the maximum value is `5000`.",
            "required": false,
            "type": "string"
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "Start date that's being used to filter the data members.",
            "required": false,
            "type": "string"
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "End date that's being used to filter the data members.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/CollectionPaged[MessageLinkClicker]"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "nextPageCursor": null,
                "data": [
                  {
                    "emailAddress": null,
                    "clickDate": null
                  }
                ]
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId, conversationId, conversationMessageId, and conversationMessageLinkId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Message",
              "Report"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.GetAsync(\"v1/List/{listId}/Conversation/{conversationId}/Message/{conversationMessageId}/Link/{conversationMessageLinkId}/Clicker\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('GET', 'v1/List/{listId}/Conversation/{conversationId}/Message/{conversationMessageId}/Link/{conversationMessageLinkId}/Clicker',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      }
    },
    "/v1/List/{listId}/Conversation/{conversationId}/Message/{conversationMessageId}/Summary": {
      "get": {
        "tags": [
          "ConversationMessageSummary"
        ],
        "summary": "Get Conversation Message Summary",
        "description": "Returns a summary of the specified conversation message.",
        "operationId": "ConversationMessageSummary_GetMessageSummaryResource",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "conversationId",
            "in": "path",
            "description": "Identifier used to locate the conversation.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "conversationMessageId",
            "in": "path",
            "description": "Identifier used to locate the message.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Resource[MessageSummary]"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "data": {
                  "averageOrderValue": 0.0,
                  "bounceCount": 0,
                  "clickCount": 0,
                  "conversionCount": 0,
                  "openCount": 0,
                  "passAlongCount": 0,
                  "readCount": 0,
                  "revenue": 0.0,
                  "sentCount": 0,
                  "unsubscribeCount": 0,
                  "visitCount": 0
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId, conversationId, and conversationMessageId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Message",
              "Report"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.GetAsync(\"v1/List/{listId}/Conversation/{conversationId}/Message/{conversationMessageId}/Summary\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('GET', 'v1/List/{listId}/Conversation/{conversationId}/Message/{conversationMessageId}/Summary',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      }
    },
    "/v1/List/{listId}/Conversation/{conversationId}/Summary": {
      "get": {
        "tags": [
          "ConversationSummary"
        ],
        "summary": "Get Conversation Summary",
        "description": "Returns a summary of the specified conversation.",
        "operationId": "ConversationSummary_GetConversationSummaryResource",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "conversationId",
            "in": "path",
            "description": "Identifier used to locate the conversation.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Resource[ConversationSummary]"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "data": {
                  "averageOrderValue": 0.0,
                  "bounceCount": 0,
                  "clickCount": 0,
                  "conversionCount": 0,
                  "deliveredCount": 0,
                  "openCount": 0,
                  "readCount": 0,
                  "revenue": 0.0,
                  "sentCount": 0,
                  "unsubscribeCount": 0,
                  "visitCount": 0
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId and conversationId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Report"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.GetAsync(\"v1/List/{listId}/Conversation/{conversationId}/Summary\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('GET', 'v1/List/{listId}/Conversation/{conversationId}/Summary',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      }
    },
    "/v1/List/{listId}/Event": {
      "get": {
        "tags": [
          "Event"
        ],
        "summary": "Get all Events",
        "description": "Returns the collection of events associated with the specified list.",
        "operationId": "Event_GetEventCollection",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Collection[Event]"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "data": [
                  {
                    "eventId": 0,
                    "eventName": null,
                    "eventGroupId": 0,
                    "status": null
                  }
                ]
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Event"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.GetAsync(\"v1/List/{listId}/Event\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('GET', 'v1/List/{listId}/Event',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      },
      "post": {
        "tags": [
          "Event"
        ],
        "summary": "Create an Event",
        "description": "Creates a new event on the specified list.",
        "operationId": "Event_PostEventResource",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "eventResource",
            "in": "body",
            "description": "Representation of the event to create.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Event"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/ResourceCreated"
            },
            "examples": {
              "application/json": {
                "status": 201,
                "resourceId": "{ResourceId}"
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId supplied."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Event"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.PostAsJsonAsync(\"v1/List/{listId}/Event\", new\n{\r\n   EventName = null,\r\n   EventGroupId = 0,\r\n   Status = null\r\n});\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('POST', 'v1/List/{listId}/Event',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken],\r\n\t'json' => $jsonBody\r\n]);\n"
          }
        ]
      }
    },
    "/v1/List/{listId}/Event/{eventId}": {
      "get": {
        "tags": [
          "Event"
        ],
        "summary": "Get an Event",
        "description": "Returns the specified event.",
        "operationId": "Event_GetEventResource",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "eventId",
            "in": "path",
            "description": "Identifier used to locate the event.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Resource[Event]"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "data": {
                  "eventId": 0,
                  "eventName": null,
                  "eventGroupId": 0,
                  "status": null
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId and eventId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Event"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.GetAsync(\"v1/List/{listId}/Event/{eventId}\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('GET', 'v1/List/{listId}/Event/{eventId}',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      },
      "put": {
        "tags": [
          "Event"
        ],
        "summary": "Update an Event",
        "description": "Updates an existing event.",
        "operationId": "Event_PutEventResource",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "eventId",
            "in": "path",
            "description": "Identifier used to locate the event.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "eventResource",
            "in": "body",
            "description": "Representation of the updated event.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Event"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResourceUpdated"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "resourceId": "{ResourceId}"
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId and eventId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Event"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.PutAsJsonAsync(\"v1/List/{listId}/Event/{eventId}\", new\n{\r\n   EventName = null,\r\n   EventGroupId = 0,\r\n   Status = null\r\n});\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('PUT', 'v1/List/{listId}/Event/{eventId}',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken],\r\n\t'json' => $jsonBody\r\n]);\n"
          }
        ]
      }
    },
    "/v1/List/{listId}/EventGroup": {
      "get": {
        "tags": [
          "EventGroup"
        ],
        "summary": "Get all EventGroups",
        "description": "Returns the collection of event groups associated with the specified list.",
        "operationId": "EventGroup_GetEventGroupCollection",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Collection[EventGroup]"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "data": [
                  {
                    "eventGroupId": 0,
                    "eventGroupName": null
                  }
                ]
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Event"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.GetAsync(\"v1/List/{listId}/EventGroup\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('GET', 'v1/List/{listId}/EventGroup',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      },
      "post": {
        "tags": [
          "EventGroup"
        ],
        "summary": "Create an EventGroup",
        "description": "Creates a new event group on the specified list.",
        "operationId": "EventGroup_PostEventGroupResource",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "eventGroupResource",
            "in": "body",
            "description": "Representation of the event group to create.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EventGroup"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/ResourceCreated"
            },
            "examples": {
              "application/json": {
                "status": 201,
                "resourceId": "{ResourceId}"
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId supplied."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Event"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.PostAsJsonAsync(\"v1/List/{listId}/EventGroup\", new\n{\r\n   EventGroupName = null\r\n});\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('POST', 'v1/List/{listId}/EventGroup',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken],\r\n\t'json' => $jsonBody\r\n]);\n"
          }
        ]
      }
    },
    "/v1/List/{listId}/EventGroup/{eventGroupId}": {
      "get": {
        "tags": [
          "EventGroup"
        ],
        "summary": "Get an EventGroup",
        "description": "Returns the specified event group.",
        "operationId": "EventGroup_GetEventGroupResource",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "eventGroupId",
            "in": "path",
            "description": "Identifier used to locate the event group.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Resource[EventGroup]"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "data": {
                  "eventGroupId": 0,
                  "eventGroupName": null
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId and eventGroupId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Event"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.GetAsync(\"v1/List/{listId}/EventGroup/{eventGroupId}\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('GET', 'v1/List/{listId}/EventGroup/{eventGroupId}',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      },
      "put": {
        "tags": [
          "EventGroup"
        ],
        "summary": "Update an EventGroup",
        "description": "Updates an existing event group.",
        "operationId": "EventGroup_PutEventGroupResource",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "eventGroupId",
            "in": "path",
            "description": "Identifier used to locate the event group.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "eventGroupResource",
            "in": "body",
            "description": "Representation of the updated event group.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EventGroup"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResourceUpdated"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "resourceId": "{ResourceId}"
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId and eventGroupId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Event"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.PutAsJsonAsync(\"v1/List/{listId}/EventGroup/{eventGroupId}\", new\n{\r\n   EventGroupName = null\r\n});\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('PUT', 'v1/List/{listId}/EventGroup/{eventGroupId}',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken],\r\n\t'json' => $jsonBody\r\n]);\n"
          }
        ]
      },
      "delete": {
        "tags": [
          "EventGroup"
        ],
        "summary": "Delete an EventGroup",
        "description": "Deletes the specified event group.",
        "operationId": "EventGroup_DeleteEventGroupResource",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "eventGroupId",
            "in": "path",
            "description": "Identifier used to locate the event group.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResourceDeleted"
            },
            "examples": {
              "application/json": {
                "status": 200
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId and eventGroupId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Event"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.DeleteAsync(\"v1/List/{listId}/EventGroup/{eventGroupId}\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('DELETE', 'v1/List/{listId}/EventGroup/{eventGroupId}',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      }
    },
    "/v1/Folder": {
      "get": {
        "tags": [
          "Folder"
        ],
        "summary": "Get all Folders",
        "description": "Returns your account's collection of folders.",
        "operationId": "Folder_GetFolderCollection",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Collection[Folder]"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "data": [
                  {
                    "folderId": 0,
                    "folderName": null
                  }
                ]
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.GetAsync(\"v1/Folder\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('GET', 'v1/Folder',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      },
      "post": {
        "tags": [
          "Folder"
        ],
        "summary": "Create a Folder",
        "description": "Creates a new folder in your account.",
        "operationId": "Folder_PostFolderResource",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "folderResource",
            "in": "body",
            "description": "Representation of the folder to create.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Folder"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/ResourceCreated"
            },
            "examples": {
              "application/json": {
                "status": 201,
                "resourceId": "{ResourceId}"
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.PostAsJsonAsync(\"v1/Folder\", new\n{\r\n   FolderName = null\r\n});\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('POST', 'v1/Folder',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken],\r\n\t'json' => $jsonBody\r\n]);\n"
          }
        ]
      }
    },
    "/v1/Folder/{folderId}": {
      "get": {
        "tags": [
          "Folder"
        ],
        "summary": "Get a Folder",
        "description": "Returns the specified folder.",
        "operationId": "Folder_GetFolderResource",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "folderId",
            "in": "path",
            "description": "Identifier used to locate the folder.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Resource[Folder]"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "data": {
                  "folderId": 0,
                  "folderName": null
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the folderId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.GetAsync(\"v1/Folder/{folderId}\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('GET', 'v1/Folder/{folderId}',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      },
      "put": {
        "tags": [
          "Folder"
        ],
        "summary": "Update a Folder",
        "description": "Updates the specified folder.",
        "operationId": "Folder_PutFolderResource",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "folderId",
            "in": "path",
            "description": "Identifier used to locate the folder.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "folderResource",
            "in": "body",
            "description": "Representation of the updated folder.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Folder"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResourceUpdated"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "resourceId": "{ResourceId}"
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the folderId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.PutAsJsonAsync(\"v1/Folder/{folderId}\", new\n{\r\n   FolderName = null\r\n});\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('PUT', 'v1/Folder/{folderId}',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken],\r\n\t'json' => $jsonBody\r\n]);\n"
          }
        ]
      }
    },
    "/v1/IpPool": {
      "get": {
        "tags": [
          "IpPool"
        ],
        "summary": "Get all IpPools",
        "description": "Returns your account's collection of IP pools.",
        "operationId": "IpPool_GetIpPoolCollection",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Collection[IpPool]"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "nextPageCursor": null,
                "data": [
                  {
                    "ipPoolId": 0,
                    "ipPoolDescription": null
                  }
                ]
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.GetAsync(\"v1/IpPool\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('GET', 'v1/IpPool',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      }
    },
    "/v1/List": {
      "get": {
        "tags": [
          "List"
        ],
        "summary": "Get all Lists",
        "description": "Returns your account's collection of lists.",
        "operationId": "List_GetListCollection",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Collection[List]"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "data": [
                  {
                    "listId": 0,
                    "listName": null,
                    "folderId": 0,
                    "ipPoolId": 0,
                    "bounceDomainAlias": null,
                    "bounceHandling": null,
                    "bounceUnsubscribeCount": 0,
                    "createDate": "0001-01-01T00:00:00",
                    "enableBrowserLink": false,
                    "enableDoubleOptIn": false,
                    "enableDynamicContent": false,
                    "enableGoogleAnalytics": false,
                    "enableInternationalization": false,
                    "enableListHygiene": false,
                    "enableListRemovalHeader": false,
                    "enableListRemovalLink": false,
                    "enableListrakAnalytics": false,
                    "enableSpamScorePersonalization": false,
                    "enableToNamePersonalization": false,
                    "enableUniversalEmailKeySetting": false,
                    "fromEmail": null,
                    "fromName": null,
                    "googleTrackingDomains": null,
                    "linkDomainAlias": null,
                    "mediaDomainAlias": null
                  }
                ]
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.GetAsync(\"v1/List\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('GET', 'v1/List',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      },
      "post": {
        "tags": [
          "List"
        ],
        "summary": "Create a List",
        "description": "Creates a new list in your account.",
        "operationId": "List_PostListResource",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listResource",
            "in": "body",
            "description": "Representation of the list to create.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/List"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/ResourceCreated"
            },
            "examples": {
              "application/json": {
                "status": 201,
                "resourceId": "{ResourceId}"
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.PostAsJsonAsync(\"v1/List\", new\n{\r\n   ListName = null,\r\n   FolderId = 0,\r\n   IpPoolId = 0,\r\n   BounceDomainAlias = null,\r\n   BounceHandling = null,\r\n   BounceUnsubscribeCount = 0,\r\n   CreateDate =  0001-01-01T00=00=00 ,\r\n   EnableBrowserLink = false,\r\n   EnableDoubleOptIn = false,\r\n   EnableDynamicContent = false,\r\n   EnableGoogleAnalytics = false,\r\n   EnableInternationalization = false,\r\n   EnableListHygiene = false,\r\n   EnableListRemovalHeader = false,\r\n   EnableListRemovalLink = false,\r\n   EnableListrakAnalytics = false,\r\n   EnableSpamScorePersonalization = false,\r\n   EnableToNamePersonalization = false,\r\n   EnableUniversalEmailKeySetting = false,\r\n   FromEmail = null,\r\n   FromName = null,\r\n   GoogleTrackingDomains = null,\r\n   LinkDomainAlias = null,\r\n   MediaDomainAlias = null\r\n});\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('POST', 'v1/List',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken],\r\n\t'json' => $jsonBody\r\n]);\n"
          }
        ]
      }
    },
    "/v1/List/{listId}": {
      "get": {
        "tags": [
          "List"
        ],
        "summary": "Get a List",
        "description": "Returns the specified list.",
        "operationId": "List_GetListResourceById",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Resource[List]"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "data": {
                  "listId": 0,
                  "listName": null,
                  "folderId": 0,
                  "ipPoolId": 0,
                  "bounceDomainAlias": null,
                  "bounceHandling": null,
                  "bounceUnsubscribeCount": 0,
                  "createDate": "0001-01-01T00:00:00",
                  "enableBrowserLink": false,
                  "enableDoubleOptIn": false,
                  "enableDynamicContent": false,
                  "enableGoogleAnalytics": false,
                  "enableInternationalization": false,
                  "enableListHygiene": false,
                  "enableListRemovalHeader": false,
                  "enableListRemovalLink": false,
                  "enableListrakAnalytics": false,
                  "enableSpamScorePersonalization": false,
                  "enableToNamePersonalization": false,
                  "enableUniversalEmailKeySetting": false,
                  "fromEmail": null,
                  "fromName": null,
                  "googleTrackingDomains": null,
                  "linkDomainAlias": null,
                  "mediaDomainAlias": null
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.GetAsync(\"v1/List/{listId}\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('GET', 'v1/List/{listId}',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      },
      "put": {
        "tags": [
          "List"
        ],
        "summary": "Update a List",
        "description": "Updates the specified list.",
        "operationId": "List_PutListResource",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "listResource",
            "in": "body",
            "description": "Representation of the updated list.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/List"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResourceUpdated"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "resourceId": "{ResourceId}"
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.PutAsJsonAsync(\"v1/List/{listId}\", new\n{\r\n   ListName = null,\r\n   FolderId = 0,\r\n   IpPoolId = 0,\r\n   BounceDomainAlias = null,\r\n   BounceHandling = null,\r\n   BounceUnsubscribeCount = 0,\r\n   CreateDate =  0001-01-01T00=00=00 ,\r\n   EnableBrowserLink = false,\r\n   EnableDoubleOptIn = false,\r\n   EnableDynamicContent = false,\r\n   EnableGoogleAnalytics = false,\r\n   EnableInternationalization = false,\r\n   EnableListHygiene = false,\r\n   EnableListRemovalHeader = false,\r\n   EnableListRemovalLink = false,\r\n   EnableListrakAnalytics = false,\r\n   EnableSpamScorePersonalization = false,\r\n   EnableToNamePersonalization = false,\r\n   EnableUniversalEmailKeySetting = false,\r\n   FromEmail = null,\r\n   FromName = null,\r\n   GoogleTrackingDomains = null,\r\n   LinkDomainAlias = null,\r\n   MediaDomainAlias = null\r\n});\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('PUT', 'v1/List/{listId}',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken],\r\n\t'json' => $jsonBody\r\n]);\n"
          }
        ]
      },
      "delete": {
        "tags": [
          "List"
        ],
        "summary": "Delete a List",
        "description": "Deletes the specified list.",
        "operationId": "List_DeleteListResource",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResourceDeleted"
            },
            "examples": {
              "application/json": {
                "status": 200
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.DeleteAsync(\"v1/List/{listId}\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('DELETE', 'v1/List/{listId}',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      }
    },
    "/v1/List/{listId}/ListImport": {
      "get": {
        "tags": [
          "ListImport"
        ],
        "summary": "Get all List Imports",
        "description": "Retrieves the collection of list imports associated with the specified list.",
        "operationId": "ListImport_GetListImportCollection",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "Value indicating the page of data that's being retrieved. The default value is `Start`.",
            "required": false,
            "type": "string"
          },
          {
            "name": "count",
            "in": "query",
            "description": "Number of data members to be displayed per page. The default value is `1000` and the maximum value is `5000`.",
            "required": false,
            "type": "string"
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "Start date that's being used to filter the data members.",
            "required": false,
            "type": "string"
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "End date that's being used to filter the data members.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Collection[ListImport]"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "data": [
                  {
                    "importFileId": 0,
                    "importFileName": null,
                    "importDate": "0001-01-01T00:00:00"
                  }
                ]
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Contact"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.GetAsync(\"v1/List/{listId}/ListImport\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('GET', 'v1/List/{listId}/ListImport',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      },
      "post": {
        "tags": [
          "ListImport"
        ],
        "summary": "Start a List Import",
        "description": "Creates and starts a new import for the specified list. HTTP request body lengths of up to 250 MB are permitted. Because the `fileStream` field must be encoded in Base64, and because the remainder of the JSON payload is counted against the 250 MB limit, the effective maximum import file size is approximately 185 MB (195,000,000 bytes); therefore, only attempt to import files up to 185 MB (195,000,000 bytes) in size.",
        "operationId": "ListImport_PostImportFileResource",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "importFileResource",
            "in": "body",
            "description": "Representation of the import file to utilize.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ImportFile"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/ResourceCreated"
            },
            "examples": {
              "application/json": {
                "status": 201,
                "resourceId": "{ResourceId}"
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId supplied."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Contact"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.PostAsJsonAsync(\"v1/List/{listId}/ListImport\", new\n{\r\n   FileDelimiter = null,\r\n   FileMappings = null,\r\n   FileName = null,\r\n   FileStream = null,\r\n   HasColumnNames = false,\r\n   ImportType = null,\r\n   SegmentationImportType = null,\r\n   SuppressEmailNotifications = false,\r\n   TextQualifier = null,\r\n   TriggerJourney = false,\r\n   IncludeUnsubscribed = false\r\n});\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('POST', 'v1/List/{listId}/ListImport',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken],\r\n\t'json' => $jsonBody\r\n]);\n"
          }
        ]
      }
    },
    "/v1/List/{listId}/ListImport/{importFileId}": {
      "get": {
        "tags": [
          "ListImport"
        ],
        "summary": "Get a List Import",
        "description": "Retrieves the specified list import.",
        "operationId": "ListImport_GetListImportResource",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "importFileId",
            "in": "path",
            "description": "Identifier used to locate the import file.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Resource[ListImport]"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "data": {
                  "importFileId": 0,
                  "importFileName": null,
                  "importDate": "0001-01-01T00:00:00"
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId and importFileId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Contact"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.GetAsync(\"v1/List/{listId}/ListImport/{importFileId}\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('GET', 'v1/List/{listId}/ListImport/{importFileId}',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      }
    },
    "/v1/List/{listId}/ListImport/{importFileId}/Contact": {
      "get": {
        "tags": [
          "ListImportContact"
        ],
        "summary": "Get all List Import Contacts",
        "description": "Returns the collection of contacts associated with the specified list import.",
        "operationId": "ListImportContact_GetListImportContactCollection",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "importFileId",
            "in": "path",
            "description": "Identifier used to locate the list import.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "Value indicating the page of data that's being retrieved. The default value is `Start`.",
            "required": false,
            "type": "string"
          },
          {
            "name": "count",
            "in": "query",
            "description": "Number of data members to be displayed per page. The default value is `1000` and the maximum value is `5000`.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/CollectionPaged[ListImportContact]"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "nextPageCursor": null,
                "data": [
                  {
                    "emailAddress": null,
                    "importResult": null
                  }
                ]
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId and importFileId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Contact",
              "Report"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.GetAsync(\"v1/List/{listId}/ListImport/{importFileId}/Contact\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('GET', 'v1/List/{listId}/ListImport/{importFileId}/Contact',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      }
    },
    "/v1/List/{listId}/ListImport/{importFileId}/Status": {
      "get": {
        "tags": [
          "ListImportStatus"
        ],
        "summary": "Get a List Import Status",
        "description": "Returns the status of the list import.",
        "operationId": "ListImportStatus_GetListImportStatusResource",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "importFileId",
            "in": "path",
            "description": "Identifier used to locate the import file.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Resource[ListImportStatus]"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "data": {
                  "startDate": null,
                  "endDate": null,
                  "status": null
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId and importFileId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Contact",
              "Report"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.GetAsync(\"v1/List/{listId}/ListImport/{importFileId}/Status\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('GET', 'v1/List/{listId}/ListImport/{importFileId}/Status',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      }
    },
    "/v1/List/{listId}/ListImport/{importFileId}/Summary": {
      "get": {
        "tags": [
          "ListImportSummary"
        ],
        "summary": "Get a List Import Summary",
        "description": "Returns a summary of the specified list import.",
        "operationId": "ListImportSummary_GetListImportSummaryResource",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "importFileId",
            "in": "path",
            "description": "Identifier used to locate the import file.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Resource[ListImportSummary]"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "data": {
                  "alreadySubscribedCount": 0,
                  "alreadyUnsubscribedCount": 0,
                  "bannedCount": 0,
                  "invalidEmailCount": 0,
                  "previouslyUnsubscribedCount": 0,
                  "processedCount": 0,
                  "skippedCount": 0,
                  "subscribedCount": 0,
                  "suppressedCount": 0,
                  "unsubscribedCount": 0
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId and importFileId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Contact",
              "Report"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.GetAsync(\"v1/List/{listId}/ListImport/{importFileId}/Summary\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('GET', 'v1/List/{listId}/ListImport/{importFileId}/Summary',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      }
    },
    "/v1/List/{listId}/Message": {
      "get": {
        "tags": [
          "Message"
        ],
        "summary": "Get all Messages",
        "description": "Returns a collection of messages for the specified list.",
        "operationId": "Message_GetMessageCollection",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "Value indicating the page of data that's being retrieved. The default value is `Start`.",
            "required": false,
            "type": "string"
          },
          {
            "name": "count",
            "in": "query",
            "description": "Number of data members to be displayed per page. The default value is `1000` and the maximum value is `5000`.",
            "required": false,
            "type": "string"
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "The start of the date range used for filtering.",
            "required": false,
            "type": "string"
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "The end of the date range used for filtering.",
            "required": false,
            "type": "string"
          },
          {
            "name": "includeTestMessages",
            "in": "query",
            "description": "Whether test messages should be included in the collection. The default value is `false`.",
            "required": false,
            "type": "boolean"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/CollectionPaged[Message]"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "nextPageCursor": null,
                "data": [
                  {
                    "messageId": 0,
                    "sendDate": null,
                    "messageStatus": null,
                    "campaignId": 0,
                    "externalCampaignId": null,
                    "subject": null
                  }
                ]
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Message"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.GetAsync(\"v1/List/{listId}/Message\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('GET', 'v1/List/{listId}/Message',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      },
      "post": {
        "tags": [
          "Message"
        ],
        "summary": "Send a Message",
        "description": "Sends a new message on the specified list.",
        "operationId": "Message_PostMessageResource",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "messageResource",
            "in": "body",
            "description": "Representation of the message to be sent.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/MessageExtendedFilter"
            }
          },
          {
            "name": "sendDate",
            "in": "query",
            "description": "The send date for the message.",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "sendTestMessage",
            "in": "query",
            "description": "Whether a test message should be sent. The default value is `false`.",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "sendReviewMessage",
            "in": "query",
            "description": "Whether a review message should be sent. The default value is `false`.",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "testEmailAddress",
            "in": "query",
            "description": "Test email address that will be used to preview the scheduled message.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/ResourceCreated"
            },
            "examples": {
              "application/json": {
                "status": 201,
                "resourceId": "{ResourceId}"
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId supplied."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Message"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.PostAsJsonAsync(\"v1/List/{listId}/Message?sendDate={sendDate}&sendTestMessage={sendTestMessage}&sendReviewMessage={sendReviewMessage}&testEmailAddress={testEmailAddress}\", new\n{\r\n   Filter = null,\r\n   BodyHtml = null,\r\n   BodyText = null,\r\n   CodePage = 0,\r\n   EnablePassalong = false,\r\n   EnableTracking = false,\r\n   FromEmail = null,\r\n   FromName = null,\r\n   GoogleAnalyticsCampaignName = null,\r\n   GoogleAnalyticsCampaignContent = null,\r\n   ReplyEmail = null,\r\n   ToName = null,\r\n   EnableUniversalEmailKeySetting = false,\r\n   CampaignId = 0,\r\n   ExternalCampaignId = null,\r\n   Subject = null\r\n});\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('POST', 'v1/List/{listId}/Message',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken],\r\n\t'json' => $jsonBody\r\n]);\n"
          }
        ]
      }
    },
    "/v1/List/{listId}/Message/{messageId}": {
      "get": {
        "tags": [
          "Message"
        ],
        "summary": "Get a Message",
        "description": "Returns the specified message.",
        "operationId": "Message_GetMessageResource",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "messageId",
            "in": "path",
            "description": "Identifier used to locate the message.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Resource[MessageExtendedSegmentsApplied]"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "data": {
                  "messageId": 0,
                  "sendDate": null,
                  "messageStatus": null,
                  "enableUniversalEmailKeySetting": false,
                  "campaignId": 0,
                  "bodyHtml": null,
                  "bodyText": null,
                  "codePage": 0,
                  "enablePassalong": false,
                  "enableTracking": false,
                  "externalCampaignId": null,
                  "fromEmail": null,
                  "fromName": null,
                  "googleAnalyticsCampaignName": null,
                  "googleAnalyticsCampaignContent": null,
                  "replyEmail": null,
                  "savedAudienceId": 0,
                  "segmentsApplied": null,
                  "subject": null,
                  "toName": null
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId and messageId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Message"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.GetAsync(\"v1/List/{listId}/Message/{messageId}\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('GET', 'v1/List/{listId}/Message/{messageId}',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      }
    },
    "/v1/List/{listId}/Message/{messageId}/Activity": {
      "get": {
        "tags": [
          "MessageActivity"
        ],
        "summary": "Get Message Activity",
        "description": "Returns the collection of activity associated with the specified message. If an email address is provided, returns only the activity associated with that email.",
        "operationId": "MessageActivity_GetMessageActivityCollection",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "messageId",
            "in": "path",
            "description": "Identifier used to locate the message.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "activityType",
            "in": "query",
            "description": "The type of activity performed by the contact.",
            "required": false,
            "type": "string"
          },
          {
            "name": "dateType",
            "in": "query",
            "description": "The type of date that's being used to filter the data members. Allowed values are `Send` and `Activity`. The default value is `Send`.",
            "required": false,
            "type": "string"
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "Value indicating the page of data that's being retrieved. The default value is `Start`.",
            "required": false,
            "type": "string"
          },
          {
            "name": "count",
            "in": "query",
            "description": "Number of data members to be displayed per page. The default value is `1000` and the maximum value is `5000`.",
            "required": false,
            "type": "string"
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "Start date that's being used to filter the data members.",
            "required": false,
            "type": "string"
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "End date that's being used to filter the data members.",
            "required": false,
            "type": "string"
          },
          {
            "name": "emailAddress",
            "in": "query",
            "description": "Email that is being used to filter the message activity.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/CollectionPaged[MessageActivity]"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "nextPageCursor": null,
                "data": [
                  {
                    "abuse": false,
                    "activityDate": null,
                    "bounce": false,
                    "bounceReason": null,
                    "click": false,
                    "clickCount": 0,
                    "emailAddress": null,
                    "open": false,
                    "orderTotal": 0.0,
                    "read": false,
                    "sendDate": null,
                    "unsubscribe": false,
                    "visitDate": null,
                    "externalContactID": null
                  }
                ]
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId and messageId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Message",
              "Report"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.GetAsync(\"v1/List/{listId}/Message/{messageId}/Activity\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('GET', 'v1/List/{listId}/Message/{messageId}/Activity',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      }
    },
    "/v1/List/{listId}/Message/{messageId}/Link": {
      "get": {
        "tags": [
          "MessageLink"
        ],
        "summary": "Get all Message Links",
        "description": "Returns the collection of links for the specified message.",
        "operationId": "MessageLink_GetMessageLinkCollection",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "messageId",
            "in": "path",
            "description": "Identifier used to locate the message.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "Value indicating the page of data that's being retrieved. The default value is `Start`.",
            "required": false,
            "type": "string"
          },
          {
            "name": "count",
            "in": "query",
            "description": "Number of data members to be displayed per page. The default value is `1000` and the maximum value is `5000`.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/CollectionPaged[MessageLink]"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "nextPageCursor": null,
                "data": [
                  {
                    "linkId": 0,
                    "linkDescription": null,
                    "linkUrl": null,
                    "clickCount": 0
                  }
                ]
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId and messageId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Message",
              "Report"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.GetAsync(\"v1/List/{listId}/Message/{messageId}/Link\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('GET', 'v1/List/{listId}/Message/{messageId}/Link',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      }
    },
    "/v1/List/{listId}/Message/{messageId}/Link/{messageLinkId}": {
      "get": {
        "tags": [
          "MessageLink"
        ],
        "summary": "Get a Message Link",
        "description": "Returns the specified message link.",
        "operationId": "MessageLink_GetMessageLinkResource",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "messageId",
            "in": "path",
            "description": "Identifier used to locate the message.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "messageLinkId",
            "in": "path",
            "description": "Identifier used to locate the link.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Resource[MessageLink]"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "data": {
                  "linkId": 0,
                  "linkDescription": null,
                  "linkUrl": null,
                  "clickCount": 0
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId, messageId, and messageLinkId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Message",
              "Report"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.GetAsync(\"v1/List/{listId}/Message/{messageId}/Link/{messageLinkId}\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('GET', 'v1/List/{listId}/Message/{messageId}/Link/{messageLinkId}',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      }
    },
    "/v1/List/{listId}/Message/{messageId}/Link/{messageLinkId}/Clicker": {
      "get": {
        "tags": [
          "MessageLinkClicker"
        ],
        "summary": "Get all Message Link Clickers",
        "description": "Returns the collection of contacts that clicked the specified message link.",
        "operationId": "MessageLinkClicker_GetMessageLinkClickerCollection",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "messageId",
            "in": "path",
            "description": "Identifier used to locate the message.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "messageLinkId",
            "in": "path",
            "description": "Identifier used to locate the link.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "Value indicating the page of data that's being retrieved. The default value is `Start`.",
            "required": false,
            "type": "string"
          },
          {
            "name": "count",
            "in": "query",
            "description": "Number of data members to be displayed per page. The default value is `1000` and the maximum value is `5000`.",
            "required": false,
            "type": "string"
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "Start date that's being used to filter the data members.",
            "required": false,
            "type": "string"
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "End date that's being used to filter the data members.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/CollectionPaged[MessageLinkClicker]"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "nextPageCursor": null,
                "data": [
                  {
                    "emailAddress": null,
                    "clickDate": null
                  }
                ]
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId, messageId, and messageLinkId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Message",
              "Report"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.GetAsync(\"v1/List/{listId}/Message/{messageId}/Link/{messageLinkId}/Clicker\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('GET', 'v1/List/{listId}/Message/{messageId}/Link/{messageLinkId}/Clicker',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      }
    },
    "/v1/List/{listId}/Message/{messageId}/Status": {
      "get": {
        "tags": [
          "MessageStatus"
        ],
        "summary": "Get a Message Status",
        "description": "Returns the send status of the specified message.",
        "operationId": "MessageStatus_GetMessageStatusResource",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "messageId",
            "in": "path",
            "description": "Identifier used to locate the message.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Resource[MessageStatus]"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "data": {
                  "sendCount": 0,
                  "startDate": "0001-01-01T00:00:00",
                  "endDate": "0001-01-01T00:00:00",
                  "status": null,
                  "type": null
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId and messageId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Message",
              "Report"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.GetAsync(\"v1/List/{listId}/Message/{messageId}/Status\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('GET', 'v1/List/{listId}/Message/{messageId}/Status',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      }
    },
    "/v1/List/{listId}/Message/{messageId}/Summary": {
      "get": {
        "tags": [
          "MessageSummary"
        ],
        "summary": "Get Message Summary",
        "description": "Returns a summary of the specified message.",
        "operationId": "MessageSummary_GetMessageSummaryResource",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "messageId",
            "in": "path",
            "description": "Identifier used to locate the message.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Resource[MessageSummary]"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "data": {
                  "averageOrderValue": 0.0,
                  "bounceCount": 0,
                  "clickCount": 0,
                  "conversionCount": 0,
                  "openCount": 0,
                  "passAlongCount": 0,
                  "readCount": 0,
                  "revenue": 0.0,
                  "sentCount": 0,
                  "unsubscribeCount": 0,
                  "visitCount": 0
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId and messageId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Message",
              "Report"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.GetAsync(\"v1/List/{listId}/Message/{messageId}/Summary\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('GET', 'v1/List/{listId}/Message/{messageId}/Summary',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      }
    },
    "/v1/List/{listId}/SavedAudience": {
      "get": {
        "tags": [
          "SavedAudience"
        ],
        "summary": "Get all Saved Audiences",
        "description": "Returns a collection of saved audiences for the specified list.",
        "operationId": "SavedAudience_GetSavedAudienceResourceCollection",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/CollectionPaged[SavedAudience]"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "data": [
                  {
                    "name": null,
                    "lastModified": "0001-01-01T00:00:00",
                    "savedAudienceId": 0
                  }
                ]
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.GetAsync(\"v1/List/{listId}/SavedAudience\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('GET', 'v1/List/{listId}/SavedAudience',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      }
    },
    "/v1/List/{listId}/SavedMessage": {
      "get": {
        "tags": [
          "SavedMessage"
        ],
        "summary": "Get all SavedMessages",
        "description": "Returns the collection of saved messages associated with the specified list.",
        "operationId": "SavedMessage_GetSavedMessageCollection",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Collection[SavedMessage]"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "data": [
                  {
                    "savedMessageId": 0,
                    "savedMessageName": null,
                    "campaignId": 0,
                    "createDate": "0001-01-01T00:00:00",
                    "lastModifiedDate": "0001-01-01T00:00:00",
                    "externalCampaignId": null,
                    "subject": null
                  }
                ]
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Message"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.GetAsync(\"v1/List/{listId}/SavedMessage\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('GET', 'v1/List/{listId}/SavedMessage',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      },
      "post": {
        "tags": [
          "SavedMessage"
        ],
        "summary": "Create a SavedMessage",
        "description": "Creates a new saved message with the specified content and metadata.",
        "operationId": "SavedMessage_PostCreateSavedMessage",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "savedMessageResource",
            "in": "body",
            "description": "The saved message to create.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SavedMessageCreate"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/ResourceCreated"
            },
            "examples": {
              "application/json": {
                "status": 201,
                "resourceId": "{ResourceId}"
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId supplied."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Message"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.PostAsJsonAsync(\"v1/List/{listId}/SavedMessage\", new\n{\r\n   SavedMessageName = null,\r\n   Subject = null,\r\n   Preheader = null,\r\n   FromName = null,\r\n   FromEmail = null,\r\n   ReplyEmail = null,\r\n   BodyHtml = null,\r\n   BodyText = null,\r\n   CampaignId = 0,\r\n   ExternalCampaignId = null\r\n});\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('POST', 'v1/List/{listId}/SavedMessage',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken],\r\n\t'json' => $jsonBody\r\n]);\n"
          }
        ]
      }
    },
    "/v1/List/{listId}/SavedMessage/{savedMessageId}/Message": {
      "post": {
        "tags": [
          "SavedMessage"
        ],
        "summary": "Send a SavedMessage",
        "description": "Sends a previously-created saved message.",
        "operationId": "SavedMessage_PostSavedMessageSend",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "savedMessageId",
            "in": "path",
            "description": "Identifier used to locate the saved message.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "sendDate",
            "in": "query",
            "description": "The send date for the message.",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "sendTestMessage",
            "in": "query",
            "description": "Whether a test message should be sent. The default is `false`.",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "sendReviewMessage",
            "in": "query",
            "description": "Whether a review message should be sent. The default is `false`.",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "testEmailAddress",
            "in": "query",
            "description": "Test email address that will be used to preview the scheduled message.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/ResourceCreated"
            },
            "examples": {
              "application/json": {
                "status": 201,
                "resourceId": "{ResourceId}"
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId and savedMessageId supplied."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Message"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.PostAsJsonAsync(\"v1/List/{listId}/SavedMessage/{savedMessageId}/Message?sendDate={sendDate}&sendTestMessage={sendTestMessage}&sendReviewMessage={sendReviewMessage}&testEmailAddress={testEmailAddress}\", new\n);\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('POST', 'v1/List/{listId}/SavedMessage/{savedMessageId}/Message',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken],\r\n\t'json' => $jsonBody\r\n]);\n"
          }
        ]
      }
    },
    "/v1/List/{listId}/SavedMessage/{savedMessageId}": {
      "get": {
        "tags": [
          "SavedMessage"
        ],
        "summary": "Get a SavedMessage",
        "description": "Returns the specified saved message.",
        "operationId": "SavedMessage_GetSavedMessageResource",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list resource.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "savedMessageId",
            "in": "path",
            "description": "Identifier used to locate the saved message.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Resource[SavedMessageExtended]"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "data": {
                  "enableUniversalEmailKeySetting": false,
                  "savedMessageId": 0,
                  "savedMessageName": null,
                  "campaignId": 0,
                  "bodyHtml": null,
                  "bodyText": null,
                  "codePage": 0,
                  "createDate": "0001-01-01T00:00:00",
                  "lastModifiedDate": "0001-01-01T00:00:00",
                  "enablePassalong": false,
                  "enableTracking": false,
                  "externalCampaignId": null,
                  "fromEmail": null,
                  "fromName": null,
                  "googleAnalyticsCampaignName": null,
                  "googleAnalyticsCampaignContent": null,
                  "replyEmail": null,
                  "subject": null,
                  "toName": null
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId and savedMessageId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Message"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.GetAsync(\"v1/List/{listId}/SavedMessage/{savedMessageId}\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('GET', 'v1/List/{listId}/SavedMessage/{savedMessageId}',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      },
      "put": {
        "tags": [
          "SavedMessage"
        ],
        "summary": "Update a SavedMessage",
        "description": "Updates the specified saved message with the provided content and metadata.",
        "operationId": "SavedMessage_PutUpdateSavedMessage",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "savedMessageId",
            "in": "path",
            "description": "Identifier used to locate the saved message.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "savedMessageResource",
            "in": "body",
            "description": "The saved message fields to update.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SavedMessageUpdate"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Resource[SavedMessageExtended]"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "data": {
                  "enableUniversalEmailKeySetting": false,
                  "savedMessageId": 0,
                  "savedMessageName": null,
                  "campaignId": 0,
                  "bodyHtml": null,
                  "bodyText": null,
                  "codePage": 0,
                  "createDate": "0001-01-01T00:00:00",
                  "lastModifiedDate": "0001-01-01T00:00:00",
                  "enablePassalong": false,
                  "enableTracking": false,
                  "externalCampaignId": null,
                  "fromEmail": null,
                  "fromName": null,
                  "googleAnalyticsCampaignName": null,
                  "googleAnalyticsCampaignContent": null,
                  "replyEmail": null,
                  "subject": null,
                  "toName": null
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId and savedMessageId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Message"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.PutAsJsonAsync(\"v1/List/{listId}/SavedMessage/{savedMessageId}\", new\n{\r\n   SavedMessageName = null,\r\n   Subject = null,\r\n   Preheader = null,\r\n   FromName = null,\r\n   FromEmail = null,\r\n   ReplyEmail = null,\r\n   BodyHtml = null,\r\n   BodyText = null,\r\n   CampaignId = 0,\r\n   ExternalCampaignId = null\r\n});\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('PUT', 'v1/List/{listId}/SavedMessage/{savedMessageId}',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken],\r\n\t'json' => $jsonBody\r\n]);\n"
          }
        ]
      }
    },
    "/v1/List/{listId}/SegmentationFieldGroup/{segmentationFieldGroupId}/SegmentationField": {
      "get": {
        "tags": [
          "SegmentationField"
        ],
        "summary": "Get all Profile Fields",
        "description": "Returns the collection of profile fields that exist for the specified profile field group.",
        "operationId": "SegmentationField_GetSegmentationFieldCollection",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "segmentationFieldGroupId",
            "in": "path",
            "description": "Identifier used to locate the profile field group.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Collection[SegmentationField]"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "data": [
                  {
                    "segmentationFieldId": 0,
                    "segmentationFieldName": null,
                    "segmentationFieldGroupId": 0,
                    "dataType": null,
                    "maxLength": 0,
                    "position": 0
                  }
                ]
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId and segmentationFieldGroupId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Segmentation"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.GetAsync(\"v1/List/{listId}/SegmentationFieldGroup/{segmentationFieldGroupId}/SegmentationField\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('GET', 'v1/List/{listId}/SegmentationFieldGroup/{segmentationFieldGroupId}/SegmentationField',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      },
      "post": {
        "tags": [
          "SegmentationField"
        ],
        "summary": "Create a Profile Field",
        "description": "Creates a new profile field for the specified profile field group.",
        "operationId": "SegmentationField_PostSegmentationFieldResource",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "segmentationFieldGroupId",
            "in": "path",
            "description": "Identifier used to locate the profile field group.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "segmentationFieldResource",
            "in": "body",
            "description": "Representation of the profile field to create.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SegmentationField"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/ResourceCreated"
            },
            "examples": {
              "application/json": {
                "status": 201,
                "resourceId": "{ResourceId}"
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId and segmentationFieldGroupId supplied."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Segmentation"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.PostAsJsonAsync(\"v1/List/{listId}/SegmentationFieldGroup/{segmentationFieldGroupId}/SegmentationField\", new\n{\r\n   SegmentationFieldName = null,\r\n   DataType = null,\r\n   MaxLength = 0,\r\n   Position = 0\r\n});\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('POST', 'v1/List/{listId}/SegmentationFieldGroup/{segmentationFieldGroupId}/SegmentationField',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken],\r\n\t'json' => $jsonBody\r\n]);\n"
          }
        ]
      }
    },
    "/v1/List/{listId}/SegmentationFieldGroup/{segmentationFieldGroupId}/SegmentationField/{segmentationFieldId}": {
      "get": {
        "tags": [
          "SegmentationField"
        ],
        "summary": "Get a Profile Field",
        "description": "Returns the specified profile field.",
        "operationId": "SegmentationField_GetSegmentationFieldResource",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "segmentationFieldGroupId",
            "in": "path",
            "description": "Identifier used to locate the profile field group.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "segmentationFieldId",
            "in": "path",
            "description": "Identifier used to locate the profile field.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Resource[SegmentationField]"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "data": {
                  "segmentationFieldId": 0,
                  "segmentationFieldName": null,
                  "segmentationFieldGroupId": 0,
                  "dataType": null,
                  "maxLength": 0,
                  "position": 0
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId, segmentationFieldGroupId, and segmentationFieldId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Segmentation"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.GetAsync(\"v1/List/{listId}/SegmentationFieldGroup/{segmentationFieldGroupId}/SegmentationField/{segmentationFieldId}\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('GET', 'v1/List/{listId}/SegmentationFieldGroup/{segmentationFieldGroupId}/SegmentationField/{segmentationFieldId}',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      },
      "put": {
        "tags": [
          "SegmentationField"
        ],
        "summary": "Update a Profile Field",
        "description": "Updates the specified profile field.",
        "operationId": "SegmentationField_PutSegmentationFieldResource",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "segmentationFieldGroupId",
            "in": "path",
            "description": "Identifier used to locate the profile field group.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "segmentationFieldId",
            "in": "path",
            "description": "Identifier used to locate the profile field.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "segmentationFieldResource",
            "in": "body",
            "description": "Representation of the updated profile field.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SegmentationField"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResourceUpdated"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "resourceId": "{ResourceId}"
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId, segmentationFieldGroupId, and segmentationFieldId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Segmentation"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.PutAsJsonAsync(\"v1/List/{listId}/SegmentationFieldGroup/{segmentationFieldGroupId}/SegmentationField/{segmentationFieldId}\", new\n{\r\n   SegmentationFieldName = null,\r\n   DataType = null,\r\n   MaxLength = 0,\r\n   Position = 0\r\n});\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('PUT', 'v1/List/{listId}/SegmentationFieldGroup/{segmentationFieldGroupId}/SegmentationField/{segmentationFieldId}',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken],\r\n\t'json' => $jsonBody\r\n]);\n"
          }
        ]
      },
      "delete": {
        "tags": [
          "SegmentationField"
        ],
        "summary": "Delete a Profile Field",
        "description": "Deletes the specified profile field.",
        "operationId": "SegmentationField_DeleteSegmentationFieldResource",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "segmentationFieldGroupId",
            "in": "path",
            "description": "Identifier used to locate the profile field group.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "segmentationFieldId",
            "in": "path",
            "description": "Identifier used to locate the profile field.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResourceDeleted"
            },
            "examples": {
              "application/json": {
                "status": 200
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId, segmentationFieldGroupId, and segmentationFieldId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Segmentation"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.DeleteAsync(\"v1/List/{listId}/SegmentationFieldGroup/{segmentationFieldGroupId}/SegmentationField/{segmentationFieldId}\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('DELETE', 'v1/List/{listId}/SegmentationFieldGroup/{segmentationFieldGroupId}/SegmentationField/{segmentationFieldId}',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      }
    },
    "/v1/List/{listId}/SegmentationFieldGroup/{segmentationFieldGroupId}/SegmentationField/{segmentationFieldId}/Values": {
      "delete": {
        "tags": [
          "SegmentationField"
        ],
        "summary": "Clear Profile Field Values",
        "description": "Asynchronously clears all values for the specified profile field for all subscribed contacts. This operation is accepted for background processing and returns an import file identifier that can be used to poll the status of the operation.",
        "operationId": "SegmentationField_DeleteSegmentationFieldValuesResource",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "segmentationFieldGroupId",
            "in": "path",
            "description": "Identifier used to locate the profile field group.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "segmentationFieldId",
            "in": "path",
            "description": "Identifier used to locate the profile field.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResourceCreated"
            }
          },
          "202": {
            "description": "Accepted",
            "schema": {
              "$ref": "#/definitions/ResourceCreated"
            },
            "examples": {
              "application/json": {
                "status": 201,
                "resourceId": "{ResourceId}"
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId, segmentationFieldGroupId, and segmentationFieldId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Segmentation"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.DeleteAsync(\"v1/List/{listId}/SegmentationFieldGroup/{segmentationFieldGroupId}/SegmentationField/{segmentationFieldId}/Values\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('DELETE', 'v1/List/{listId}/SegmentationFieldGroup/{segmentationFieldGroupId}/SegmentationField/{segmentationFieldId}/Values',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      }
    },
    "/v1/List/{listId}/SegmentationFieldGroup": {
      "get": {
        "tags": [
          "SegmentationFieldGroup"
        ],
        "summary": "Get all Profile Field Groups",
        "description": "Returns a collection of profile field groups for the specified list.",
        "operationId": "SegmentationFieldGroup_GetSegmentationFieldGroupCollection",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Collection[SegmentationFieldGroup]"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "data": [
                  {
                    "segmentationFieldGroupId": 0,
                    "segmentationFieldGroupName": null,
                    "position": 0
                  }
                ]
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Segmentation"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.GetAsync(\"v1/List/{listId}/SegmentationFieldGroup\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('GET', 'v1/List/{listId}/SegmentationFieldGroup',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      },
      "post": {
        "tags": [
          "SegmentationFieldGroup"
        ],
        "summary": "Create a Profile Field Group",
        "description": "Creates a new profile field group for the specified list.",
        "operationId": "SegmentationFieldGroup_PostSegmentationFieldGroupResource",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "segmentationFieldGroupResource",
            "in": "body",
            "description": "Representation of the profile field group to create.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SegmentationFieldGroup"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/ResourceCreated"
            },
            "examples": {
              "application/json": {
                "status": 201,
                "resourceId": "{ResourceId}"
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId supplied."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Segmentation"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.PostAsJsonAsync(\"v1/List/{listId}/SegmentationFieldGroup\", new\n{\r\n   SegmentationFieldGroupName = null,\r\n   Position = 0\r\n});\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('POST', 'v1/List/{listId}/SegmentationFieldGroup',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken],\r\n\t'json' => $jsonBody\r\n]);\n"
          }
        ]
      }
    },
    "/v1/List/{listId}/SegmentationFieldGroup/{segmentationFieldGroupId}": {
      "get": {
        "tags": [
          "SegmentationFieldGroup"
        ],
        "summary": "Get a Profile Field Group",
        "description": "Returns the specified profile field group.",
        "operationId": "SegmentationFieldGroup_GetSegmentationFieldGroupResource",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "segmentationFieldGroupId",
            "in": "path",
            "description": "Identifier used to locate the profile field group.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Resource[SegmentationFieldGroup]"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "data": {
                  "segmentationFieldGroupId": 0,
                  "segmentationFieldGroupName": null,
                  "position": 0
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId and segmentationFieldGroupId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Segmentation"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.GetAsync(\"v1/List/{listId}/SegmentationFieldGroup/{segmentationFieldGroupId}\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('GET', 'v1/List/{listId}/SegmentationFieldGroup/{segmentationFieldGroupId}',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      },
      "put": {
        "tags": [
          "SegmentationFieldGroup"
        ],
        "summary": "Update a Profile Field Group",
        "description": "Updates the specified profile field group.",
        "operationId": "SegmentationFieldGroup_PutSegmentationFieldGroupResource",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "segmentationFieldGroupId",
            "in": "path",
            "description": "Identifier used to locate the profile field group.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "segmentationFieldGroupResource",
            "in": "body",
            "description": "Representation of the updated profile field group.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SegmentationFieldGroup"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResourceUpdated"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "resourceId": "{ResourceId}"
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId and segmentationFieldGroupId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Segmentation"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.PutAsJsonAsync(\"v1/List/{listId}/SegmentationFieldGroup/{segmentationFieldGroupId}\", new\n{\r\n   SegmentationFieldGroupName = null,\r\n   Position = 0\r\n});\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('PUT', 'v1/List/{listId}/SegmentationFieldGroup/{segmentationFieldGroupId}',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken],\r\n\t'json' => $jsonBody\r\n]);\n"
          }
        ]
      },
      "delete": {
        "tags": [
          "SegmentationFieldGroup"
        ],
        "summary": "Delete a Profile Field Group",
        "description": "Deletes the specified profile field group.",
        "operationId": "SegmentationFieldGroup_DeleteSegmentationFieldGroupResource",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "segmentationFieldGroupId",
            "in": "path",
            "description": "Identifier used to locate the profile field group.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResourceDeleted"
            },
            "examples": {
              "application/json": {
                "status": 200
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId and segmentationFieldGroupId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Segmentation"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.DeleteAsync(\"v1/List/{listId}/SegmentationFieldGroup/{segmentationFieldGroupId}\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('DELETE', 'v1/List/{listId}/SegmentationFieldGroup/{segmentationFieldGroupId}',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      }
    },
    "/v1/List/{listId}/SplitTest": {
      "get": {
        "tags": [
          "SplitTest"
        ],
        "summary": "Get all Split Tests",
        "description": "Returns a collection of split tests for the specified list.",
        "operationId": "SplitTest_GetSplitTestCollection",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "Value indicating the page of data that's being retrieved. The default value is `Start`.",
            "required": false,
            "type": "string"
          },
          {
            "name": "count",
            "in": "query",
            "description": "Number of data members to be displayed per page. The default value is `1000` and the maximum value is `5000`.",
            "required": false,
            "type": "string"
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "The start of the date range used for filtering.",
            "required": false,
            "type": "string"
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "The end of the date range used for filtering.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/CollectionPaged[SplitTest]"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "nextPageCursor": null,
                "data": [
                  {
                    "splitTestId": 0,
                    "splitTestName": null,
                    "startDate": null,
                    "endDate": null,
                    "status": null,
                    "testCriteria": null,
                    "testType": null,
                    "winnerMetric": null
                  }
                ]
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Message"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.GetAsync(\"v1/List/{listId}/SplitTest\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('GET', 'v1/List/{listId}/SplitTest',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      }
    },
    "/v1/List/{listId}/SplitTest/{splitTestId}": {
      "get": {
        "tags": [
          "SplitTest"
        ],
        "summary": "Get a Split Test",
        "description": "Returns the specified split test.",
        "operationId": "SplitTest_GetSplitTestResource",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "splitTestId",
            "in": "path",
            "description": "Identifier used to locate the split test.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Resource[SplitTest]"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "data": {
                  "splitTestId": 0,
                  "splitTestName": null,
                  "startDate": null,
                  "endDate": null,
                  "status": null,
                  "testCriteria": null,
                  "testType": null,
                  "winnerMetric": null
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId and splitTestId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Message"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.GetAsync(\"v1/List/{listId}/SplitTest/{splitTestId}\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('GET', 'v1/List/{listId}/SplitTest/{splitTestId}',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      }
    },
    "/v1/List/{listId}/SplitTest/{splitTestId}/Message": {
      "get": {
        "tags": [
          "SplitTest"
        ],
        "summary": "Get all Split Test Messages",
        "description": "Returns a collection of messages for the specified split test.",
        "operationId": "SplitTest_GetSplitTestMessageResources",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "splitTestId",
            "in": "path",
            "description": "Identifier used to locate the split test.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Collection[SplitTestMessage]"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "data": [
                  {
                    "messageId": 0,
                    "messageStatus": null,
                    "messageType": null,
                    "groupName": null,
                    "segmentSize": null
                  }
                ]
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId and splitTestId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Message"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.GetAsync(\"v1/List/{listId}/SplitTest/{splitTestId}/Message\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('GET', 'v1/List/{listId}/SplitTest/{splitTestId}/Message',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      }
    },
    "/v1/List/{listId}/TransactionalMessage/{transactionalMessageId}/Message": {
      "post": {
        "tags": [
          "TransactionalMessage"
        ],
        "summary": "Send a TransactionalMessage",
        "description": "Sends a message based on a previously-created transactional message.",
        "operationId": "TransactionalMessage_PostTransactionalMessageSend",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "transactionalMessageId",
            "in": "path",
            "description": "Identifier used to locate the transactional message.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "contactResource",
            "in": "body",
            "description": "Representation of the contact to send to.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TransactionalMessageContact"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/ResourceCreated"
            },
            "examples": {
              "application/json": {
                "status": 201,
                "resourceId": "{ResourceId}"
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId and transactionalMessageId supplied."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Message"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.PostAsJsonAsync(\"v1/List/{listId}/TransactionalMessage/{transactionalMessageId}/Message\", new\n{\r\n   EmailAddress = null,\r\n   SegmentationFieldValues = null\r\n});\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('POST', 'v1/List/{listId}/TransactionalMessage/{transactionalMessageId}/Message',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken],\r\n\t'json' => $jsonBody\r\n]);\n"
          }
        ]
      }
    },
    "/v1/List/{listId}/TransactionalMessage": {
      "get": {
        "tags": [
          "TransactionalMessage"
        ],
        "summary": "Get all TransactionalMessages",
        "description": "Returns the collection of transactional messages associated with the specified list.",
        "operationId": "TransactionalMessage_GetTransactionalMessageCollection",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Collection[TransactionalMessage]"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "data": [
                  {
                    "transactionalMessageId": 0,
                    "transactionalMessageName": null,
                    "campaignId": 0,
                    "externalCampaignId": null,
                    "subject": null
                  }
                ]
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Message"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.GetAsync(\"v1/List/{listId}/TransactionalMessage\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('GET', 'v1/List/{listId}/TransactionalMessage',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      }
    },
    "/v1/List/{listId}/TransactionalMessage/{transactionalMessageId}": {
      "get": {
        "tags": [
          "TransactionalMessage"
        ],
        "summary": "Get a TransactionalMessage",
        "description": "Returns the specified transactional message.",
        "operationId": "TransactionalMessage_GetTransactionalMessageResource",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "transactionalMessageId",
            "in": "path",
            "description": "Identifier used to locate the transactional message.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Resource[TransactionalMessage]"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "data": {
                  "transactionalMessageId": 0,
                  "transactionalMessageName": null,
                  "campaignId": 0,
                  "externalCampaignId": null,
                  "subject": null
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId and transactionalMessageId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Message"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.GetAsync(\"v1/List/{listId}/TransactionalMessage/{transactionalMessageId}\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('GET', 'v1/List/{listId}/TransactionalMessage/{transactionalMessageId}',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      }
    },
    "/v1/List/{listId}/TransactionalMessage/{transactionalMessageId}/Activity": {
      "get": {
        "tags": [
          "TransactionalMessageActivity"
        ],
        "summary": "Get Transactional Message Activity",
        "description": "Returns the collection of activity associated with the specified transactional message. If an email address is provided, returns only the activity associated with that email.",
        "operationId": "TransactionalMessageActivity_GetTransactionalMessageActivityCollection",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "transactionalMessageId",
            "in": "path",
            "description": "Identifier used to locate the transactional message.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "activityType",
            "in": "query",
            "description": "The type of activity performed by the contact.",
            "required": false,
            "type": "string"
          },
          {
            "name": "dateType",
            "in": "query",
            "description": "The type of date that's being used to filter the data members. Allowed values are `Send` and `Activity`. The default value is `Send`.",
            "required": false,
            "type": "string"
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "Value indicating the page of data that's being retrieved. The default value is `Start`.",
            "required": false,
            "type": "string"
          },
          {
            "name": "count",
            "in": "query",
            "description": "Number of data members to be displayed per page. The default value is `1000` and the maximum value is `5000`.",
            "required": false,
            "type": "string"
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "Start date that's being used to filter the data members.",
            "required": false,
            "type": "string"
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "End date that's being used to filter the data members.",
            "required": false,
            "type": "string"
          },
          {
            "name": "emailAddress",
            "in": "query",
            "description": "Email that is being used to filter the transactional message activity.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/CollectionPaged[TransactionalMessageActivity]"
            },
            "examples": {
              "application/json": {
                "status": 200,
                "nextPageCursor": null,
                "data": [
                  {
                    "abuse": false,
                    "activityDate": null,
                    "bounce": false,
                    "bounceReason": null,
                    "click": false,
                    "clickCount": 0,
                    "emailAddress": null,
                    "open": false,
                    "orderTotal": 0.0,
                    "read": false,
                    "sendDate": null,
                    "unsubscribe": false,
                    "visitDate": null,
                    "externalContactID": null,
                    "resendKey": null
                  }
                ]
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId and transactionalMessageId supplied."
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Message",
              "Report"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.GetAsync(\"v1/List/{listId}/TransactionalMessage/{transactionalMessageId}/Activity\");\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('GET', 'v1/List/{listId}/TransactionalMessage/{transactionalMessageId}/Activity',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\r\n]);\n"
          }
        ]
      }
    },
    "/v1/List/{listId}/TransactionalMessage/{transactionalMessageId}/Resend/{resendKey}": {
      "post": {
        "tags": [
          "TransactionalMessageResend"
        ],
        "summary": "Resends a TransactionalMessage",
        "description": "Resends a transactional message to the specified forwarding address. If no address is specified, the message will be sent to the original recipient.",
        "operationId": "TransactionalMessageResend_PostTransactionalMessageResend",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "listId",
            "in": "path",
            "description": "Identifier used to locate the list.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "transactionalMessageId",
            "in": "path",
            "description": "Identifier used to locate the transactional message.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "resendKey",
            "in": "path",
            "description": "Key of the transactional message to resend.",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "forwardAddress",
            "in": "query",
            "description": "Email address destination for the resend. If none is specified, the original address is used.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "400": {
            "description": "BadRequest",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 400,
                "error": "ERROR_INVALID_PARAMETER",
                "message": "An invalid value was supplied for {Parameter}."
              }
            }
          },
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/ResourceCreated"
            },
            "examples": {
              "application/json": {
                "status": 201,
                "resourceId": "{ResourceId}"
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 401,
                "error": "ERROR_UNAUTHORIZED",
                "message": "Authorization was denied for this request."
              }
            }
          },
          "404": {
            "description": "NotFound",
            "schema": {
              "$ref": "#/definitions/Error"
            },
            "examples": {
              "application/json": {
                "status": 404,
                "error": "ERROR_UNABLE_TO_LOCATE_RESOURCE",
                "message": "Unable to locate a resource associated with the listId, transactionalMessageId, and resendKey supplied."
              }
            }
          }
        },
        "security": [
          {
            "OAuth 2": [
              "List",
              "Message"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "C#",
            "source": "var client = new HttpClient();\r\n\r\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\r\n\r\nvar response = await client.PostAsJsonAsync(\"v1/List/{listId}/TransactionalMessage/{transactionalMessageId}/Resend/{resendKey}?forwardAddress={forwardAddress}\", new\n);\n"
          },
          {
            "lang": "PHP",
            "source": "$client = new \\GuzzleHttp\\Client([\r\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\r\n\r\n$res = $client->request('POST', 'v1/List/{listId}/TransactionalMessage/{transactionalMessageId}/Resend/{resendKey}',  [\r\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken],\r\n\t'json' => $jsonBody\r\n]);\n"
          }
        ]
      }
    }
  },
  "definitions": {
    "Campaign": {
      "description": "A Campaign resource.",
      "required": [
        "campaignName"
      ],
      "type": "object",
      "properties": {
        "campaignId": {
          "format": "int32",
          "description": "Identifier used to locate the campaign.",
          "type": "integer",
          "readOnly": true
        },
        "campaignName": {
          "description": "Name of the campaign.",
          "type": "string"
        }
      }
    },
    "ResourceCreated": {
      "type": "object",
      "properties": {
        "status": {
          "format": "int32",
          "description": "HTTP status code.",
          "type": "integer"
        },
        "resourceId": {
          "description": "An identifier used to locate a resource.",
          "type": "string"
        }
      }
    },
    "Error": {
      "type": "object",
      "properties": {
        "status": {
          "format": "int32",
          "description": "HTTP status code.",
          "type": "integer"
        },
        "error": {
          "description": "Error code indicating what error has occured.",
          "type": "string"
        },
        "message": {
          "description": "Message describing the status and the error that occurred.",
          "type": "string"
        }
      }
    },
    "Collection[Campaign]": {
      "type": "object",
      "properties": {
        "status": {
          "format": "int32",
          "description": "HTTP status code.",
          "type": "integer"
        },
        "data": {
          "description": "Collection of return data from the given call.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/Campaign"
          }
        }
      }
    },
    "Resource[Campaign]": {
      "type": "object",
      "properties": {
        "status": {
          "format": "int32",
          "description": "HTTP status code.",
          "type": "integer"
        },
        "data": {
          "$ref": "#/definitions/Campaign",
          "description": "Return data."
        }
      }
    },
    "ResourceUpdated": {
      "type": "object",
      "properties": {
        "status": {
          "format": "int32",
          "description": "HTTP status code.",
          "type": "integer"
        },
        "resourceId": {
          "description": "An identifier used to locate the updated resource.",
          "type": "string"
        }
      }
    },
    "ResourceDeleted": {
      "type": "object",
      "properties": {
        "status": {
          "format": "int32",
          "description": "HTTP status code.",
          "type": "integer"
        }
      }
    },
    "Contact": {
      "description": "A Contact resource.",
      "required": [
        "emailAddress",
        "segmentationFieldValues"
      ],
      "type": "object",
      "properties": {
        "emailAddress": {
          "description": "Email address of the contact.",
          "type": "string"
        },
        "emailKey": {
          "description": "Listrak email key of the contact.",
          "type": "string",
          "readOnly": true
        },
        "universalEmailKey": {
          "description": "SHA256 hashed email address.",
          "type": "string",
          "readOnly": true
        },
        "subscriptionState": {
          "description": "Subscription state of the contact. Allowed values are `Subscribed` and `Unsubscribed`.",
          "type": "string"
        },
        "subscribeDate": {
          "format": "date-time",
          "description": "Subscribe date of the contact.",
          "type": "string",
          "readOnly": true
        },
        "resubscribeDate": {
          "format": "date-time",
          "description": "ReSubscribe date of the contact.",
          "type": "string",
          "readOnly": true
        },
        "subscribeMethod": {
          "description": "Subscribe method of the contact.",
          "type": "string",
          "readOnly": true
        },
        "unsubscribeDate": {
          "format": "date-time",
          "description": "Unsubscribe date of the contact.",
          "type": "string",
          "readOnly": true
        },
        "unsubscribeMethod": {
          "description": "Unsubscribe method of the contact.",
          "type": "string",
          "readOnly": true
        },
        "externalContactID": {
          "description": "External contact ID provided by the client",
          "type": "string"
        },
        "segmentationFieldValues": {
          "description": "Profile field values associated with the contact.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/SegmentationFieldValue"
          }
        }
      }
    },
    "SegmentationFieldValue": {
      "description": "A Profile Field Value resource.",
      "required": [
        "segmentationFieldId",
        "value"
      ],
      "type": "object",
      "properties": {
        "segmentationFieldGroupId": {
          "format": "int32",
          "description": "Identifier of the profile field group.",
          "type": "integer",
          "readOnly": true
        },
        "segmentationFieldId": {
          "format": "int32",
          "description": "Identifier of the profile field.",
          "type": "integer"
        },
        "value": {
          "description": "Value of the profile field.",
          "type": "string"
        }
      }
    },
    "CollectionPaged[Contact]": {
      "type": "object",
      "properties": {
        "status": {
          "format": "int32",
          "description": "HTTP status code.",
          "type": "integer"
        },
        "nextPageCursor": {
          "description": "URI of the next page of data.",
          "type": "string"
        },
        "data": {
          "description": "Collection of data that exists on this paged view.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/Contact"
          }
        }
      }
    },
    "Resource[Contact]": {
      "type": "object",
      "properties": {
        "status": {
          "format": "int32",
          "description": "HTTP status code.",
          "type": "integer"
        },
        "data": {
          "$ref": "#/definitions/Contact",
          "description": "Return data."
        }
      }
    },
    "ContactSegmentationFieldValues": {
      "description": "A Contact with profile field values.",
      "required": [
        "emailAddress",
        "segmentationFieldValues"
      ],
      "type": "object",
      "properties": {
        "emailAddress": {
          "description": "Email address of the contact.",
          "type": "string"
        },
        "segmentationFieldValues": {
          "description": "Profile field values associated with the contact.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/ContactSegmentationFieldValue"
          }
        }
      }
    },
    "ContactSegmentationFieldValue": {
      "description": "A contact's profile field value.",
      "required": [
        "segmentationFieldId",
        "value"
      ],
      "type": "object",
      "properties": {
        "segmentationFieldId": {
          "format": "int32",
          "description": "Identifier of the profile field.",
          "type": "integer"
        },
        "value": {
          "description": "Value of the profile field.",
          "type": "string"
        }
      }
    },
    "ContentCreate": {
      "description": "Request model for creating content.",
      "required": [
        "contentName"
      ],
      "type": "object",
      "properties": {
        "contentFolderId": {
          "format": "int32",
          "description": "Identifier of the content folder to place the content in.",
          "type": "integer"
        },
        "contentName": {
          "description": "Name given to the content block.",
          "type": "string"
        },
        "textContent": {
          "description": "Plain text content of the content block.",
          "type": "string"
        },
        "htmlContent": {
          "description": "HTML content of the content block.",
          "type": "string"
        },
        "contentType": {
          "description": "Type of the content block. Defaults to SavedContent if not specified.",
          "enum": [
            "DynamicContent",
            "SavedContent"
          ],
          "type": "string"
        }
      }
    },
    "Collection[Content]": {
      "type": "object",
      "properties": {
        "status": {
          "format": "int32",
          "description": "HTTP status code.",
          "type": "integer"
        },
        "data": {
          "description": "Collection of return data from the given call.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/Content"
          }
        }
      }
    },
    "Content": {
      "description": "A content library resource.",
      "type": "object",
      "properties": {
        "contentId": {
          "format": "int32",
          "description": "Identifier used to locate the content.",
          "type": "integer"
        },
        "contentFolderId": {
          "format": "int32",
          "description": "Identifier of the content folder.",
          "type": "integer"
        },
        "contentName": {
          "description": "Name given to the content block.",
          "type": "string"
        },
        "textContent": {
          "description": "Plain text content of the content block.",
          "type": "string"
        },
        "htmlContent": {
          "description": "HTML content of the content block.",
          "type": "string"
        },
        "contentType": {
          "description": "Type of the content block.",
          "enum": [
            "DynamicContent",
            "SavedContent"
          ],
          "type": "string"
        },
        "contentReadOnly": {
          "description": "Indicates whether the content is read-only due to use in a live dynamic content block.",
          "type": "boolean"
        },
        "lastModifiedDate": {
          "format": "date-time",
          "description": "Date the content was last modified.",
          "type": "string"
        }
      }
    },
    "Resource[Content]": {
      "type": "object",
      "properties": {
        "status": {
          "format": "int32",
          "description": "HTTP status code.",
          "type": "integer"
        },
        "data": {
          "$ref": "#/definitions/Content",
          "description": "Return data."
        }
      }
    },
    "ContentUpdate": {
      "description": "Request model for updating content.",
      "type": "object",
      "properties": {
        "contentFolderId": {
          "format": "int32",
          "description": "Identifier of the content folder to place the content in.",
          "type": "integer"
        },
        "contentName": {
          "description": "Name given to the content block.",
          "type": "string"
        },
        "textContent": {
          "description": "Plain text content of the content block.",
          "type": "string"
        },
        "htmlContent": {
          "description": "HTML content of the content block.",
          "type": "string"
        }
      }
    },
    "Collection[ContentFolder]": {
      "type": "object",
      "properties": {
        "status": {
          "format": "int32",
          "description": "HTTP status code.",
          "type": "integer"
        },
        "data": {
          "description": "Collection of return data from the given call.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/ContentFolder"
          }
        }
      }
    },
    "ContentFolder": {
      "description": "A content library folder resource.",
      "type": "object",
      "properties": {
        "contentFolderId": {
          "format": "int32",
          "description": "Identifier used to locate the content folder.",
          "type": "integer"
        },
        "listId": {
          "format": "int32",
          "description": "Identifier of the list this folder belongs to. Null indicates a company-level folder.",
          "type": "integer"
        },
        "parentFolderId": {
          "format": "int32",
          "description": "Identifier of the parent folder. Null indicates the root folder.",
          "type": "integer"
        },
        "folderName": {
          "description": "Name of the content folder.",
          "type": "string"
        }
      }
    },
    "Collection[Conversation]": {
      "type": "object",
      "properties": {
        "status": {
          "format": "int32",
          "description": "HTTP status code.",
          "type": "integer"
        },
        "data": {
          "description": "Collection of return data from the given call.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/Conversation"
          }
        }
      }
    },
    "Conversation": {
      "description": "A Conversation resource.",
      "type": "object",
      "properties": {
        "conversationId": {
          "format": "int32",
          "description": "Identifier used to locate the conversation.",
          "type": "integer"
        },
        "conversationName": {
          "description": "Name of the conversation.",
          "type": "string"
        },
        "campaignId": {
          "format": "int32",
          "description": "Identifier of the campaign associated with the conversation.",
          "type": "integer"
        },
        "expirationDate": {
          "format": "date-time",
          "description": "Expiration date of the conversation.",
          "type": "string"
        },
        "status": {
          "description": "Current status of the conversation.",
          "type": "string"
        }
      }
    },
    "Resource[Conversation]": {
      "type": "object",
      "properties": {
        "status": {
          "format": "int32",
          "description": "HTTP status code.",
          "type": "integer"
        },
        "data": {
          "$ref": "#/definitions/Conversation",
          "description": "Return data."
        }
      }
    },
    "CollectionPaged[Message]": {
      "type": "object",
      "properties": {
        "status": {
          "format": "int32",
          "description": "HTTP status code.",
          "type": "integer"
        },
        "nextPageCursor": {
          "description": "URI of the next page of data.",
          "type": "string"
        },
        "data": {
          "description": "Collection of data that exists on this paged view.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/Message"
          }
        }
      }
    },
    "Message": {
      "description": "A Message resource.",
      "required": [
        "externalCampaignId",
        "subject"
      ],
      "type": "object",
      "properties": {
        "messageId": {
          "format": "int32",
          "description": "Identifier used to locate the message.",
          "type": "integer",
          "readOnly": true
        },
        "sendDate": {
          "format": "date-time",
          "description": "Send date of the message.",
          "type": "string",
          "readOnly": true
        },
        "messageStatus": {
          "description": "Status displaying whether the message is sent or scheduled.",
          "type": "string",
          "readOnly": true
        },
        "campaignId": {
          "format": "int32",
          "description": "Identifier of the campaign associated with the message.",
          "type": "integer"
        },
        "externalCampaignId": {
          "description": "Customer-provided identifier of the campaign associated with the message.",
          "type": "string"
        },
        "subject": {
          "description": "Subject of the message.",
          "type": "string"
        }
      }
    },
    "Resource[MessageExtended]": {
      "type": "object",
      "properties": {
        "status": {
          "format": "int32",
          "description": "HTTP status code.",
          "type": "integer"
        },
        "data": {
          "$ref": "#/definitions/MessageExtended",
          "description": "Return data."
        }
      }
    },
    "MessageExtended": {
      "description": "A Message resource.",
      "required": [
        "externalCampaignId",
        "fromEmail",
        "fromName",
        "subject"
      ],
      "type": "object",
      "properties": {
        "messageId": {
          "format": "int32",
          "description": "Identifier used to locate the message.",
          "type": "integer",
          "readOnly": true
        },
        "sendDate": {
          "format": "date-time",
          "description": "Send date of the message.",
          "type": "string",
          "readOnly": true
        },
        "messageStatus": {
          "description": "Status displaying whether the message is sent or scheduled.",
          "type": "string",
          "readOnly": true
        },
        "enableUniversalEmailKeySetting": {
          "description": "Whether to include UniversalEmailKey in URL query string.",
          "type": "boolean"
        },
        "campaignId": {
          "format": "int32",
          "description": "Identifier of the campaign associated with the message.",
          "type": "integer"
        },
        "bodyHtml": {
          "description": "HTML body that will be sent in the message.",
          "type": "string"
        },
        "bodyText": {
          "description": "Text body that will be sent in the message.",
          "type": "string"
        },
        "codePage": {
          "format": "int32",
          "description": "Type of CodePage used in the message.",
          "type": "integer"
        },
        "enablePassalong": {
          "description": "Whether passalong is enabled.",
          "type": "boolean"
        },
        "enableTracking": {
          "description": "Whether tracking is enabled.",
          "type": "boolean"
        },
        "externalCampaignId": {
          "description": "Customer-provided identifier of the campaign associated with the message.",
          "type": "string"
        },
        "fromEmail": {
          "description": "The _from email address_ that will be used for the message.",
          "type": "string"
        },
        "fromName": {
          "description": "The _from name_ that will be used for the message.",
          "type": "string"
        },
        "googleAnalyticsCampaignName": {
          "description": "The Google Analytics campaign name to be used for message tracking.",
          "type": "string"
        },
        "googleAnalyticsCampaignContent": {
          "description": "The Google Analytics campaign content to be used for message tracking.",
          "type": "string"
        },
        "replyEmail": {
          "description": "The _reply email address_ that will be used for the message.",
          "type": "string"
        },
        "savedAudienceId": {
          "format": "int32",
          "description": "Identifier of the SavedAudience to use for recipient filtering.",
          "type": "integer"
        },
        "subject": {
          "description": "Subject of the message.",
          "type": "string"
        },
        "toName": {
          "description": "The _to name_ that will be used for the message.",
          "type": "string"
        }
      }
    },
    "CollectionPaged[MessageActivity]": {
      "type": "object",
      "properties": {
        "status": {
          "format": "int32",
          "description": "HTTP status code.",
          "type": "integer"
        },
        "nextPageCursor": {
          "description": "URI of the next page of data.",
          "type": "string"
        },
        "data": {
          "description": "Collection of data that exists on this paged view.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/MessageActivity"
          }
        }
      }
    },
    "MessageActivity": {
      "description": "A Message Activity resource.",
      "type": "object",
      "properties": {
        "abuse": {
          "description": "Whether the message was marked as abuse by the contact.",
          "type": "boolean"
        },
        "activityDate": {
          "format": "date-time",
          "description": "Date of first activity by the contact.",
          "type": "string"
        },
        "bounce": {
          "description": "Whether the message bounced for the contact.",
          "type": "boolean"
        },
        "bounceReason": {
          "description": "Reason why the message bounced.",
          "type": "string"
        },
        "click": {
          "description": "Whether the message was clicked by the contact.",
          "type": "boolean"
        },
        "clickCount": {
          "format": "int32",
          "description": "Number of clicks made by the contact.",
          "type": "integer"
        },
        "emailAddress": {
          "description": "Email address of the contact.",
          "type": "string"
        },
        "open": {
          "description": "Whether the message was opened by the contact.",
          "type": "boolean"
        },
        "orderTotal": {
          "format": "double",
          "description": "Order total associated with the message for the contact.",
          "type": "number"
        },
        "read": {
          "description": "Whether the message was read by the contact.",
          "type": "boolean"
        },
        "sendDate": {
          "format": "date-time",
          "description": "Send date of the message.",
          "type": "string"
        },
        "unsubscribe": {
          "description": "Whether the message caused an unsubscribe by the contact.",
          "type": "boolean"
        },
        "visitDate": {
          "format": "date-time",
          "description": "DEPRECATED as of June 2020",
          "type": "string"
        },
        "externalContactID": {
          "description": "The external contact ID provided by a 3rd party",
          "type": "string"
        }
      }
    },
    "Collection[MessageLink]": {
      "type": "object",
      "properties": {
        "status": {
          "format": "int32",
          "description": "HTTP status code.",
          "type": "integer"
        },
        "data": {
          "description": "Collection of return data from the given call.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/MessageLink"
          }
        }
      }
    },
    "MessageLink": {
      "description": "A Message Link resource.",
      "type": "object",
      "properties": {
        "linkId": {
          "format": "int32",
          "description": "Identifier used to locate the Link.",
          "type": "integer"
        },
        "linkDescription": {
          "description": "Description of the Link.",
          "type": "string"
        },
        "linkUrl": {
          "description": "URL of the Link.",
          "type": "string"
        },
        "clickCount": {
          "format": "int32",
          "description": "The number of clicks for the Link.",
          "type": "integer"
        }
      }
    },
    "CollectionPaged[MessageLink]": {
      "type": "object",
      "properties": {
        "status": {
          "format": "int32",
          "description": "HTTP status code.",
          "type": "integer"
        },
        "nextPageCursor": {
          "description": "URI of the next page of data.",
          "type": "string"
        },
        "data": {
          "description": "Collection of data that exists on this paged view.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/MessageLink"
          }
        }
      }
    },
    "Resource[MessageLink]": {
      "type": "object",
      "properties": {
        "status": {
          "format": "int32",
          "description": "HTTP status code.",
          "type": "integer"
        },
        "data": {
          "$ref": "#/definitions/MessageLink",
          "description": "Return data."
        }
      }
    },
    "Resource[MessageLinkClicker]": {
      "type": "object",
      "properties": {
        "status": {
          "format": "int32",
          "description": "HTTP status code.",
          "type": "integer"
        },
        "data": {
          "$ref": "#/definitions/MessageLinkClicker",
          "description": "Return data."
        }
      }
    },
    "MessageLinkClicker": {
      "description": "A Message Link Clicker resource.",
      "type": "object",
      "properties": {
        "emailAddress": {
          "description": "Email address of the contact.",
          "type": "string"
        },
        "clickDate": {
          "format": "date-time",
          "description": "Date on which the click occurred.",
          "type": "string"
        }
      }
    },
    "CollectionPaged[MessageLinkClicker]": {
      "type": "object",
      "properties": {
        "status": {
          "format": "int32",
          "description": "HTTP status code.",
          "type": "integer"
        },
        "nextPageCursor": {
          "description": "URI of the next page of data.",
          "type": "string"
        },
        "data": {
          "description": "Collection of data that exists on this paged view.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/MessageLinkClicker"
          }
        }
      }
    },
    "Resource[MessageSummary]": {
      "type": "object",
      "properties": {
        "status": {
          "format": "int32",
          "description": "HTTP status code.",
          "type": "integer"
        },
        "data": {
          "$ref": "#/definitions/MessageSummary",
          "description": "Return data."
        }
      }
    },
    "MessageSummary": {
      "description": "A Message Summary resource.",
      "type": "object",
      "properties": {
        "averageOrderValue": {
          "format": "double",
          "description": "Average order value associated with the message.",
          "type": "number"
        },
        "bounceCount": {
          "format": "int32",
          "description": "The number of bounces for the message.",
          "type": "integer"
        },
        "clickCount": {
          "format": "int32",
          "description": "The number of clicks for the message.",
          "type": "integer"
        },
        "conversionCount": {
          "format": "int32",
          "description": "The number of conversions for the message.",
          "type": "integer"
        },
        "openCount": {
          "format": "int32",
          "description": "The number of opens for the message.",
          "type": "integer"
        },
        "passAlongCount": {
          "format": "int32",
          "description": "The number of passalongs for the message.",
          "type": "integer"
        },
        "readCount": {
          "format": "int32",
          "description": "The number of reads for the message.",
          "type": "integer"
        },
        "revenue": {
          "format": "double",
          "description": "Total revenue associated with the message.",
          "type": "number"
        },
        "sentCount": {
          "format": "int32",
          "description": "The number of times the message was sent.",
          "type": "integer"
        },
        "unsubscribeCount": {
          "format": "int32",
          "description": "The number of unsubscribes for the message.",
          "type": "integer"
        },
        "visitCount": {
          "format": "int32",
          "description": "The number of site visits as a result of the message.",
          "type": "integer"
        }
      }
    },
    "Resource[ConversationSummary]": {
      "type": "object",
      "properties": {
        "status": {
          "format": "int32",
          "description": "HTTP status code.",
          "type": "integer"
        },
        "data": {
          "$ref": "#/definitions/ConversationSummary",
          "description": "Return data."
        }
      }
    },
    "ConversationSummary": {
      "description": "A Conversation Summary resource",
      "type": "object",
      "properties": {
        "averageOrderValue": {
          "format": "double",
          "description": "Average order value associated with the conversation.",
          "type": "number"
        },
        "bounceCount": {
          "format": "int32",
          "description": "The number of bounces for the conversation.",
          "type": "integer"
        },
        "clickCount": {
          "format": "int32",
          "description": "The number of clicks for the conversation.",
          "type": "integer"
        },
        "conversionCount": {
          "format": "int32",
          "description": "The number of conversions for the conversation.",
          "type": "integer"
        },
        "deliveredCount": {
          "format": "int32",
          "description": "The number of messages delivered for the conversation.",
          "type": "integer"
        },
        "openCount": {
          "format": "int32",
          "description": "The number of opens for the conversation.",
          "type": "integer"
        },
        "readCount": {
          "format": "int32",
          "description": "The number of reads for the conversation.",
          "type": "integer"
        },
        "revenue": {
          "format": "double",
          "description": "Total revenue associated with the conversation.",
          "type": "number"
        },
        "sentCount": {
          "format": "int32",
          "description": "The number of messages sent during the conversation.",
          "type": "integer"
        },
        "unsubscribeCount": {
          "format": "int32",
          "description": "The number of unsubscribes for the conversation.",
          "type": "integer"
        },
        "visitCount": {
          "format": "int32",
          "description": "The number of site visits as a result of the conversation.",
          "type": "integer"
        }
      }
    },
    "Event": {
      "description": "An Event resource.",
      "required": [
        "eventName",
        "status"
      ],
      "type": "object",
      "properties": {
        "eventId": {
          "format": "int32",
          "description": "Identifier used to locate the event.",
          "type": "integer",
          "readOnly": true
        },
        "eventName": {
          "description": "Name given to the event.",
          "type": "string"
        },
        "eventGroupId": {
          "format": "int32",
          "description": "Identifier of the event group associated with the event.",
          "type": "integer"
        },
        "status": {
          "description": "Status of the event. Allowed values are `Active` and `Blocked`.",
          "type": "string"
        }
      }
    },
    "Collection[Event]": {
      "type": "object",
      "properties": {
        "status": {
          "format": "int32",
          "description": "HTTP status code.",
          "type": "integer"
        },
        "data": {
          "description": "Collection of return data from the given call.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/Event"
          }
        }
      }
    },
    "Resource[Event]": {
      "type": "object",
      "properties": {
        "status": {
          "format": "int32",
          "description": "HTTP status code.",
          "type": "integer"
        },
        "data": {
          "$ref": "#/definitions/Event",
          "description": "Return data."
        }
      }
    },
    "EventGroup": {
      "description": "An Event Group resource.",
      "required": [
        "eventGroupName"
      ],
      "type": "object",
      "properties": {
        "eventGroupId": {
          "format": "int32",
          "description": "Identifier used to locate the event group.",
          "type": "integer",
          "readOnly": true
        },
        "eventGroupName": {
          "description": "Name of the event group.",
          "type": "string"
        }
      }
    },
    "Collection[EventGroup]": {
      "type": "object",
      "properties": {
        "status": {
          "format": "int32",
          "description": "HTTP status code.",
          "type": "integer"
        },
        "data": {
          "description": "Collection of return data from the given call.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EventGroup"
          }
        }
      }
    },
    "Resource[EventGroup]": {
      "type": "object",
      "properties": {
        "status": {
          "format": "int32",
          "description": "HTTP status code.",
          "type": "integer"
        },
        "data": {
          "$ref": "#/definitions/EventGroup",
          "description": "Return data."
        }
      }
    },
    "Folder": {
      "description": "A Folder resource.",
      "required": [
        "folderName"
      ],
      "type": "object",
      "properties": {
        "folderId": {
          "format": "int32",
          "description": "Identifier used to locate the folder.",
          "type": "integer",
          "readOnly": true
        },
        "folderName": {
          "description": "Name of the folder.",
          "type": "string"
        }
      }
    },
    "Collection[Folder]": {
      "type": "object",
      "properties": {
        "status": {
          "format": "int32",
          "description": "HTTP status code.",
          "type": "integer"
        },
        "data": {
          "description": "Collection of return data from the given call.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/Folder"
          }
        }
      }
    },
    "Resource[Folder]": {
      "type": "object",
      "properties": {
        "status": {
          "format": "int32",
          "description": "HTTP status code.",
          "type": "integer"
        },
        "data": {
          "$ref": "#/definitions/Folder",
          "description": "Return data."
        }
      }
    },
    "Collection[IpPool]": {
      "type": "object",
      "properties": {
        "status": {
          "format": "int32",
          "description": "HTTP status code.",
          "type": "integer"
        },
        "data": {
          "description": "Collection of return data from the given call.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/IpPool"
          }
        }
      }
    },
    "IpPool": {
      "description": "An IpPool resource.",
      "type": "object",
      "properties": {
        "ipPoolId": {
          "format": "int32",
          "description": "Identifier used to locate the IP pool.",
          "type": "integer"
        },
        "ipPoolDescription": {
          "description": "Description of the IP pool.",
          "type": "string"
        }
      }
    },
    "List": {
      "description": "A List resource.",
      "required": [
        "listName",
        "bounceHandling",
        "bounceUnsubscribeCount"
      ],
      "type": "object",
      "properties": {
        "listId": {
          "format": "int32",
          "description": "Identifier used to locate the list.",
          "type": "integer",
          "readOnly": true
        },
        "listName": {
          "description": "Name of the list.",
          "type": "string"
        },
        "folderId": {
          "format": "int32",
          "description": "Identifier of the folder associated with the list.",
          "type": "integer"
        },
        "ipPoolId": {
          "format": "int32",
          "description": "Identifier of the IP pool associated with the list.",
          "type": "integer"
        },
        "bounceDomainAlias": {
          "description": "Alias domain for email bounces.",
          "type": "string"
        },
        "bounceHandling": {
          "description": "Bounce handling method for the list. Allowed values are `None`, `Standard`, and `Aggressive`.",
          "type": "string"
        },
        "bounceUnsubscribeCount": {
          "format": "int32",
          "description": "The number of bounces that are allowed before being automatically unsubscribed.",
          "type": "integer"
        },
        "createDate": {
          "format": "date-time",
          "description": "The creation date of the list.",
          "type": "string"
        },
        "enableBrowserLink": {
          "description": "Whether browser link is enabled.",
          "type": "boolean"
        },
        "enableDoubleOptIn": {
          "description": "Whether double opt-in is enabled.",
          "type": "boolean"
        },
        "enableDynamicContent": {
          "description": "Whether dynamic content is enabled.",
          "type": "boolean"
        },
        "enableGoogleAnalytics": {
          "description": "Whether Google Analytics is enabled.",
          "type": "boolean"
        },
        "enableInternationalization": {
          "description": "Whether internationalization is enabled.",
          "type": "boolean"
        },
        "enableListHygiene": {
          "description": "Whether list hygiene is enabled.",
          "type": "boolean"
        },
        "enableListRemovalHeader": {
          "description": "Whether unsubscribe information is automatically included in message headers.",
          "type": "boolean"
        },
        "enableListRemovalLink": {
          "description": "Whether the list removal link is automatically included.",
          "type": "boolean"
        },
        "enableListrakAnalytics": {
          "description": "Whether Listrak Analytics is enabled.",
          "type": "boolean"
        },
        "enableSpamScorePersonalization": {
          "description": "Whether personalization is available in Spam Score.",
          "type": "boolean"
        },
        "enableToNamePersonalization": {
          "description": "Whether personalization is enabled for a recipient's _To_ name.",
          "type": "boolean"
        },
        "enableUniversalEmailKeySetting": {
          "description": "Whether to include UniversalEmailKey in URL query string.",
          "type": "boolean"
        },
        "fromEmail": {
          "description": "The _From_ email address used by default when sending messages.",
          "type": "string"
        },
        "fromName": {
          "description": "The _From_ name used by default when sending messages.",
          "type": "string"
        },
        "googleTrackingDomains": {
          "description": "Google tracking domains of the list.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "linkDomainAlias": {
          "description": "Alias domain for links in the list's messages.",
          "type": "string"
        },
        "mediaDomainAlias": {
          "description": "DEPRECATED as of January 2020",
          "type": "string"
        }
      }
    },
    "Collection[List]": {
      "type": "object",
      "properties": {
        "status": {
          "format": "int32",
          "description": "HTTP status code.",
          "type": "integer"
        },
        "data": {
          "description": "Collection of return data from the given call.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/List"
          }
        }
      }
    },
    "Resource[List]": {
      "type": "object",
      "properties": {
        "status": {
          "format": "int32",
          "description": "HTTP status code.",
          "type": "integer"
        },
        "data": {
          "$ref": "#/definitions/List",
          "description": "Return data."
        }
      }
    },
    "ImportFile": {
      "description": "An Import File resource.",
      "required": [
        "fileDelimiter",
        "fileMappings",
        "fileName",
        "fileStream",
        "importType",
        "segmentationImportType"
      ],
      "type": "object",
      "properties": {
        "fileDelimiter": {
          "description": "Delimiter used to separate columns within the file.",
          "type": "string"
        },
        "fileMappings": {
          "description": "Representation of import file mappings; these map file columns to import fields.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/ImportFileMapping"
          }
        },
        "fileName": {
          "description": "Filename of the import file.",
          "type": "string"
        },
        "fileStream": {
          "format": "byte",
          "description": "Base64-encoded byte array representation of the import file.",
          "type": "string"
        },
        "hasColumnNames": {
          "description": "Whether the first line of the import file contains column names.",
          "type": "boolean"
        },
        "importType": {
          "description": "The type of import to conduct. Allowed values are `AddSubscribers`, `AddSubscribersAndSegmentationData`, `RemoveSubscribers`, and `UpdateSubscribers`.",
          "type": "string"
        },
        "segmentationImportType": {
          "description": "Strategy to take if imported data already exists. Allowed values are `Update`, `Append`, and `Overwrite`.",
          "type": "string"
        },
        "suppressEmailNotifications": {
          "description": "Whether to suppress email notifications.",
          "type": "boolean"
        },
        "textQualifier": {
          "description": "The text qualifier used for the import file.",
          "type": "string"
        },
        "triggerJourney": {
          "description": "Whether to enter subscribers into all List Subscription journeys associated with this list.",
          "type": "boolean"
        },
        "includeUnsubscribed": {
          "description": "Whether to update both subscribed and unsubscribed contacts when `ImportType` is `UpdateSubscribers`.",
          "type": "boolean"
        }
      }
    },
    "ImportFileMapping": {
      "description": "An Import File Mapping resource.",
      "required": [
        "fileColumn",
        "fileColumnType"
      ],
      "type": "object",
      "properties": {
        "segmentationFieldId": {
          "format": "int32",
          "description": "Identifier of the associated profile field.",
          "type": "integer"
        },
        "defaultValue": {
          "description": "Default value to be used if a value is not provided during the import.",
          "type": "string"
        },
        "fileColumn": {
          "format": "int32",
          "description": "Number identifying the column's ordinal position in the file, starting from `0`.",
          "type": "integer"
        },
        "fileColumnType": {
          "description": "Type of value in the column of the import file. Allowed values are `Email`, `SegmentationField`, `Event`, and `ExternalContactID`.",
          "type": "string"
        }
      }
    },
    "Collection[ListImport]": {
      "type": "object",
      "properties": {
        "status": {
          "format": "int32",
          "description": "HTTP status code.",
          "type": "integer"
        },
        "data": {
          "description": "Collection of return data from the given call.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/ListImport"
          }
        }
      }
    },
    "ListImport": {
      "description": "A List Import resource.",
      "type": "object",
      "properties": {
        "importFileId": {
          "format": "int32",
          "description": "Identifier used to locate the list import.",
          "type": "integer",
          "readOnly": true
        },
        "importFileName": {
          "description": "Filename of an import file.",
          "type": "string"
        },
        "importDate": {
          "format": "date-time",
          "description": "Date of an import.",
          "type": "string"
        }
      }
    },
    "Resource[ListImport]": {
      "type": "object",
      "properties": {
        "status": {
          "format": "int32",
          "description": "HTTP status code.",
          "type": "integer"
        },
        "data": {
          "$ref": "#/definitions/ListImport",
          "description": "Return data."
        }
      }
    },
    "CollectionPaged[ListImportContact]": {
      "type": "object",
      "properties": {
        "status": {
          "format": "int32",
          "description": "HTTP status code.",
          "type": "integer"
        },
        "nextPageCursor": {
          "description": "URI of the next page of data.",
          "type": "string"
        },
        "data": {
          "description": "Collection of data that exists on this paged view.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/ListImportContact"
          }
        }
      }
    },
    "ListImportContact": {
      "description": "A List Import Contact resource.",
      "type": "object",
      "properties": {
        "emailAddress": {
          "description": "Email address of the contact.",
          "type": "string"
        },
        "importResult": {
          "description": "Result of the list import for the contact.",
          "type": "string"
        }
      }
    },
    "Resource[ListImportStatus]": {
      "type": "object",
      "properties": {
        "status": {
          "format": "int32",
          "description": "HTTP status code.",
          "type": "integer"
        },
        "data": {
          "$ref": "#/definitions/ListImportStatus",
          "description": "Return data."
        }
      }
    },
    "ListImportStatus": {
      "description": "A List Import Status resource.",
      "type": "object",
      "properties": {
        "startDate": {
          "format": "date-time",
          "description": "Start date of the list import.",
          "type": "string"
        },
        "endDate": {
          "format": "date-time",
          "description": "End date of the list import.",
          "type": "string"
        },
        "status": {
          "description": "The status of the list import.",
          "type": "string"
        }
      }
    },
    "Resource[ListImportSummary]": {
      "type": "object",
      "properties": {
        "status": {
          "format": "int32",
          "description": "HTTP status code.",
          "type": "integer"
        },
        "data": {
          "$ref": "#/definitions/ListImportSummary",
          "description": "Return data."
        }
      }
    },
    "ListImportSummary": {
      "description": "A List Import Summary resource.",
      "type": "object",
      "properties": {
        "alreadySubscribedCount": {
          "format": "int32",
          "description": "Number of contacts that are already subscribed to the list.",
          "type": "integer"
        },
        "alreadyUnsubscribedCount": {
          "format": "int32",
          "description": "Number of contacts that have already been unsubscribed from the list. Only applies when removing subscribers.",
          "type": "integer"
        },
        "bannedCount": {
          "format": "int32",
          "description": "Number of contacts that have been banned from the list.",
          "type": "integer"
        },
        "invalidEmailCount": {
          "format": "int32",
          "description": "Number of contacts that have an invalid email address.",
          "type": "integer"
        },
        "previouslyUnsubscribedCount": {
          "format": "int32",
          "description": "Number of contacts that have already been unsubscribed from the list. Only applies when updating and appending subscribers.",
          "type": "integer"
        },
        "processedCount": {
          "format": "int32",
          "description": "Number of contacts that were processed in total.",
          "type": "integer"
        },
        "skippedCount": {
          "format": "int32",
          "description": "Number of contacts that were skipped.",
          "type": "integer"
        },
        "subscribedCount": {
          "format": "int32",
          "description": "Number of contacts that were subscribed to the list.",
          "type": "integer"
        },
        "suppressedCount": {
          "format": "int32",
          "description": "Number of contacts that are on a suppression list bound to the list.",
          "type": "integer"
        },
        "unsubscribedCount": {
          "format": "int32",
          "description": "Number of contacts that were unsubscribed from the list.",
          "type": "integer"
        }
      }
    },
    "MessageExtendedFilter": {
      "required": [
        "externalCampaignId",
        "fromEmail",
        "fromName",
        "subject"
      ],
      "type": "object",
      "properties": {
        "messageId": {
          "format": "int32",
          "description": "Identifier used to locate the message.",
          "type": "integer",
          "readOnly": true
        },
        "sendDate": {
          "format": "date-time",
          "description": "Send date of the message.",
          "type": "string",
          "readOnly": true
        },
        "messageStatus": {
          "description": "Status displaying whether the message is sent or scheduled.",
          "type": "string",
          "readOnly": true
        },
        "enableUniversalEmailKeySetting": {
          "description": "Whether to include UniversalEmailKey in URL query string.",
          "type": "boolean"
        },
        "campaignId": {
          "format": "int32",
          "description": "Identifier of the campaign associated with the message.",
          "type": "integer"
        },
        "bodyHtml": {
          "description": "HTML body that will be sent in the message.",
          "type": "string"
        },
        "bodyText": {
          "description": "Text body that will be sent in the message.",
          "type": "string"
        },
        "codePage": {
          "format": "int32",
          "description": "Type of CodePage used in the message.",
          "type": "integer"
        },
        "enablePassalong": {
          "description": "Whether passalong is enabled.",
          "type": "boolean"
        },
        "enableTracking": {
          "description": "Whether tracking is enabled.",
          "type": "boolean"
        },
        "externalCampaignId": {
          "description": "Customer-provided identifier of the campaign associated with the message.",
          "type": "string"
        },
        "fromEmail": {
          "description": "The _from email address_ that will be used for the message.",
          "type": "string"
        },
        "fromName": {
          "description": "The _from name_ that will be used for the message.",
          "type": "string"
        },
        "googleAnalyticsCampaignName": {
          "description": "The Google Analytics campaign name to be used for message tracking.",
          "type": "string"
        },
        "googleAnalyticsCampaignContent": {
          "description": "The Google Analytics campaign content to be used for message tracking.",
          "type": "string"
        },
        "replyEmail": {
          "description": "The _reply email address_ that will be used for the message.",
          "type": "string"
        },
        "savedAudienceId": {
          "format": "int32",
          "description": "Identifier of the SavedAudience to use for recipient filtering.",
          "type": "integer"
        },
        "subject": {
          "description": "Subject of the message.",
          "type": "string"
        },
        "toName": {
          "description": "The _to name_ that will be used for the message.",
          "type": "string"
        },
        "filter": {
          "$ref": "#/definitions/Filter",
          "description": "Filter to be used for recipient filtering."
        }
      }
    },
    "Filter": {
      "type": "object",
      "properties": {
        "segmentationFieldGroup": {
          "description": "The name of the profile field group to use for filtering.",
          "type": "string"
        },
        "segmentationField": {
          "description": "The name of the profile field to use for filtering.",
          "type": "string"
        },
        "joinType": {
          "description": "The mechanism by which this filter should be joined to the immediately preceding filter. Optional if it is the first filter (ignored if provided anyway).",
          "enum": [
            "And",
            "AndNot",
            "Or",
            "OrNot"
          ],
          "type": "string"
        },
        "compareType": {
          "description": "The type of comparison to use filtering values with.",
          "enum": [
            "Contains",
            "NotContains",
            "Equals",
            "NotEquals",
            "GreaterThan",
            "GreaterThanOrEqualTo",
            "LessThan",
            "LessThanOrEqualTo",
            "Between",
            "NotBetween",
            "Checked",
            "NotChecked",
            "RadioOn",
            "RadioOff",
            "InCommaList",
            "NotInCommaList",
            "IsEmpty",
            "IsNotEmpty"
          ],
          "type": "string"
        },
        "values": {
          "description": "Values to be used for filtering.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/FilterValue"
          }
        },
        "filters": {
          "description": "One or more sub-filters to apply. Cannot be specified in conjunction with the `CompareType` or `Values` fields: filters must define their own filtering behavior, or must define inner filters.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/Filter"
          }
        }
      }
    },
    "FilterValue": {
      "type": "object",
      "properties": {
        "value": {
          "description": "Value to be used for filtering.",
          "type": "string"
        }
      }
    },
    "Collection[MessageExtended]": {
      "type": "object",
      "properties": {
        "status": {
          "format": "int32",
          "description": "HTTP status code.",
          "type": "integer"
        },
        "data": {
          "description": "Collection of return data from the given call.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/MessageExtended"
          }
        }
      }
    },
    "Resource[MessageExtendedSegmentsApplied]": {
      "type": "object",
      "properties": {
        "status": {
          "format": "int32",
          "description": "HTTP status code.",
          "type": "integer"
        },
        "data": {
          "$ref": "#/definitions/MessageExtendedSegmentsApplied",
          "description": "Return data."
        }
      }
    },
    "MessageExtendedSegmentsApplied": {
      "required": [
        "externalCampaignId",
        "fromEmail",
        "fromName",
        "subject"
      ],
      "type": "object",
      "properties": {
        "messageId": {
          "format": "int32",
          "description": "Identifier used to locate the message.",
          "type": "integer",
          "readOnly": true
        },
        "sendDate": {
          "format": "date-time",
          "description": "Send date of the message.",
          "type": "string",
          "readOnly": true
        },
        "messageStatus": {
          "description": "Status displaying whether the message is sent or scheduled.",
          "type": "string",
          "readOnly": true
        },
        "enableUniversalEmailKeySetting": {
          "description": "Whether to include UniversalEmailKey in URL query string.",
          "type": "boolean"
        },
        "campaignId": {
          "format": "int32",
          "description": "Identifier of the campaign associated with the message.",
          "type": "integer"
        },
        "bodyHtml": {
          "description": "HTML body that will be sent in the message.",
          "type": "string"
        },
        "bodyText": {
          "description": "Text body that will be sent in the message.",
          "type": "string"
        },
        "codePage": {
          "format": "int32",
          "description": "Type of CodePage used in the message.",
          "type": "integer"
        },
        "enablePassalong": {
          "description": "Whether passalong is enabled.",
          "type": "boolean"
        },
        "enableTracking": {
          "description": "Whether tracking is enabled.",
          "type": "boolean"
        },
        "externalCampaignId": {
          "description": "Customer-provided identifier of the campaign associated with the message.",
          "type": "string"
        },
        "fromEmail": {
          "description": "The _from email address_ that will be used for the message.",
          "type": "string"
        },
        "fromName": {
          "description": "The _from name_ that will be used for the message.",
          "type": "string"
        },
        "googleAnalyticsCampaignName": {
          "description": "The Google Analytics campaign name to be used for message tracking.",
          "type": "string"
        },
        "googleAnalyticsCampaignContent": {
          "description": "The Google Analytics campaign content to be used for message tracking.",
          "type": "string"
        },
        "replyEmail": {
          "description": "The _reply email address_ that will be used for the message.",
          "type": "string"
        },
        "savedAudienceId": {
          "format": "int32",
          "description": "Identifier of the SavedAudience to use for recipient filtering.",
          "type": "integer"
        },
        "segmentsApplied": {
          "$ref": "#/definitions/SegmentsApplied",
          "description": "Segments applied to the message."
        },
        "subject": {
          "description": "Subject of the message.",
          "type": "string"
        },
        "toName": {
          "description": "The _to name_ that will be used for the message.",
          "type": "string"
        }
      }
    },
    "SegmentsApplied": {
      "description": "Segments applied to the message.",
      "type": "object",
      "properties": {
        "includedSegments": {
          "description": "List of segments included in the recipient audience.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "excludedSegments": {
          "description": "List of segments excluded from the recipient audience.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "Resource[MessageStatus]": {
      "type": "object",
      "properties": {
        "status": {
          "format": "int32",
          "description": "HTTP status code.",
          "type": "integer"
        },
        "data": {
          "$ref": "#/definitions/MessageStatus",
          "description": "Return data."
        }
      }
    },
    "MessageStatus": {
      "description": "A Message Status resource.",
      "type": "object",
      "properties": {
        "sendCount": {
          "format": "int32",
          "description": "Number of sends associated with the message.",
          "type": "integer"
        },
        "startDate": {
          "format": "date-time",
          "description": "Start date of the message send.",
          "type": "string"
        },
        "endDate": {
          "format": "date-time",
          "description": "End date of the message send.",
          "type": "string"
        },
        "status": {
          "description": "The status of the message send.",
          "type": "string"
        },
        "type": {
          "description": "The type of message send.",
          "type": "string"
        }
      }
    },
    "Collection[SavedAudience]": {
      "type": "object",
      "properties": {
        "status": {
          "format": "int32",
          "description": "HTTP status code.",
          "type": "integer"
        },
        "data": {
          "description": "Collection of return data from the given call.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/SavedAudience"
          }
        }
      }
    },
    "SavedAudience": {
      "description": "A Saved Audience resource.",
      "type": "object",
      "properties": {
        "name": {
          "description": "Name of the saved audience.",
          "type": "string"
        },
        "lastModified": {
          "format": "date-time",
          "description": "Last date the saved audience was modified.",
          "type": "string"
        },
        "savedAudienceId": {
          "format": "int64",
          "description": "Identifier used to locate the saved audience.",
          "type": "integer"
        }
      }
    },
    "CollectionPaged[SavedAudience]": {
      "type": "object",
      "properties": {
        "status": {
          "format": "int32",
          "description": "HTTP status code.",
          "type": "integer"
        },
        "nextPageCursor": {
          "description": "URI of the next page of data.",
          "type": "string"
        },
        "data": {
          "description": "Collection of data that exists on this paged view.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/SavedAudience"
          }
        }
      }
    },
    "SavedMessageCreate": {
      "description": "Request model for creating a Saved Message.",
      "required": [
        "savedMessageName",
        "subject",
        "fromName",
        "fromEmail"
      ],
      "type": "object",
      "properties": {
        "savedMessageName": {
          "description": "Name given to the saved message.",
          "type": "string"
        },
        "subject": {
          "description": "Subject of the message.",
          "type": "string"
        },
        "preheader": {
          "description": "Pre-header text of the message.",
          "type": "string"
        },
        "fromName": {
          "description": "The from name that will be used for the message.",
          "type": "string"
        },
        "fromEmail": {
          "description": "The from email address that will be used for the message.",
          "type": "string"
        },
        "replyEmail": {
          "description": "The reply email address that will be used for the message.",
          "type": "string"
        },
        "bodyHtml": {
          "description": "HTML body of the message.",
          "type": "string"
        },
        "bodyText": {
          "description": "Plain text body of the message.",
          "type": "string"
        },
        "campaignId": {
          "format": "int32",
          "description": "Identifier of the campaign associated with the message.",
          "type": "integer"
        },
        "externalCampaignId": {
          "description": "Customer-provided identifier of the campaign associated with the message.",
          "type": "string"
        }
      }
    },
    "Collection[SavedMessage]": {
      "type": "object",
      "properties": {
        "status": {
          "format": "int32",
          "description": "HTTP status code.",
          "type": "integer"
        },
        "data": {
          "description": "Collection of return data from the given call.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/SavedMessage"
          }
        }
      }
    },
    "SavedMessage": {
      "description": "A Saved Message resource.",
      "required": [
        "externalCampaignId",
        "subject"
      ],
      "type": "object",
      "properties": {
        "savedMessageId": {
          "format": "int32",
          "description": "Identifier used to locate the saved message.",
          "type": "integer",
          "readOnly": true
        },
        "savedMessageName": {
          "description": "Name given to the saved message.",
          "type": "string"
        },
        "campaignId": {
          "format": "int32",
          "description": "Identifier of the campaign associated with the message.",
          "type": "integer"
        },
        "createDate": {
          "format": "date-time",
          "description": "Creation date of the saved message.",
          "type": "string"
        },
        "lastModifiedDate": {
          "format": "date-time",
          "description": "Last date the saved message was modified.",
          "type": "string"
        },
        "externalCampaignId": {
          "description": "Customer-provided identifier of the campaign associated with the message.",
          "type": "string"
        },
        "subject": {
          "description": "Subject of the message.",
          "type": "string"
        }
      }
    },
    "Resource[SavedMessageExtended]": {
      "type": "object",
      "properties": {
        "status": {
          "format": "int32",
          "description": "HTTP status code.",
          "type": "integer"
        },
        "data": {
          "$ref": "#/definitions/SavedMessageExtended",
          "description": "Return data."
        }
      }
    },
    "SavedMessageExtended": {
      "description": "A Saved Message resource.",
      "required": [
        "externalCampaignId",
        "fromEmail",
        "fromName",
        "subject"
      ],
      "type": "object",
      "properties": {
        "enableUniversalEmailKeySetting": {
          "description": "Whether to include UniversalEmailKey in URL query string.",
          "type": "boolean"
        },
        "savedMessageId": {
          "format": "int32",
          "description": "Identifier used to locate the saved message.",
          "type": "integer"
        },
        "savedMessageName": {
          "description": "Name given to the saved message.",
          "type": "string"
        },
        "campaignId": {
          "format": "int32",
          "description": "Identifier of the campaign associated with the message.",
          "type": "integer"
        },
        "bodyHtml": {
          "description": "HTML body that will be sent in the message.",
          "type": "string"
        },
        "bodyText": {
          "description": "Text body that will be sent in the message.",
          "type": "string"
        },
        "codePage": {
          "format": "int32",
          "description": "Type of CodePage used in the message.",
          "type": "integer"
        },
        "createDate": {
          "format": "date-time",
          "description": "Creation date of the saved message.",
          "type": "string"
        },
        "lastModifiedDate": {
          "format": "date-time",
          "description": "Last date the saved message was modified.",
          "type": "string"
        },
        "enablePassalong": {
          "description": "Whether passalong is enabled.",
          "type": "boolean"
        },
        "enableTracking": {
          "description": "Whether tracking is enabled.",
          "type": "boolean"
        },
        "externalCampaignId": {
          "description": "Customer-provided identifier of the campaign associated with the message.",
          "type": "string"
        },
        "fromEmail": {
          "description": "The _from email address_ that will be used for the message.",
          "type": "string"
        },
        "fromName": {
          "description": "The _from name_ that will be used for the message.",
          "type": "string"
        },
        "googleAnalyticsCampaignName": {
          "description": "The Google Analytics campaign name to be used for message tracking.",
          "type": "string"
        },
        "googleAnalyticsCampaignContent": {
          "description": "The Google Analytics campaign content to be used for message tracking.",
          "type": "string"
        },
        "replyEmail": {
          "description": "The _reply email address_ that will be used for the message.",
          "type": "string"
        },
        "subject": {
          "description": "Subject of the message.",
          "type": "string"
        },
        "toName": {
          "description": "The _to name_ that will be used for the message.",
          "type": "string"
        }
      }
    },
    "SavedMessageUpdate": {
      "description": "Request model for updating a Saved Message.",
      "required": [
        "savedMessageName",
        "subject",
        "fromName",
        "fromEmail"
      ],
      "type": "object",
      "properties": {
        "savedMessageName": {
          "description": "Name given to the saved message.",
          "type": "string"
        },
        "subject": {
          "description": "Subject of the message.",
          "type": "string"
        },
        "preheader": {
          "description": "Pre-header text of the message.",
          "type": "string"
        },
        "fromName": {
          "description": "The from name that will be used for the message.",
          "type": "string"
        },
        "fromEmail": {
          "description": "The from email address that will be used for the message.",
          "type": "string"
        },
        "replyEmail": {
          "description": "The reply email address that will be used for the message.",
          "type": "string"
        },
        "bodyHtml": {
          "description": "HTML body of the message.",
          "type": "string"
        },
        "bodyText": {
          "description": "Plain text body of the message.",
          "type": "string"
        },
        "campaignId": {
          "format": "int32",
          "description": "Identifier of the campaign associated with the message.",
          "type": "integer"
        },
        "externalCampaignId": {
          "description": "Customer-provided identifier of the campaign associated with the message.",
          "type": "string"
        }
      }
    },
    "SegmentationField": {
      "description": "A Profile Field resource.",
      "required": [
        "segmentationFieldName",
        "dataType",
        "maxLength",
        "position"
      ],
      "type": "object",
      "properties": {
        "segmentationFieldId": {
          "format": "int32",
          "description": "Identifier of the profile field.",
          "type": "integer",
          "readOnly": true
        },
        "segmentationFieldName": {
          "description": "Name of the profile field.",
          "type": "string"
        },
        "segmentationFieldGroupId": {
          "format": "int32",
          "description": "Identifier of the profile field group associated with the profile field.",
          "type": "integer",
          "readOnly": true
        },
        "dataType": {
          "description": "Data type of the profile field. Allowed values are `Text`, `Numeric`, `RadioButton`, `CheckBox`, `CommentArea`, `Date`, and `ContentBlock`.",
          "type": "string"
        },
        "maxLength": {
          "format": "int32",
          "description": "The maximum character count of the data that can be stored in the profile field.",
          "type": "integer"
        },
        "position": {
          "format": "int32",
          "description": "The ordinal position of the profile field.",
          "type": "integer"
        }
      }
    },
    "Collection[SegmentationField]": {
      "type": "object",
      "properties": {
        "status": {
          "format": "int32",
          "description": "HTTP status code.",
          "type": "integer"
        },
        "data": {
          "description": "Collection of return data from the given call.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/SegmentationField"
          }
        }
      }
    },
    "Resource[SegmentationField]": {
      "type": "object",
      "properties": {
        "status": {
          "format": "int32",
          "description": "HTTP status code.",
          "type": "integer"
        },
        "data": {
          "$ref": "#/definitions/SegmentationField",
          "description": "Return data."
        }
      }
    },
    "SegmentationFieldGroup": {
      "description": "A Profile Field Group resource.",
      "required": [
        "segmentationFieldGroupName",
        "position"
      ],
      "type": "object",
      "properties": {
        "segmentationFieldGroupId": {
          "format": "int32",
          "description": "Identifier of the profile field group.",
          "type": "integer",
          "readOnly": true
        },
        "segmentationFieldGroupName": {
          "description": "Name of the profile field group.",
          "type": "string"
        },
        "position": {
          "format": "int32",
          "description": "Ordinal position of the profile field group.",
          "type": "integer"
        }
      }
    },
    "Collection[SegmentationFieldGroup]": {
      "type": "object",
      "properties": {
        "status": {
          "format": "int32",
          "description": "HTTP status code.",
          "type": "integer"
        },
        "data": {
          "description": "Collection of return data from the given call.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/SegmentationFieldGroup"
          }
        }
      }
    },
    "Resource[SegmentationFieldGroup]": {
      "type": "object",
      "properties": {
        "status": {
          "format": "int32",
          "description": "HTTP status code.",
          "type": "integer"
        },
        "data": {
          "$ref": "#/definitions/SegmentationFieldGroup",
          "description": "Return data."
        }
      }
    },
    "CollectionPaged[SplitTest]": {
      "type": "object",
      "properties": {
        "status": {
          "format": "int32",
          "description": "HTTP status code.",
          "type": "integer"
        },
        "nextPageCursor": {
          "description": "URI of the next page of data.",
          "type": "string"
        },
        "data": {
          "description": "Collection of data that exists on this paged view.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/SplitTest"
          }
        }
      }
    },
    "SplitTest": {
      "description": "A Split Test resource.",
      "type": "object",
      "properties": {
        "splitTestId": {
          "format": "int32",
          "description": "Identifier used to locate the split test.",
          "type": "integer"
        },
        "splitTestName": {
          "description": "Name of the split test.",
          "type": "string"
        },
        "startDate": {
          "format": "date-time",
          "description": "Start date of the split test.",
          "type": "string"
        },
        "endDate": {
          "format": "date-time",
          "description": "End date of the split test.",
          "type": "string"
        },
        "status": {
          "description": "Status of the split test.",
          "type": "string"
        },
        "testCriteria": {
          "description": "Criteria that is being tested by the split test.",
          "type": "string"
        },
        "testType": {
          "description": "Determines if the winning message is sent to a remainder group or not.",
          "type": "string"
        },
        "winnerMetric": {
          "description": "Metric that is being used to evaluate a winner of the split test.",
          "type": "string"
        }
      }
    },
    "Resource[SplitTest]": {
      "type": "object",
      "properties": {
        "status": {
          "format": "int32",
          "description": "HTTP status code.",
          "type": "integer"
        },
        "data": {
          "$ref": "#/definitions/SplitTest",
          "description": "Return data."
        }
      }
    },
    "Collection[SplitTestMessage]": {
      "type": "object",
      "properties": {
        "status": {
          "format": "int32",
          "description": "HTTP status code.",
          "type": "integer"
        },
        "data": {
          "description": "Collection of return data from the given call.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/SplitTestMessage"
          }
        }
      }
    },
    "SplitTestMessage": {
      "description": "A Split Test Message resource.",
      "type": "object",
      "properties": {
        "messageId": {
          "format": "int32",
          "description": "Identifier used to locate the message.",
          "type": "integer"
        },
        "messageStatus": {
          "description": "Status displaying whether the message is scheduled, sending, sent, or not ready.",
          "type": "string"
        },
        "messageType": {
          "description": "Type displaying whether the message is a split test group message or a remainder message.",
          "type": "string"
        },
        "groupName": {
          "description": "The name of the split test group to which the message belongs.",
          "type": "string"
        },
        "segmentSize": {
          "format": "int32",
          "description": "The percentage of recipients the message will be sent to. Will be null for remainder messages.",
          "type": "integer"
        }
      }
    },
    "TransactionalMessageContact": {
      "description": "A Transactional Message Contact resource.",
      "required": [
        "emailAddress"
      ],
      "type": "object",
      "properties": {
        "emailAddress": {
          "description": "Email address of the contact.",
          "type": "string"
        },
        "segmentationFieldValues": {
          "description": "Profile field values associated with the contact. An empty set must be provided if there are none.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/SegmentationFieldValue"
          }
        }
      }
    },
    "Collection[TransactionalMessage]": {
      "type": "object",
      "properties": {
        "status": {
          "format": "int32",
          "description": "HTTP status code.",
          "type": "integer"
        },
        "data": {
          "description": "Collection of return data from the given call.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/TransactionalMessage"
          }
        }
      }
    },
    "TransactionalMessage": {
      "description": "A Transactional Message resource.",
      "required": [
        "externalCampaignId",
        "subject"
      ],
      "type": "object",
      "properties": {
        "transactionalMessageId": {
          "format": "int32",
          "description": "Identifier used to locate the transactional message.",
          "type": "integer"
        },
        "transactionalMessageName": {
          "description": "Name given to the transactional message.",
          "type": "string"
        },
        "campaignId": {
          "format": "int32",
          "description": "Identifier of the campaign associated with the message.",
          "type": "integer"
        },
        "externalCampaignId": {
          "description": "Customer-provided identifier of the campaign associated with the message.",
          "type": "string"
        },
        "subject": {
          "description": "Subject of the message.",
          "type": "string"
        }
      }
    },
    "Resource[TransactionalMessage]": {
      "type": "object",
      "properties": {
        "status": {
          "format": "int32",
          "description": "HTTP status code.",
          "type": "integer"
        },
        "data": {
          "$ref": "#/definitions/TransactionalMessage",
          "description": "Return data."
        }
      }
    },
    "CollectionPaged[TransactionalMessageActivity]": {
      "type": "object",
      "properties": {
        "status": {
          "format": "int32",
          "description": "HTTP status code.",
          "type": "integer"
        },
        "nextPageCursor": {
          "description": "URI of the next page of data.",
          "type": "string"
        },
        "data": {
          "description": "Collection of data that exists on this paged view.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/TransactionalMessageActivity"
          }
        }
      }
    },
    "TransactionalMessageActivity": {
      "description": "A Message Activity resource.",
      "type": "object",
      "properties": {
        "abuse": {
          "description": "Whether the message was marked as abuse by the contact.",
          "type": "boolean"
        },
        "activityDate": {
          "format": "date-time",
          "description": "Date of first activity by the contact.",
          "type": "string"
        },
        "bounce": {
          "description": "Whether the message bounced for the contact.",
          "type": "boolean"
        },
        "bounceReason": {
          "description": "Reason why the message bounced.",
          "type": "string"
        },
        "click": {
          "description": "Whether the message was clicked by the contact.",
          "type": "boolean"
        },
        "clickCount": {
          "format": "int32",
          "description": "Number of clicks made by the contact.",
          "type": "integer"
        },
        "emailAddress": {
          "description": "Email address of the contact.",
          "type": "string"
        },
        "open": {
          "description": "Whether the message was opened by the contact.",
          "type": "boolean"
        },
        "orderTotal": {
          "format": "double",
          "description": "Order total associated with the message for the contact.",
          "type": "number"
        },
        "read": {
          "description": "Whether the message was read by the contact.",
          "type": "boolean"
        },
        "sendDate": {
          "format": "date-time",
          "description": "Send date of the message.",
          "type": "string"
        },
        "unsubscribe": {
          "description": "Whether the message caused an unsubscribe by the contact.",
          "type": "boolean"
        },
        "visitDate": {
          "format": "date-time",
          "description": "DEPRECATED as of June 2020",
          "type": "string"
        },
        "externalContactID": {
          "description": "The external contact ID provided by a 3rd party",
          "type": "string"
        },
        "resendKey": {
          "description": "Key used to resend messages",
          "type": "string"
        }
      }
    }
  },
  "securityDefinitions": {
    "OAuth2": {
      "type": "oauth2",
      "description": "Authentication is accomplished using OAuth 2.0. After successful authentication, your token should be included with every request using the _Bearer_ scheme; specifically, you should set your `Authorization` header value to `Bearer (Your token value)` in each request.\r\n\r\nYou may request a token by making a `POST` request to our token endpoint at `https://auth.listrak.com/OAuth2/Token`. The request should have a `Content-Type` of `x-www-form-urlencoded`, and the request body should include a `grant_type` of `client_credentials`, your `client_id`, and your `client_secret`. Here is an example of a valid request:\r\n\r\n```\r\nPOST /OAuth2/Token\r\nContent-Type: application/x-www-form-urlencoded\r\n\r\ngrant_type: client_credentials\r\nclient_id: (Your client ID)\r\nclient_secret: (Your client secret)\r\n```\r\n\r\nFor your security and convenience, you may pause and unpause your API access on our _Integration Manager_ page. All requests will be rejected while your API access is paused, including requests to issue tokens.\r\n\n",
      "flow": "Application",
      "tokenUrl": "https://auth.listrak.com/OAuth2/Token",
      "scopes": {
        "Contact": "Contact access",
        "Event": "Event access",
        "List": "List access",
        "Message": "Message access",
        "Report": "Report access",
        "Segmentation": "Segmentation access"
      }
    }
  },
  "tags": [
    {
      "name": "Campaign",
      "description": "A Campaign resource is used to group and track messages with a common theme or purpose."
    },
    {
      "name": "Contact",
      "description": "The Contact resource is used to add, update and remove new contacts to a List. This resource also exposes the ability to set a contact's profile fields and subscription state."
    },
    {
      "name": "ContactSegmentationField",
      "description": "The Contact Segmentation Field resource is used to update contact profile fields."
    },
    {
      "name": "Content",
      "description": "The Content resource allows you to create and manage content blocks in the content library for a list."
    },
    {
      "name": "ContentFolder",
      "description": "The Content Folder resource allows you to retrieve the folder hierarchy of the content library for a list."
    },
    {
      "name": "Conversation",
      "description": "The Conversation resource allows you to access conversations that have been created on a list."
    },
    {
      "name": "ConversationMessage",
      "description": "The Conversation Message resource allows you to access messages sent through a conversation."
    },
    {
      "name": "ConversationMessageActivity",
      "description": "The Conversation Message Activity resource allows you to access contact activity for a message sent through a conversation."
    },
    {
      "name": "ConversationMessageLink",
      "description": "The Conversation Message Link resource allows you to access links for a message sent through a conversation."
    },
    {
      "name": "ConversationMessageLinkClicker",
      "description": "The Conversation Message Link Clicker resource allows you to access contacts that clicked a link in a message sent through a conversation."
    },
    {
      "name": "ConversationMessageSummary",
      "description": "The Conversation Message Summary resource allows you to access an aggregated summary of contact activity for a message sent through a conversation."
    },
    {
      "name": "ConversationSummary",
      "description": "The Conversation Summary resource allows you to access an aggregated summary of contact activity for a conversation."
    },
    {
      "name": "Event",
      "description": "An Event resource provides a way to access external events that have been created on a list."
    },
    {
      "name": "EventGroup",
      "description": "The EventGroup resource allows you to create containers which will contain and group events."
    },
    {
      "name": "Folder",
      "description": "A Folder resource allows you to access the folders used to organize and group lists."
    },
    {
      "name": "IpPool",
      "description": "The IpPool resource exposes all of the IP Pools and their IDs for a user's Account."
    },
    {
      "name": "List",
      "description": "Lists represent groupings of contacts, messages, and more.\r\n\r\nListrak's Email API is list-centric, just like Listrak's application. Most resources available through this API are associated with a specific list."
    },
    {
      "name": "ListImport",
      "description": "The List Import resource is used to supply an import file in order to import data to a list."
    },
    {
      "name": "ListImportContact",
      "description": "The List Import Contact resource allows you to access contacts that were affected as result of a list import."
    },
    {
      "name": "ListImportStatus",
      "description": "The List Import Status resource allows you to access the status of a list import."
    },
    {
      "name": "ListImportSummary",
      "description": "The List Import Summary resource allows you to access an aggregated summary of a list import."
    },
    {
      "name": "Message",
      "description": "The Message resource provides a way to send and retrieve messages for a list.\r\n\r\n## Filters\r\n\r\nFilters can be used to select contacts based on their profile data. They may be supplied when sending a message via the `Filter` field.\r\n\r\nFilters may be combined and nested in nearly limitless combinations. A filter is considered valid if it either defines profile data to filter on, or if it defines one or more inner filters. It is not valid to do neither or both. If a filter is defining inner filters, its `Filters` field should be set to an array of one or more filters. Otherwise, it should specify a `CompareType`, a `SegmentationFieldGroup`, a `SegmentationField`, and if applicable, one or more `Values` to apply to filtering logic.\r\n\r\nWhen defining multiple filters in a set, the second and subsequent filters must define how they should be joined to the preceding filter. This is specified using the `JoinType` field. Valid values are `And`, `AndNot`, `Or`, and `OrNot`. It is not necessary to specify a `JoinType` for the first (or only) filter in a set, because there is no other filter to join with.\r\n\r\nFiltering logic is determined by the `CompareType` field. Below is a table of supported values, a brief description of each, and the number of values required for operation:\r\n\r\n| CompareType | Description | Number of values required |\r\n|-|-|-|\r\n| `Between` | The field is between the range of the two specified values (inclusive). | 2 |\r\n| `NotBetween` | The field is not between the range of the two specified values (inclusive). | 2 |\r\n| `Contains` | The field contains the specified value. | 1 |\r\n| `NotContains` | The field does not contain the specified value. | 1 |\r\n| `Equals` | The field equals the specified value (case insensitive). | 1 |\r\n| `NotEquals` | The field does not equal the specified value (case insensitive). | 1 |\r\n| `GreaterThan` | The field is greater the specified value. | 1 |\r\n| `GreaterThanOrEqualTo` | The field is greater than or equal to the specified value. | 1 |\r\n| `LessThan` | The field is less than the specified value. | 1 |\r\n| `LessThanOrEqualTo` | The field is less than or equal to the specified value. | 1 |\r\n| `InCommaList` | The field is one of the specified values in a comma-separated list. | 1 |\r\n| `NotInCommaList` | The field is not one of the specified values in a comma-separated list. | 1 |\r\n| `Checked` | The checkbox field is checked. | 0 |\r\n| `NotChecked` | The checkbox field is not checked. | 0 |\r\n| `RadioOn` | The radio button is selected. | 0 |\r\n| `RadioOff` | The radio button is not selected. | 0 |\r\n| `IsEmpty` | The field is null or empty. | 0 |\r\n| `IsNotEmpty` | The field is not null or empty. | 0 |\r\n\r\nCommon use cases are documented below. The examples assume the following profile configuration:\r\n\r\n| Profile field group | Profile field | Value type |\r\n|-|-|-|\r\n| Favorites | Color | _Text_ |\r\n| Favorites | Number | _Numeric_ |\r\n| Favorites | Movie | _Text_ |\r\n\r\nTo select contacts whose favorite color is green:\r\n\r\n```\r\n\"filter\": {\r\n  \"segmentationFieldGroup\": \"Favorites\",\r\n  \"segmentationField\": \"Color\",\r\n  \"compareType\": \"Equals\",\r\n  \"values\": [\r\n    {\r\n      \"value\": \"Green\"\r\n    }\r\n  ]\r\n}\r\n```\r\n\r\nTo select contacts whose favorite color is green _and_ whose favorite number is between 10 and 20:\r\n\r\n```\r\n\"filter\": {\r\n  filters: [\r\n    {\r\n      \"compareType\": \"Equals\",\r\n      \"segmentationFieldGroup\": \"Favorites\",\r\n      \"segmentationField\": \"Color\",\r\n      \"values\": [\r\n        {\r\n          \"value\": \"Green\"\r\n        }\r\n      ]\r\n    },\r\n    {\r\n      \"compareType\": \"Between\",\r\n      \"joinType\": \"And\",\r\n      \"segmentationFieldGroup\": \"Favorites\",\r\n      \"segmentationField\": \"Number\",\r\n      \"values\": [\r\n        {\r\n          \"value\": \"10\"\r\n        },\r\n        {\r\n          \"value\": \"20\"\r\n        }\r\n      ]\r\n    }\r\n  ]\r\n}\r\n```\r\n\r\nTo select contacts whose favorite color is red _or_ whose favorite number is 13:\r\n\r\n```\r\n\"filter\": {\r\n  filters: [\r\n    {\r\n      \"compareType\": \"Equals\",\r\n      \"segmentationFieldGroup\": \"Favorites\",\r\n      \"segmentationField\": \"Color\",\r\n      \"values\": [\r\n        {\r\n          \"value\": \"Red\"\r\n        }\r\n      ]\r\n    },\r\n    {\r\n      \"compareType\": \"Equals\",\r\n      \"joinType\": \"Or\",\r\n      \"segmentationFieldGroup\": \"Favorites\",\r\n      \"segmentationField\": \"Number\",\r\n      \"values\": [\r\n        {\r\n          \"value\": \"13\"\r\n        }\r\n      ]\r\n    }\r\n  ]\r\n}\r\n```\r\n\r\nTo select contacts whose favorite color is green, and additionally either has a favorite number of 13, or otherwise has a favorite movie containing the term `adventures`:\r\n\r\n```\r\n\"filter\": {\r\n  filters: [\r\n    {\r\n      \"compareType\": \"Equals\",\r\n      \"segmentationFieldGroup\": \"Favorites\",\r\n      \"segmentationField\": \"Color\",\r\n      \"values\": [\r\n        {\r\n          \"value\": \"Green\"\r\n        }\r\n      ]\r\n    },\r\n    {\r\n      \"joinType\": \"And\"\r\n      \"filters\": [\r\n        {\r\n          \"compareType\": \"Equals\",\r\n          \"segmentationFieldGroup\": \"Favorites\",\r\n          \"segmentationField\": \"Number\",\r\n          \"values\": [\r\n            {\r\n              \"value\": \"13\"\r\n            }\r\n          ]\r\n        },\r\n        {\r\n          \"compareType\": \"Contains\",\r\n          \"joinType\": \"Or\"\r\n          \"segmentationFieldGroup\": \"Favorites\",\r\n          \"segmentationField\": \"Movie\",\r\n          \"values\": [\r\n            {\r\n              \"value\": \"adventures\"\r\n            }\r\n          ]\r\n        }\r\n      ]\r\n    }\r\n  ]\r\n}\r\n```\r\n\r\nTo select contacts whose favorite color is either black, white, or gold:\r\n\r\n```\r\n\"filter\": {\r\n  filters: [\r\n    {\r\n      \"compareType\": \"InCommaList\",\r\n      \"segmentationFieldGroup\": \"Favorites\",\r\n      \"segmentationField\": \"Color\",\r\n      \"values\": [\r\n        {\r\n          \"value\": \"Black,White,Gold\"\r\n        }\r\n      ]\r\n    }\r\n  ]\r\n}\r\n```\r\n\r\nTo select contacts who do not have a favorite color:\r\n\r\n```\r\n\"filter\": {\r\n  filters: [\r\n    {\r\n      \"compareType\": \"Empty\",\r\n      \"segmentationFieldGroup\": \"Favorites\",\r\n      \"segmentationField\": \"Color\"\r\n    }\r\n  ]\r\n}\r\n```\r\n"
    },
    {
      "name": "MessageActivity",
      "description": "The Message Activity resource allows you to access contact activity for a message."
    },
    {
      "name": "MessageLink",
      "description": "The Message Link resource allows you to access links for a message."
    },
    {
      "name": "MessageLinkClicker",
      "description": "The Message Link Clicker resource allows you to access contacts that clicked a link in a message."
    },
    {
      "name": "MessageStatus",
      "description": "﻿The Message Summary resource allows you to access an aggregated summary of contact activity for a message."
    },
    {
      "name": "MessageSummary",
      "description": "The Message Summary resource allows you to access an aggregated summary of contact activity for a message.\r\n"
    },
    {
      "name": "SavedAudience",
      "description": "The Saved Audience resource allows you to access saved audiences that have been created on a list.\r\n"
    },
    {
      "name": "SavedMessage",
      "description": "The Saved Message resource allows you to access saved messages that have been created on a list.\r\n"
    },
    {
      "name": "SegmentationField",
      "description": "A Profile Field is used to store data about a contact so that it can be filtered in the future.\r\n"
    },
    {
      "name": "SegmentationFieldGroup",
      "description": "A Profile Field Group is used to group the profile fields for a given list.\r\n"
    },
    {
      "name": "SplitTest",
      "description": "The SplitTest resource is used to retrieve information about automated email split tests."
    },
    {
      "name": "TransactionalMessage",
      "description": "A Transactional Message resource provides a way to access transactional messages that have been created on a list."
    },
    {
      "name": "TransactionalMessageActivity",
      "description": "The Transactional Message Activity resource allows you to access contact activity for a transactional message."
    },
    {
      "name": "TransactionalMessageResend",
      "description": "The Transactional Message Resend resource allows you to resend a transactional message."
    }
  ],
  "x-tagGroups": [
    {
      "name": "API Reference",
      "tags": [
        "Campaign",
        "Contact",
        "ContactSegmentationField",
        "Content",
        "ContentFolder",
        "Conversation",
        "ConversationMessage",
        "ConversationMessageActivity",
        "ConversationMessageLink",
        "ConversationMessageLinkClicker",
        "ConversationMessageSummary",
        "ConversationSummary",
        "Event",
        "EventGroup",
        "Folder",
        "IpPool",
        "List",
        "ListImport",
        "ListImportContact",
        "ListImportStatus",
        "ListImportSummary",
        "Message",
        "MessageActivity",
        "MessageLink",
        "MessageLinkClicker",
        "MessageStatus",
        "MessageSummary",
        "SavedAudience",
        "SavedMessage",
        "SegmentationField",
        "SegmentationFieldGroup",
        "SplitTest",
        "TransactionalMessage",
        "TransactionalMessageActivity",
        "TransactionalMessageResend"
      ]
    }
  ]
}