openapi: 3.0.0 info: version: v1 title: Listrak Email REST API description: "# Introduction\r\nWelcome to the Listrak Email REST\ \ API!\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
\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
\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 In Development\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- Microsoft.AspNet.WebApi.Client\r\ \n- Newtonsoft.Json\r\ \n\r\nThe Php code examples require the following package:\r\n- Guzzle 6\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
\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\ \ → 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 paths: /v1/List/{listId}/Campaign: get: operationId: Campaign_GetCampaignCollection summary: Get all Campaigns description: Returns the campaigns associated with the specified list. tags: - Campaign parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/Collection[Campaign]' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Message post: operationId: Campaign_PostCampaignResource summary: Create a Campaign description: Creates a new campaign on the specified list. tags: - Campaign parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 responses: '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '201': description: Created content: application/json: schema: $ref: '#/definitions/ResourceCreated' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Message requestBody: required: true content: application/json: schema: $ref: '#/definitions/Campaign' /v1/List/{listId}/Campaign/{campaignId}: get: operationId: Campaign_GetCampaignResource summary: Get a Campaign description: Returns the specified campaign on the specified list. tags: - Campaign parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 - name: campaignId in: path description: Identifier used to locate the campaign. required: true format: int32 schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/Resource[Campaign]' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Message put: operationId: Campaign_PutCampaignResource summary: Update a Campaign description: Updates an existing campaign. tags: - Campaign parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 - name: campaignId in: path description: Identifier used to locate the campaign. required: true format: int32 schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/ResourceUpdated' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Message requestBody: required: true content: application/json: schema: $ref: '#/definitions/Campaign' delete: operationId: Campaign_DeleteCampaignResource summary: Delete a Campaign description: Deletes the specified campaign. tags: - Campaign parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 - name: campaignId in: path description: Identifier used to locate the campaign. required: true format: int32 schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/ResourceDeleted' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Message /v1/List/{listId}/Contact: get: operationId: Contact_GetContactCollection summary: Get all Contacts description: Returns the collection of contacts associated with the specified list. tags: - Contact parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: 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 schema: 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 schema: 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 schema: type: string - name: cursor in: query description: Value indicating the page of data that's being retrieved. The default value is `Start`. required: false schema: 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 schema: 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 schema: 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 schema: 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 schema: type: boolean responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/CollectionPaged[Contact]' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: [] post: operationId: Contact_PostContactResource summary: Create or update a Contact description: Creates or updates a contact on the specified list. tags: - Contact parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 - name: eventIds in: query description: Comma-separated list of event identifiers that should be raised after the contact is created or updated. required: false schema: 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 schema: type: boolean - name: subscribedByContact in: query description: Whether the subscribe was initiated by the contact. The default value is `false`. required: false schema: 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 schema: 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 schema: 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 schema: type: string responses: '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '201': description: Created content: application/json: schema: $ref: '#/definitions/ResourceCreated' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: [] requestBody: required: true content: application/json: schema: $ref: '#/definitions/Contact' /v1/List/{listId}/Contact/{contactIdentifier}: get: operationId: Contact_GetContactResourceByIdentifier summary: Get a Contact description: Returns a contact by email address or by Listrak email key. tags: - Contact parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: 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 schema: 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 schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/Resource[Contact]' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: [] /v1/List/{listId}/Contact/SegmentationField: post: operationId: ContactSegmentationField_PostContactSegmentationFieldValuesResource 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. tags: - ContactSegmentationField parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 responses: '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '201': description: Created content: application/json: schema: $ref: '#/definitions/ResourceCreated' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: [] requestBody: required: true content: application/json: schema: type: array items: $ref: '#/definitions/ContactSegmentationFieldValues' /v1/Content: get: operationId: Content_GetContentCollection summary: Get all Content description: Returns the collection of content blocks associated with the account. tags: - Content responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/Collection[Content]' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - Message post: operationId: Content_PostCreateContent summary: Create Content description: Creates a new content block in the content library. tags: - Content responses: '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '201': description: Created content: application/json: schema: $ref: '#/definitions/ResourceCreated' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - Message requestBody: required: true content: application/json: schema: $ref: '#/definitions/ContentCreate' /v1/Content/{contentId}: get: operationId: Content_GetContentResource summary: Get a Content description: Returns the specified content block. tags: - Content parameters: - name: contentId in: path description: Identifier used to locate the content. required: true format: int32 schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/Resource[Content]' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - Message put: operationId: Content_PutUpdateContent summary: Update a Content description: Updates an existing content block. Content used in a live dynamic content block cannot be modified. tags: - Content parameters: - name: contentId in: path description: Identifier used to locate the content. required: true format: int32 schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/Resource[Content]' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - Message requestBody: required: true content: application/json: schema: $ref: '#/definitions/ContentUpdate' /v1/ContentFolder: get: operationId: ContentFolder_GetContentFolderCollection summary: Get all Content Folders description: Returns the collection of content library folders associated with the account. tags: - ContentFolder responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/Collection[ContentFolder]' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - Message /v1/List/{listId}/Conversation: get: operationId: Conversation_GetConversationCollection summary: Get all Conversations description: Returns the collection of conversations associated with the specified list. tags: - Conversation parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/Collection[Conversation]' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List /v1/List/{listId}/Conversation/{conversationId}: get: operationId: Conversation_GetConversationResource summary: Get a Conversation description: Returns the specified conversation. tags: - Conversation parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 - name: conversationId in: path description: Identifier used to locate the conversation. required: true format: int32 schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/Resource[Conversation]' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List /v1/List/{listId}/Conversation/{conversationId}/Message: get: operationId: ConversationMessage_GetConversationMessageCollection summary: Get all Conversation Messages description: Returns the collection of messages for the specified conversation. tags: - ConversationMessage parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 - name: conversationId in: path description: Identifier used to locate the conversation. required: true format: int32 schema: 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 schema: 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 schema: 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 schema: type: boolean responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/CollectionPaged[Message]' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Message /v1/List/{listId}/Conversation/{conversationId}/Message/{conversationMessageId}: get: operationId: ConversationMessage_GetConversationMessageResource summary: Get a Conversation Message description: Returns the specified message. tags: - ConversationMessage parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 - name: conversationId in: path description: Identifier used to locate the conversation. required: true format: int32 schema: type: integer format: int32 - name: conversationMessageId in: path description: Identifier used to locate the message. required: true format: int32 schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/Resource[MessageExtended]' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Message /v1/List/{listId}/Conversation/{conversationId}/Message/{conversationMessageId}/Activity: get: operationId: ConversationMessageActivity_GetConversationMessageActivityCollection summary: Get all Conversation Message Activity description: Returns the collection of activity associated with the specified conversation message. tags: - ConversationMessageActivity parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 - name: conversationId in: path description: Identifier used to locate the message. required: true format: int32 schema: type: integer format: int32 - name: conversationMessageId in: path description: Identifier used to locate the message. required: true format: int32 schema: type: integer format: int32 - name: activityType in: query description: The type of activity performed by the contact. required: false schema: type: string - name: cursor in: query description: Value indicating the page of data that's being retrieved. The default value is `Start`. required: false schema: 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 schema: type: string - name: startDate in: query description: Start date that's being used to filter the data members. required: false schema: type: string - name: endDate in: query description: End date that's being used to filter the data members. required: false schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/CollectionPaged[MessageActivity]' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Message - Report /v1/List/{listId}/Conversation/{conversationId}/Message/{conversationMessageId}/Link: get: operationId: ConversationMessageLink_GetConversationMessageLinkCollection summary: Get all Conversation Message Links description: Returns the collection of links for the specified conversation message. tags: - ConversationMessageLink parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 - name: conversationId in: path description: Identifier used to locate the conversation. required: true format: int32 schema: type: integer format: int32 - name: conversationMessageId in: path description: Identifier used to locate the message. required: true format: int32 schema: 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 schema: 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 schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/CollectionPaged[MessageLink]' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Message - Report /v1/List/{listId}/Conversation/{conversationId}/Message/{conversationMessageId}/Link/{conversationMessageLinkId}: get: operationId: ConversationMessageLink_GetConversationMessageLinkResource summary: Get a Conversation Message Link description: Returns the specified conversation message link. tags: - ConversationMessageLink parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 - name: conversationId in: path description: Identifier used to locate the conversation. required: true format: int32 schema: type: integer format: int32 - name: conversationMessageId in: path description: Identifier used to locate the message. required: true format: int32 schema: type: integer format: int32 - name: conversationMessageLinkId in: path description: Identifier used to locate the link. required: true format: int32 schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/Resource[MessageLink]' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Message - Report /v1/List/{listId}/Conversation/{conversationId}/Message/{conversationMessageId}/Link/{conversationMessageLinkId}/Clicker: get: operationId: ConversationMessageLinkClicker_GetMessageLinkClickerCollection summary: Get all Conversation Message Link Clickers description: Returns the collection of contacts that clicked the specified conversation message link. tags: - ConversationMessageLinkClicker parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 - name: conversationId in: path description: Identifier used to locate the conversation. required: true format: int32 schema: type: integer format: int32 - name: conversationMessageId in: path description: Identifier used to locate the message. required: true format: int32 schema: type: integer format: int32 - name: conversationMessageLinkId in: path description: Identifier used to locate the link. required: true format: int32 schema: 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 schema: 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 schema: type: string - name: startDate in: query description: Start date that's being used to filter the data members. required: false schema: type: string - name: endDate in: query description: End date that's being used to filter the data members. required: false schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/CollectionPaged[MessageLinkClicker]' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Message - Report /v1/List/{listId}/Conversation/{conversationId}/Message/{conversationMessageId}/Summary: get: operationId: ConversationMessageSummary_GetMessageSummaryResource summary: Get Conversation Message Summary description: Returns a summary of the specified conversation message. tags: - ConversationMessageSummary parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 - name: conversationId in: path description: Identifier used to locate the conversation. required: true format: int32 schema: type: integer format: int32 - name: conversationMessageId in: path description: Identifier used to locate the message. required: true format: int32 schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/Resource[MessageSummary]' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Message - Report /v1/List/{listId}/Conversation/{conversationId}/Summary: get: operationId: ConversationSummary_GetConversationSummaryResource summary: Get Conversation Summary description: Returns a summary of the specified conversation. tags: - ConversationSummary parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 - name: conversationId in: path description: Identifier used to locate the conversation. required: true format: int32 schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/Resource[ConversationSummary]' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Report /v1/List/{listId}/Event: get: operationId: Event_GetEventCollection summary: Get all Events description: Returns the collection of events associated with the specified list. tags: - Event parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/Collection[Event]' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Event post: operationId: Event_PostEventResource summary: Create an Event description: Creates a new event on the specified list. tags: - Event parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 responses: '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '201': description: Created content: application/json: schema: $ref: '#/definitions/ResourceCreated' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Event requestBody: required: true content: application/json: schema: $ref: '#/definitions/Event' /v1/List/{listId}/Event/{eventId}: get: operationId: Event_GetEventResource summary: Get an Event description: Returns the specified event. tags: - Event parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 - name: eventId in: path description: Identifier used to locate the event. required: true format: int32 schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/Resource[Event]' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Event put: operationId: Event_PutEventResource summary: Update an Event description: Updates an existing event. tags: - Event parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 - name: eventId in: path description: Identifier used to locate the event. required: true format: int32 schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/ResourceUpdated' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Event requestBody: required: true content: application/json: schema: $ref: '#/definitions/Event' /v1/List/{listId}/EventGroup: get: operationId: EventGroup_GetEventGroupCollection summary: Get all EventGroups description: Returns the collection of event groups associated with the specified list. tags: - EventGroup parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/Collection[EventGroup]' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Event post: operationId: EventGroup_PostEventGroupResource summary: Create an EventGroup description: Creates a new event group on the specified list. tags: - EventGroup parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 responses: '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '201': description: Created content: application/json: schema: $ref: '#/definitions/ResourceCreated' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Event requestBody: required: true content: application/json: schema: $ref: '#/definitions/EventGroup' /v1/List/{listId}/EventGroup/{eventGroupId}: get: operationId: EventGroup_GetEventGroupResource summary: Get an EventGroup description: Returns the specified event group. tags: - EventGroup parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 - name: eventGroupId in: path description: Identifier used to locate the event group. required: true format: int32 schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/Resource[EventGroup]' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Event put: operationId: EventGroup_PutEventGroupResource summary: Update an EventGroup description: Updates an existing event group. tags: - EventGroup parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 - name: eventGroupId in: path description: Identifier used to locate the event group. required: true format: int32 schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/ResourceUpdated' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Event requestBody: required: true content: application/json: schema: $ref: '#/definitions/EventGroup' delete: operationId: EventGroup_DeleteEventGroupResource summary: Delete an EventGroup description: Deletes the specified event group. tags: - EventGroup parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 - name: eventGroupId in: path description: Identifier used to locate the event group. required: true format: int32 schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/ResourceDeleted' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Event /v1/Folder: get: operationId: Folder_GetFolderCollection summary: Get all Folders description: Returns your account's collection of folders. tags: - Folder responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/Collection[Folder]' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List post: operationId: Folder_PostFolderResource summary: Create a Folder description: Creates a new folder in your account. tags: - Folder responses: '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '201': description: Created content: application/json: schema: $ref: '#/definitions/ResourceCreated' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List requestBody: required: true content: application/json: schema: $ref: '#/definitions/Folder' /v1/Folder/{folderId}: get: operationId: Folder_GetFolderResource summary: Get a Folder description: Returns the specified folder. tags: - Folder parameters: - name: folderId in: path description: Identifier used to locate the folder. required: true format: int32 schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/Resource[Folder]' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List put: operationId: Folder_PutFolderResource summary: Update a Folder description: Updates the specified folder. tags: - Folder parameters: - name: folderId in: path description: Identifier used to locate the folder. required: true format: int32 schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/ResourceUpdated' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List requestBody: required: true content: application/json: schema: $ref: '#/definitions/Folder' /v1/IpPool: get: operationId: IpPool_GetIpPoolCollection summary: Get all IpPools description: Returns your account's collection of IP pools. tags: - IpPool responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/Collection[IpPool]' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: [] /v1/List: get: operationId: List_GetListCollection summary: Get all Lists description: Returns your account's collection of lists. tags: - List responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/Collection[List]' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List post: operationId: List_PostListResource summary: Create a List description: Creates a new list in your account. tags: - List responses: '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '201': description: Created content: application/json: schema: $ref: '#/definitions/ResourceCreated' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List requestBody: required: true content: application/json: schema: $ref: '#/definitions/List' /v1/List/{listId}: get: operationId: List_GetListResourceById summary: Get a List description: Returns the specified list. tags: - List parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/Resource[List]' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List put: operationId: List_PutListResource summary: Update a List description: Updates the specified list. tags: - List parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/ResourceUpdated' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List requestBody: required: true content: application/json: schema: $ref: '#/definitions/List' delete: operationId: List_DeleteListResource summary: Delete a List description: Deletes the specified list. tags: - List parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/ResourceDeleted' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List /v1/List/{listId}/ListImport: get: operationId: ListImport_GetListImportCollection summary: Get all List Imports description: Retrieves the collection of list imports associated with the specified list. tags: - ListImport parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: 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 schema: 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 schema: type: string - name: startDate in: query description: Start date that's being used to filter the data members. required: false schema: type: string - name: endDate in: query description: End date that's being used to filter the data members. required: false schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/Collection[ListImport]' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Contact post: operationId: ListImport_PostImportFileResource 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. tags: - ListImport parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 responses: '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '201': description: Created content: application/json: schema: $ref: '#/definitions/ResourceCreated' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Contact requestBody: required: true content: application/json: schema: $ref: '#/definitions/ImportFile' /v1/List/{listId}/ListImport/{importFileId}: get: operationId: ListImport_GetListImportResource summary: Get a List Import description: Retrieves the specified list import. tags: - ListImport parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 - name: importFileId in: path description: Identifier used to locate the import file. required: true format: int32 schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/Resource[ListImport]' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Contact /v1/List/{listId}/ListImport/{importFileId}/Contact: get: operationId: ListImportContact_GetListImportContactCollection summary: Get all List Import Contacts description: Returns the collection of contacts associated with the specified list import. tags: - ListImportContact parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 - name: importFileId in: path description: Identifier used to locate the list import. required: true format: int32 schema: 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 schema: 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 schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/CollectionPaged[ListImportContact]' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Contact - Report /v1/List/{listId}/ListImport/{importFileId}/Status: get: operationId: ListImportStatus_GetListImportStatusResource summary: Get a List Import Status description: Returns the status of the list import. tags: - ListImportStatus parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 - name: importFileId in: path description: Identifier used to locate the import file. required: true format: int32 schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/Resource[ListImportStatus]' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Contact - Report /v1/List/{listId}/ListImport/{importFileId}/Summary: get: operationId: ListImportSummary_GetListImportSummaryResource summary: Get a List Import Summary description: Returns a summary of the specified list import. tags: - ListImportSummary parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 - name: importFileId in: path description: Identifier used to locate the import file. required: true format: int32 schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/Resource[ListImportSummary]' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Contact - Report /v1/List/{listId}/Message: get: operationId: Message_GetMessageCollection summary: Get all Messages description: Returns a collection of messages for the specified list. tags: - Message parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: 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 schema: 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 schema: type: string - name: startDate in: query description: The start of the date range used for filtering. required: false schema: type: string - name: endDate in: query description: The end of the date range used for filtering. required: false schema: type: string - name: includeTestMessages in: query description: Whether test messages should be included in the collection. The default value is `false`. required: false schema: type: boolean responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/CollectionPaged[Message]' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Message post: operationId: Message_PostMessageResource summary: Send a Message description: Sends a new message on the specified list. tags: - Message parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 - name: sendDate in: query description: The send date for the message. required: false format: date-time schema: type: string format: date-time - name: sendTestMessage in: query description: Whether a test message should be sent. The default value is `false`. required: false schema: type: boolean - name: sendReviewMessage in: query description: Whether a review message should be sent. The default value is `false`. required: false schema: type: boolean - name: testEmailAddress in: query description: Test email address that will be used to preview the scheduled message. required: false schema: type: string responses: '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '201': description: Created content: application/json: schema: $ref: '#/definitions/ResourceCreated' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Message requestBody: required: true content: application/json: schema: $ref: '#/definitions/MessageExtendedFilter' /v1/List/{listId}/Message/{messageId}: get: operationId: Message_GetMessageResource summary: Get a Message description: Returns the specified message. tags: - Message parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 - name: messageId in: path description: Identifier used to locate the message. required: true format: int32 schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/Resource[MessageExtendedSegmentsApplied]' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Message /v1/List/{listId}/Message/{messageId}/Activity: get: operationId: MessageActivity_GetMessageActivityCollection 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. tags: - MessageActivity parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 - name: messageId in: path description: Identifier used to locate the message. required: true format: int32 schema: type: integer format: int32 - name: activityType in: query description: The type of activity performed by the contact. required: false schema: 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 schema: type: string - name: cursor in: query description: Value indicating the page of data that's being retrieved. The default value is `Start`. required: false schema: 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 schema: type: string - name: startDate in: query description: Start date that's being used to filter the data members. required: false schema: type: string - name: endDate in: query description: End date that's being used to filter the data members. required: false schema: type: string - name: emailAddress in: query description: Email that is being used to filter the message activity. required: false schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/CollectionPaged[MessageActivity]' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Message - Report /v1/List/{listId}/Message/{messageId}/Link: get: operationId: MessageLink_GetMessageLinkCollection summary: Get all Message Links description: Returns the collection of links for the specified message. tags: - MessageLink parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 - name: messageId in: path description: Identifier used to locate the message. required: true format: int32 schema: 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 schema: 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 schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/CollectionPaged[MessageLink]' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Message - Report /v1/List/{listId}/Message/{messageId}/Link/{messageLinkId}: get: operationId: MessageLink_GetMessageLinkResource summary: Get a Message Link description: Returns the specified message link. tags: - MessageLink parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 - name: messageId in: path description: Identifier used to locate the message. required: true format: int32 schema: type: integer format: int32 - name: messageLinkId in: path description: Identifier used to locate the link. required: true format: int32 schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/Resource[MessageLink]' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Message - Report /v1/List/{listId}/Message/{messageId}/Link/{messageLinkId}/Clicker: get: operationId: MessageLinkClicker_GetMessageLinkClickerCollection summary: Get all Message Link Clickers description: Returns the collection of contacts that clicked the specified message link. tags: - MessageLinkClicker parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 - name: messageId in: path description: Identifier used to locate the message. required: true format: int32 schema: type: integer format: int32 - name: messageLinkId in: path description: Identifier used to locate the link. required: true format: int32 schema: 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 schema: 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 schema: type: string - name: startDate in: query description: Start date that's being used to filter the data members. required: false schema: type: string - name: endDate in: query description: End date that's being used to filter the data members. required: false schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/CollectionPaged[MessageLinkClicker]' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Message - Report /v1/List/{listId}/Message/{messageId}/Status: get: operationId: MessageStatus_GetMessageStatusResource summary: Get a Message Status description: Returns the send status of the specified message. tags: - MessageStatus parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 - name: messageId in: path description: Identifier used to locate the message. required: true format: int32 schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/Resource[MessageStatus]' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Message - Report /v1/List/{listId}/Message/{messageId}/Summary: get: operationId: MessageSummary_GetMessageSummaryResource summary: Get Message Summary description: Returns a summary of the specified message. tags: - MessageSummary parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 - name: messageId in: path description: Identifier used to locate the message. required: true format: int32 schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/Resource[MessageSummary]' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Message - Report /v1/List/{listId}/SavedAudience: get: operationId: SavedAudience_GetSavedAudienceResourceCollection summary: Get all Saved Audiences description: Returns a collection of saved audiences for the specified list. tags: - SavedAudience parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/CollectionPaged[SavedAudience]' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List /v1/List/{listId}/SavedMessage: get: operationId: SavedMessage_GetSavedMessageCollection summary: Get all SavedMessages description: Returns the collection of saved messages associated with the specified list. tags: - SavedMessage parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/Collection[SavedMessage]' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Message post: operationId: SavedMessage_PostCreateSavedMessage summary: Create a SavedMessage description: Creates a new saved message with the specified content and metadata. tags: - SavedMessage parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 responses: '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '201': description: Created content: application/json: schema: $ref: '#/definitions/ResourceCreated' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Message requestBody: required: true content: application/json: schema: $ref: '#/definitions/SavedMessageCreate' /v1/List/{listId}/SavedMessage/{savedMessageId}/Message: post: operationId: SavedMessage_PostSavedMessageSend summary: Send a SavedMessage description: Sends a previously-created saved message. tags: - SavedMessage parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 - name: savedMessageId in: path description: Identifier used to locate the saved message. required: true format: int32 schema: type: integer format: int32 - name: sendDate in: query description: The send date for the message. required: false format: date-time schema: type: string format: date-time - name: sendTestMessage in: query description: Whether a test message should be sent. The default is `false`. required: false schema: type: boolean - name: sendReviewMessage in: query description: Whether a review message should be sent. The default is `false`. required: false schema: type: boolean - name: testEmailAddress in: query description: Test email address that will be used to preview the scheduled message. required: false schema: type: string responses: '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '201': description: Created content: application/json: schema: $ref: '#/definitions/ResourceCreated' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Message /v1/List/{listId}/SavedMessage/{savedMessageId}: get: operationId: SavedMessage_GetSavedMessageResource summary: Get a SavedMessage description: Returns the specified saved message. tags: - SavedMessage parameters: - name: listId in: path description: Identifier used to locate the list resource. required: true format: int32 schema: type: integer format: int32 - name: savedMessageId in: path description: Identifier used to locate the saved message. required: true format: int32 schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/Resource[SavedMessageExtended]' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Message put: operationId: SavedMessage_PutUpdateSavedMessage summary: Update a SavedMessage description: Updates the specified saved message with the provided content and metadata. tags: - SavedMessage parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 - name: savedMessageId in: path description: Identifier used to locate the saved message. required: true format: int32 schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/Resource[SavedMessageExtended]' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Message requestBody: required: true content: application/json: schema: $ref: '#/definitions/SavedMessageUpdate' /v1/List/{listId}/SegmentationFieldGroup/{segmentationFieldGroupId}/SegmentationField: get: operationId: SegmentationField_GetSegmentationFieldCollection summary: Get all Profile Fields description: Returns the collection of profile fields that exist for the specified profile field group. tags: - SegmentationField parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 - name: segmentationFieldGroupId in: path description: Identifier used to locate the profile field group. required: true format: int32 schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/Collection[SegmentationField]' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Segmentation post: operationId: SegmentationField_PostSegmentationFieldResource summary: Create a Profile Field description: Creates a new profile field for the specified profile field group. tags: - SegmentationField parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 - name: segmentationFieldGroupId in: path description: Identifier used to locate the profile field group. required: true format: int32 schema: type: integer format: int32 responses: '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '201': description: Created content: application/json: schema: $ref: '#/definitions/ResourceCreated' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Segmentation requestBody: required: true content: application/json: schema: $ref: '#/definitions/SegmentationField' /v1/List/{listId}/SegmentationFieldGroup/{segmentationFieldGroupId}/SegmentationField/{segmentationFieldId}: get: operationId: SegmentationField_GetSegmentationFieldResource summary: Get a Profile Field description: Returns the specified profile field. tags: - SegmentationField parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 - name: segmentationFieldGroupId in: path description: Identifier used to locate the profile field group. required: true format: int32 schema: type: integer format: int32 - name: segmentationFieldId in: path description: Identifier used to locate the profile field. required: true format: int32 schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/Resource[SegmentationField]' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Segmentation put: operationId: SegmentationField_PutSegmentationFieldResource summary: Update a Profile Field description: Updates the specified profile field. tags: - SegmentationField parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 - name: segmentationFieldGroupId in: path description: Identifier used to locate the profile field group. required: true format: int32 schema: type: integer format: int32 - name: segmentationFieldId in: path description: Identifier used to locate the profile field. required: true format: int32 schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/ResourceUpdated' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Segmentation requestBody: required: true content: application/json: schema: $ref: '#/definitions/SegmentationField' delete: operationId: SegmentationField_DeleteSegmentationFieldResource summary: Delete a Profile Field description: Deletes the specified profile field. tags: - SegmentationField parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 - name: segmentationFieldGroupId in: path description: Identifier used to locate the profile field group. required: true format: int32 schema: type: integer format: int32 - name: segmentationFieldId in: path description: Identifier used to locate the profile field. required: true format: int32 schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/ResourceDeleted' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Segmentation /v1/List/{listId}/SegmentationFieldGroup: get: operationId: SegmentationFieldGroup_GetSegmentationFieldGroupCollection summary: Get all Profile Field Groups description: Returns a collection of profile field groups for the specified list. tags: - SegmentationFieldGroup parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/Collection[SegmentationFieldGroup]' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Segmentation post: operationId: SegmentationFieldGroup_PostSegmentationFieldGroupResource summary: Create a Profile Field Group description: Creates a new profile field group for the specified list. tags: - SegmentationFieldGroup parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 responses: '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '201': description: Created content: application/json: schema: $ref: '#/definitions/ResourceCreated' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Segmentation requestBody: required: true content: application/json: schema: $ref: '#/definitions/SegmentationFieldGroup' /v1/List/{listId}/SegmentationFieldGroup/{segmentationFieldGroupId}: get: operationId: SegmentationFieldGroup_GetSegmentationFieldGroupResource summary: Get a Profile Field Group description: Returns the specified profile field group. tags: - SegmentationFieldGroup parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 - name: segmentationFieldGroupId in: path description: Identifier used to locate the profile field group. required: true format: int32 schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/Resource[SegmentationFieldGroup]' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Segmentation put: operationId: SegmentationFieldGroup_PutSegmentationFieldGroupResource summary: Update a Profile Field Group description: Updates the specified profile field group. tags: - SegmentationFieldGroup parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 - name: segmentationFieldGroupId in: path description: Identifier used to locate the profile field group. required: true format: int32 schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/ResourceUpdated' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Segmentation requestBody: required: true content: application/json: schema: $ref: '#/definitions/SegmentationFieldGroup' delete: operationId: SegmentationFieldGroup_DeleteSegmentationFieldGroupResource summary: Delete a Profile Field Group description: Deletes the specified profile field group. tags: - SegmentationFieldGroup parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 - name: segmentationFieldGroupId in: path description: Identifier used to locate the profile field group. required: true format: int32 schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/ResourceDeleted' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Segmentation /v1/List/{listId}/SplitTest: get: operationId: SplitTest_GetSplitTestCollection summary: Get all Split Tests description: Returns a collection of split tests for the specified list. tags: - SplitTest parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: 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 schema: 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 schema: type: string - name: startDate in: query description: The start of the date range used for filtering. required: false schema: type: string - name: endDate in: query description: The end of the date range used for filtering. required: false schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/CollectionPaged[SplitTest]' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Message /v1/List/{listId}/SplitTest/{splitTestId}: get: operationId: SplitTest_GetSplitTestResource summary: Get a Split Test description: Returns the specified split test. tags: - SplitTest parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 - name: splitTestId in: path description: Identifier used to locate the split test. required: true format: int32 schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/Resource[SplitTest]' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Message /v1/List/{listId}/SplitTest/{splitTestId}/Message: get: operationId: SplitTest_GetSplitTestMessageResources summary: Get all Split Test Messages description: Returns a collection of messages for the specified split test. tags: - SplitTest parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 - name: splitTestId in: path description: Identifier used to locate the split test. required: true format: int32 schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/Collection[SplitTestMessage]' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Message /v1/List/{listId}/TransactionalMessage/{transactionalMessageId}/Message: post: operationId: TransactionalMessage_PostTransactionalMessageSend summary: Send a TransactionalMessage description: Sends a message based on a previously-created transactional message. tags: - TransactionalMessage parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 - name: transactionalMessageId in: path description: Identifier used to locate the transactional message. required: true format: int32 schema: type: integer format: int32 responses: '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '201': description: Created content: application/json: schema: $ref: '#/definitions/ResourceCreated' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Message requestBody: required: true content: application/json: schema: $ref: '#/definitions/TransactionalMessageContact' /v1/List/{listId}/TransactionalMessage: get: operationId: TransactionalMessage_GetTransactionalMessageCollection summary: Get all TransactionalMessages description: Returns the collection of transactional messages associated with the specified list. tags: - TransactionalMessage parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/Collection[TransactionalMessage]' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Message /v1/List/{listId}/TransactionalMessage/{transactionalMessageId}: get: operationId: TransactionalMessage_GetTransactionalMessageResource summary: Get a TransactionalMessage description: Returns the specified transactional message. tags: - TransactionalMessage parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 - name: transactionalMessageId in: path description: Identifier used to locate the transactional message. required: true format: int32 schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/Resource[TransactionalMessage]' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Message /v1/List/{listId}/TransactionalMessage/{transactionalMessageId}/Activity: get: operationId: TransactionalMessageActivity_GetTransactionalMessageActivityCollection 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. tags: - TransactionalMessageActivity parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 - name: transactionalMessageId in: path description: Identifier used to locate the transactional message. required: true format: int32 schema: type: integer format: int32 - name: activityType in: query description: The type of activity performed by the contact. required: false schema: 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 schema: type: string - name: cursor in: query description: Value indicating the page of data that's being retrieved. The default value is `Start`. required: false schema: 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 schema: type: string - name: startDate in: query description: Start date that's being used to filter the data members. required: false schema: type: string - name: endDate in: query description: End date that's being used to filter the data members. required: false schema: type: string - name: emailAddress in: query description: Email that is being used to filter the transactional message activity. required: false schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/definitions/CollectionPaged[TransactionalMessageActivity]' '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Message - Report /v1/List/{listId}/TransactionalMessage/{transactionalMessageId}/Resend/{resendKey}: post: operationId: TransactionalMessageResend_PostTransactionalMessageResend 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. tags: - TransactionalMessageResend parameters: - name: listId in: path description: Identifier used to locate the list. required: true format: int32 schema: type: integer format: int32 - name: transactionalMessageId in: path description: Identifier used to locate the transactional message. required: true format: int32 schema: type: integer format: int32 - name: resendKey in: path description: Key of the transactional message to resend. required: true format: uuid schema: 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 schema: type: string responses: '400': description: BadRequest content: application/json: schema: $ref: '#/definitions/Error' '201': description: Created content: application/json: schema: $ref: '#/definitions/ResourceCreated' '401': description: Unauthorized content: application/json: schema: $ref: '#/definitions/Error' '404': description: NotFound content: application/json: schema: $ref: '#/definitions/Error' security: - OAuth 2: - List - Message components: schemas: 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. 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 securitySchemes: OAuth2: type: oauth2 flows: clientCredentials: 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 servers: - url: https://api.listrak.com/email