Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/listrak-list-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no email required.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Listrak List API
version: v1
x-logo:
url: /Email/Resources/Images/Logo.png
description: 'Operations tagged List across 2 of this provider''s published API definitions: listrak-email-openapi.json, listrak-email-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.listrak.com/email
tags:
- name: List
description: 'Lists represent groupings of contacts, messages, and more.
Listrak''s Email API is list-centric, just like Listrak''s application. Most resources available through this API are associated with a specific list.'
paths:
/v1/List:
get:
tags:
- List
summary: Get all Lists
description: Returns your account's collection of lists.
operationId: List_GetListCollection
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Collection_List'
example:
status: 200
data:
- listId: 0
listName: null
folderId: 0
ipPoolId: 0
bounceDomainAlias: null
bounceHandling: null
bounceUnsubscribeCount: 0
createDate: '0001-01-01T00:00:00'
enableBrowserLink: false
enableDoubleOptIn: false
enableDynamicContent: false
enableGoogleAnalytics: false
enableInternationalization: false
enableListHygiene: false
enableListRemovalHeader: false
enableListRemovalLink: false
enableListrakAnalytics: false
enableSpamScorePersonalization: false
enableToNamePersonalization: false
enableUniversalEmailKeySetting: false
fromEmail: null
fromName: null
googleTrackingDomains: null
linkDomainAlias: null
mediaDomainAlias: null
'400':
description: BadRequest
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
status: 400
error: ERROR_INVALID_PARAMETER
message: An invalid value was supplied for {Parameter}.
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
status: 401
error: ERROR_UNAUTHORIZED
message: Authorization was denied for this request.
security:
- OAuth 2:
- List
x-code-samples:
- lang: C#
source: 'var client = new HttpClient();
client.BaseAddress = new Uri("https://api.listrak.com/email/");
client.DefaultRequestHeaders.Add("Authorization", "Bearer " + token);
var response = await client.GetAsync("v1/List");
'
- lang: PHP
source: "$client = new \\GuzzleHttp\\Client([\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\n\n$res = $client->request('GET', 'v1/List', [\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\n]);\n"
post:
tags:
- List
summary: Create a List
description: Creates a new list in your account.
operationId: List_PostListResource
responses:
'400':
description: BadRequest
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
status: 400
error: ERROR_INVALID_PARAMETER
message: An invalid value was supplied for {Parameter}.
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceCreated'
example:
status: 201
resourceId: '{ResourceId}'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
status: 401
error: ERROR_UNAUTHORIZED
message: Authorization was denied for this request.
security:
- OAuth 2:
- List
x-code-samples:
- lang: C#
source: "var client = new HttpClient();\n\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\n\nvar response = await client.PostAsJsonAsync(\"v1/List\", new\n{\n ListName = null,\n FolderId = 0,\n IpPoolId = 0,\n BounceDomainAlias = null,\n BounceHandling = null,\n BounceUnsubscribeCount = 0,\n CreateDate = 0001-01-01T00=00=00 ,\n EnableBrowserLink = false,\n EnableDoubleOptIn = false,\n EnableDynamicContent = false,\n EnableGoogleAnalytics = false,\n EnableInternationalization = false,\n EnableListHygiene = false,\n EnableListRemovalHeader = false,\n EnableListRemovalLink = false,\n EnableListrakAnalytics = false,\n EnableSpamScorePersonalization = false,\n EnableToNamePersonalization = false,\n EnableUniversalEmailKeySetting = false,\n FromEmail = null,\n FromName = null,\n GoogleTrackingDomains = null,\n LinkDomainAlias = null,\n MediaDomainAlias = null\n});\n"
- lang: PHP
source: "$client = new \\GuzzleHttp\\Client([\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\n\n$res = $client->request('POST', 'v1/List', [\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken],\n\t'json' => $jsonBody\n]);\n"
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/List'
description: Representation of the list to create.
required: true
servers:
- url: https://api.listrak.com/email
/v1/List/{listId}:
get:
tags:
- List
summary: Get a List
description: Returns the specified list.
operationId: List_GetListResourceById
parameters:
- name: listId
in: path
description: Identifier used to locate the list.
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Resource_List'
example:
status: 200
data:
listId: 0
listName: null
folderId: 0
ipPoolId: 0
bounceDomainAlias: null
bounceHandling: null
bounceUnsubscribeCount: 0
createDate: '0001-01-01T00:00:00'
enableBrowserLink: false
enableDoubleOptIn: false
enableDynamicContent: false
enableGoogleAnalytics: false
enableInternationalization: false
enableListHygiene: false
enableListRemovalHeader: false
enableListRemovalLink: false
enableListrakAnalytics: false
enableSpamScorePersonalization: false
enableToNamePersonalization: false
enableUniversalEmailKeySetting: false
fromEmail: null
fromName: null
googleTrackingDomains: null
linkDomainAlias: null
mediaDomainAlias: null
'400':
description: BadRequest
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
status: 400
error: ERROR_INVALID_PARAMETER
message: An invalid value was supplied for {Parameter}.
'404':
description: NotFound
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
status: 404
error: ERROR_UNABLE_TO_LOCATE_RESOURCE
message: Unable to locate a resource associated with the listId supplied.
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
status: 401
error: ERROR_UNAUTHORIZED
message: Authorization was denied for this request.
security:
- OAuth 2:
- List
x-code-samples:
- lang: C#
source: 'var client = new HttpClient();
client.BaseAddress = new Uri("https://api.listrak.com/email/");
client.DefaultRequestHeaders.Add("Authorization", "Bearer " + token);
var response = await client.GetAsync("v1/List/{listId}");
'
- lang: PHP
source: "$client = new \\GuzzleHttp\\Client([\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\n\n$res = $client->request('GET', 'v1/List/{listId}', [\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\n]);\n"
put:
tags:
- List
summary: Update a List
description: Updates the specified list.
operationId: List_PutListResource
parameters:
- name: listId
in: path
description: Identifier used to locate the list.
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceUpdated'
example:
status: 200
resourceId: '{ResourceId}'
'400':
description: BadRequest
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
status: 400
error: ERROR_INVALID_PARAMETER
message: An invalid value was supplied for {Parameter}.
'404':
description: NotFound
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
status: 404
error: ERROR_UNABLE_TO_LOCATE_RESOURCE
message: Unable to locate a resource associated with the listId supplied.
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
status: 401
error: ERROR_UNAUTHORIZED
message: Authorization was denied for this request.
security:
- OAuth 2:
- List
x-code-samples:
- lang: C#
source: "var client = new HttpClient();\n\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\n\nvar response = await client.PutAsJsonAsync(\"v1/List/{listId}\", new\n{\n ListName = null,\n FolderId = 0,\n IpPoolId = 0,\n BounceDomainAlias = null,\n BounceHandling = null,\n BounceUnsubscribeCount = 0,\n CreateDate = 0001-01-01T00=00=00 ,\n EnableBrowserLink = false,\n EnableDoubleOptIn = false,\n EnableDynamicContent = false,\n EnableGoogleAnalytics = false,\n EnableInternationalization = false,\n EnableListHygiene = false,\n EnableListRemovalHeader = false,\n EnableListRemovalLink = false,\n EnableListrakAnalytics = false,\n EnableSpamScorePersonalization = false,\n EnableToNamePersonalization = false,\n EnableUniversalEmailKeySetting = false,\n FromEmail = null,\n FromName = null,\n GoogleTrackingDomains = null,\n LinkDomainAlias = null,\n MediaDomainAlias = null\n});\n"
- lang: PHP
source: "$client = new \\GuzzleHttp\\Client([\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\n\n$res = $client->request('PUT', 'v1/List/{listId}', [\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken],\n\t'json' => $jsonBody\n]);\n"
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/List'
description: Representation of the updated list.
required: true
delete:
tags:
- List
summary: Delete a List
description: Deletes the specified list.
operationId: List_DeleteListResource
parameters:
- name: listId
in: path
description: Identifier used to locate the list.
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceDeleted'
example:
status: 200
'400':
description: BadRequest
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
status: 400
error: ERROR_INVALID_PARAMETER
message: An invalid value was supplied for {Parameter}.
'404':
description: NotFound
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
status: 404
error: ERROR_UNABLE_TO_LOCATE_RESOURCE
message: Unable to locate a resource associated with the listId supplied.
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
status: 401
error: ERROR_UNAUTHORIZED
message: Authorization was denied for this request.
security:
- OAuth 2:
- List
x-code-samples:
- lang: C#
source: 'var client = new HttpClient();
client.BaseAddress = new Uri("https://api.listrak.com/email/");
client.DefaultRequestHeaders.Add("Authorization", "Bearer " + token);
var response = await client.DeleteAsync("v1/List/{listId}");
'
- lang: PHP
source: "$client = new \\GuzzleHttp\\Client([\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\n\n$res = $client->request('DELETE', 'v1/List/{listId}', [\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\n]);\n"
servers:
- url: https://api.listrak.com/email
components:
schemas:
ResourceCreated:
type: object
properties:
status:
format: int32
description: HTTP status code.
type: integer
resourceId:
description: An identifier used to locate a resource.
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
Resource_List:
type: object
properties:
status:
format: int32
description: HTTP status code.
type: integer
data:
$ref: '#/components/schemas/List'
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
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: '#/components/schemas/List'
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
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
x-refined-from:
- listrak-email-openapi.json
- listrak-email-openapi.yml
x-amazon-apigateway-security-policy: TLS_1_0
x-tagGroups:
- name: API Reference
tags:
- Events
- EventConfigurations