Listrak Email REST API
Manage contacts, opt-in status, and contact profiles; execute email campaigns including marketing and transactional messages; and retrieve performance metrics for email programs.
Manage contacts, opt-in status, and contact profiles; execute email campaigns including marketing and transactional messages; and retrieve performance metrics for email programs.
openapi: 3.0.0
info:
version: v1
title: Listrak Email REST API
description: "# Introduction\r\nWelcome to the Listrak Email <a href='https://en.wikipedia.org/wiki/Representational_state_transfer'>REST\
\ API</a>!\r\n\r\nOur API allows developers to integrate with Listrak's application.\
\ It enables the seamless automation of a broad set of functionality, ranging\
\ from basic tasks to complex processes.\r\n\r\nWe aim to provide comprehensive\
\ documentation coverage of our API's capabilities. Each resource and method is\
\ described in detail with implementation notes, descriptions of parameters, headers,\
\ return values, and code samples to aid in development.\r\n\n# Versioning\r\n\
\r\nThe API version is denoted in the URI. This API's base URI is:\r\n\r\n`https://api.listrak.com/email/v1`\r\
\n\r\n<br />\r\n\r\nThe API version will be incremented if breaking changes are\
\ introduced. Breaking changes may include:\r\n\r\n- Addition of required headers,\
\ parameters, or model fields to a current route\r\n- Alterations that would result\
\ in currently valid requests failing, or performing unexpectedly\r\n\r\n<br />\r\
\n\r\nChanges that are not considered breaking may include:\r\n\r\n- Addition\
\ of new model fields\r\n- Addition of new routes\r\n- Addition of new response\
\ headers\r\n- Any alteration to a route that is marked as <span class=\"inDev\"\
>In Development</span>\r\n# Usage\r\n\r\n## External Libraries\r\n\r\nThe C# code\
\ examples featured on this site require the following packages:\r\n\r\n- <a href=\"\
https://www.nuget.org/packages/Microsoft.AspNet.WebApi.Client/\">Microsoft.AspNet.WebApi.Client</a>\r\
\n- <a href=\"https://www.nuget.org/packages/Newtonsoft.Json/\">Newtonsoft.Json</a>\r\
\n\r\nThe Php code examples require the following package:\r\n- <a href=\"http://docs.guzzlephp.org/en/stable/#\"\
>Guzzle 6</a>\n# Feedback\r\n\r\nWe are actively seeking feedback in the following\
\ areas:\r\n- Code samples\r\n- Response examples\r\n- Resource and field descriptions\r\
\n\r\n<br />\r\n\r\nPlease provide your feedback to us at [email protected].\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}/
# --- truncated at 32 KB (204 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/listrak/refs/heads/main/openapi/listrak-email-openapi.yml