Skip to content

List API Documentation

List management endpoints for creating, updating, and managing email subscriber lists and their integration settings.

Create a List

POST /api.php

API Usage Notes

  • Authentication required: User API Key
  • Required permissions: List.Create
  • Legacy endpoint access via /api.php only (no v1 REST alias configured)

Request Body Parameters:

ParameterTypeRequiredDescription
CommandStringYesAPI command: list.create
SessionIDStringNoSession ID obtained from login
APIKeyStringNoAPI key for authentication
SubscriberListNameStringYesName of the subscriber list to create
bash
curl -X POST https://example.com/api.php \
  -H "Content-Type: application/json" \
  -d '{
    "Command": "list.create",
    "SessionID": "your-session-id",
    "SubscriberListName": "My New List"
  }'
json
{
  "Success": true,
  "ErrorCode": 0,
  "ErrorText": "",
  "ListID": 123
}
json
{
  "Success": false,
  "ErrorCode": [1, 3]
}
txt
0: Success
1: Missing subscriber list name
3: User has exceeded maximum number of subscriber lists allowed by their user group

Get a List

POST /api.php

API Usage Notes

  • Authentication required: User API Key
  • Required permissions: List.Get
  • Legacy endpoint access via /api.php only (no v1 REST alias configured)

Request Body Parameters:

ParameterTypeRequiredDescription
CommandStringYesAPI command: list.get
SessionIDStringNoSession ID obtained from login
APIKeyStringNoAPI key for authentication
ListIDIntegerYesID of the list to retrieve
GetStatsBooleanNoWhether to include statistics (default: false)
bash
curl -X POST https://example.com/api.php \
  -H "Content-Type: application/json" \
  -d '{
    "Command": "list.get",
    "SessionID": "your-session-id",
    "ListID": 123,
    "GetStats": true
  }'
json
{
  "Success": true,
  "ErrorCode": 0,
  "List": {
    "ListID": 123,
    "Name": "My List",
    "RelOwnerUserID": 1,
    "EventListTrackerID": "abc123",
    "EventUserTrackerID": "xyz789",
    "EventTrackerVariables": {},
    "EventTrackerJS": "...",
    "EventTrackerProperties": [],
    "LastEventTrackedAt": "2024-01-15 10:30:00"
  }
}
json
{
  "Success": false,
  "ErrorCode": [1]
}
txt
0: Success
1: Missing list ID

Update a List

POST /api.php

API Usage Notes

  • Authentication required: User API Key
  • Required permissions: List.Update
  • Legacy endpoint access via /api.php only (no v1 REST alias configured)

Request Body Parameters:

ParameterTypeRequiredDescription
CommandStringYesAPI command: list.update
SessionIDStringNoSession ID obtained from login
APIKeyStringNoAPI key for authentication
SubscriberListIDIntegerYesID of the list to update
NameStringNoNew name for the list
SenderNameStringNoDefault sender name for campaigns
SenderEmailAddressStringNoDefault sender email address
SenderCompanyStringNoSender company name
SenderAddressStringNoSender physical address
OptInModeStringNoOpt-in mode: "Single" or "Double"
OptInConfirmationEmailIDIntegerNoEmail ID for double opt-in confirmation
OptOutAddToSuppressionListStringNoAdd to list suppression list on unsubscribe: "Yes" or "No"
OptOutAddToGlobalSuppressionListStringNoAdd to global suppression list on unsubscribe: "Yes" or "No"
HideInSubscriberAreaStringNoHide list in subscriber area: "true" or "false"
SendServiceIntegrationFailedNotificationStringNoSend integration failure notifications: "true" or "false"
SendActivityNotificationStringNoSend activity notifications: "true" or "false"
SubscriptionConfirmationPendingPageURLStringNoURL for confirmation pending page
SubscriptionConfirmedPageURLStringNoURL for subscription confirmed page
SubscriptionErrorPageURLStringNoURL for subscription error page
UnsubscriptionConfirmedPageURLStringNoURL for unsubscription confirmed page
UnsubscriptionErrorPageURLStringNoURL for unsubscription error page
ReqByEmailSearchToAddressStringNoEmail address for subscription by email requests
ReqByEmailSubscriptionCommandStringNoCommand word for email subscription requests
ReqByEmailUnsubscriptionCommandStringNoCommand word for email unsubscription requests
SyncStatusStringNoData sync status: "Enabled" or "Disabled"
SyncPeriodStringNoSynchronization period
SyncSendReportEmailStringNoSend sync report emails: "Yes" or "No"
SyncMySQLHostStringNoMySQL host for data synchronization
SyncMySQLPortIntegerNoMySQL port for data synchronization
SyncMySQLUsernameStringNoMySQL username for sync
SyncMySQLPasswordStringNoMySQL password for sync
SyncMySQLDBNameStringNoMySQL database name for sync
SyncMySQLQueryStringNoSQL query for data synchronization
SyncFieldMappingStringNoField mapping configuration for sync
OptOutScopeStringNoUnsubscription scope: "This list" or "All lists"
OptOutSubscribeToIntegerNoList ID to subscribe to on unsubscription
OptOutUnsubscribeFromIntegerNoList ID to unsubscribe from on unsubscription
OptInSubscribeToIntegerNoList ID to subscribe to on subscription
OptInUnsubscribeFromIntegerNoList ID to unsubscribe from on subscription
OptionsObjectNoAdditional list options (JSON object)
bash
curl -X POST https://example.com/api.php \
  -H "Content-Type: application/json" \
  -d '{
    "Command": "list.update",
    "SessionID": "your-session-id",
    "SubscriberListID": 123,
    "Name": "Updated List Name",
    "OptInMode": "Double",
    "SenderName": "My Company",
    "SenderEmailAddress": "sender@example.com"
  }'
json
{
  "Success": true,
  "ErrorCode": 0,
  "ErrorText": "",
  "List": {
    "ListID": 123,
    "Name": "Updated List Name",
    "OptInMode": "Double",
    "SenderName": "My Company",
    "SenderEmailAddress": "sender@example.com"
  }
}
json
{
  "Success": false,
  "ErrorCode": [1, 2, 3, 4]
}
txt
0: Success
1: Missing subscriber list ID
2: Invalid subscriber list ID
3: Invalid opt-in mode
4: Invalid opt-out scope
5: Invalid send notification setting
6: Invalid hide in subscriber area setting
8: Missing sync configuration parameters
9: Invalid email address format for ReqByEmailSearchToAddress
10: Invalid suppression list option
11: Nothing to update

Get All Lists

POST /api.php

API Usage Notes

  • Authentication required: User API Key
  • Required permissions: Lists.Get
  • Legacy endpoint access via /api.php only (no v1 REST alias configured)

Request Body Parameters:

ParameterTypeRequiredDescription
CommandStringYesAPI command: lists.get
SessionIDStringNoSession ID obtained from login
APIKeyStringNoAPI key for authentication
RecordsPerRequestIntegerNoNumber of records per page (default: 0 = all)
RecordsFromIntegerNoStarting record offset (default: 0)
OrderFieldStringNoField to order by (default: "ListID")
OrderTypeStringNoSort direction: "ASC" or "DESC" (default: "ASC")
bash
curl -X POST https://example.com/api.php \
  -H "Content-Type: application/json" \
  -d '{
    "Command": "lists.get",
    "SessionID": "your-session-id",
    "RecordsPerRequest": 20,
    "RecordsFrom": 0,
    "OrderField": "Name",
    "OrderType": "ASC"
  }'
json
{
  "Success": true,
  "ErrorCode": 0,
  "ErrorText": "",
  "TotalListCount": 5,
  "Lists": [
    {
      "ListID": 123,
      "Name": "My List",
      "RelOwnerUserID": 1,
      "EncryptedSaltedListID": "abc123...",
      "EventListTrackerID": "xyz789",
      "EventUserTrackerID": "def456",
      "EventTrackerVariables": {},
      "EventTrackerJS": "..."
    }
  ]
}
json
{
  "Success": false,
  "ErrorCode": []
}
txt
0: Success

Delete Lists

POST /api.php

API Usage Notes

  • Authentication required: User API Key
  • Required permissions: List.Delete
  • Legacy endpoint access via /api.php only (no v1 REST alias configured)

Request Body Parameters:

ParameterTypeRequiredDescription
CommandStringYesAPI command: lists.delete
SessionIDStringNoSession ID obtained from login
APIKeyStringNoAPI key for authentication
ListsStringYesComma-separated list of list IDs to delete
bash
curl -X POST https://example.com/api.php \
  -H "Content-Type: application/json" \
  -d '{
    "Command": "lists.delete",
    "SessionID": "your-session-id",
    "Lists": "123,456,789"
  }'
json
{
  "Success": true,
  "ErrorCode": 0,
  "ErrorText": ""
}
json
{
  "Success": false,
  "ErrorCode": [1]
}
txt
0: Success
1: List IDs are missing

Get List Assets

POST /api.php

API Usage Notes

  • Authentication required: User API Key
  • Required permissions: List.Get
  • Legacy endpoint access via /api.php only (no v1 REST alias configured)

Retrieves comprehensive list information including all related assets: segments, custom fields, subscriber tags, and autoresponders.

Request Body Parameters:

ParameterTypeRequiredDescription
CommandStringYesAPI command: list.assets
SessionIDStringNoSession ID obtained from login
APIKeyStringNoAPI key for authentication
ListIDIntegerYesID of the list to retrieve assets for
bash
curl -X POST https://example.com/api.php \
  -H "Content-Type: application/json" \
  -d '{
    "Command": "list.assets",
    "SessionID": "your-session-id",
    "ListID": 123
  }'
json
{
  "Success": true,
  "ErrorCode": 0,
  "List": {
    "ListID": 123,
    "Name": "My List"
  },
  "Segments": {
    "Success": true,
    "Segments": []
  },
  "CustomFields": {
    "Success": true,
    "CustomFields": []
  },
  "SubscriberTags": {
    "Success": true,
    "Tags": []
  },
  "AutoResponders": {
    "Success": true,
    "AutoResponders": []
  }
}
json
{
  "Success": false,
  "ErrorCode": [1]
}
txt
0: Success
1: Missing list ID

Add Integration URL

POST /api.php

DEPRECATION WARNING

This endpoint is deprecated and will be removed in a future Octeth release. Please migrate to the webhook-based integration system available through the Email Gateway API endpoints.

API Usage Notes

  • Authentication required: User API Key
  • Required permissions: List.Update
  • Legacy endpoint access via /api.php only (no v1 REST alias configured)

Request Body Parameters:

ParameterTypeRequiredDescription
CommandStringYesAPI command: listintegration.addurl
SessionIDStringNoSession ID obtained from login
APIKeyStringNoAPI key for authentication
SubscriberListIDIntegerYesID of the list for integration
URLStringYesIntegration webhook URL
EventStringYesEvent type to trigger webhook
bash
curl -X POST https://example.com/api.php \
  -H "Content-Type: application/json" \
  -d '{
    "Command": "listintegration.addurl",
    "SessionID": "your-session-id",
    "SubscriberListID": 123,
    "URL": "https://example.com/webhook",
    "Event": "Subscribe"
  }'
json
{
  "Success": true,
  "ErrorCode": 0,
  "ErrorText": "",
  "WebServiceIntegrationID": 456,
  "EventType": "Subscribe",
  "ServiceURL": "https://example.com/webhook"
}
json
{
  "Success": false,
  "ErrorCode": [1, 2, 3, 4]
}
txt
0: Success
1: Missing subscriber list ID
2: Missing URL
3: Missing event type
4: Invalid subscriber list ID

Delete Integration URLs

POST /api.php

DEPRECATION WARNING

This endpoint is deprecated and will be removed in a future Octeth release. Please migrate to the webhook-based integration system available through the Email Gateway API endpoints.

API Usage Notes

  • Authentication required: User API Key
  • Required permissions: List.Update
  • Legacy endpoint access via /api.php only (no v1 REST alias configured)

Request Body Parameters:

ParameterTypeRequiredDescription
CommandStringYesAPI command: listintegration.deleteurls
SessionIDStringNoSession ID obtained from login
APIKeyStringNoAPI key for authentication
URLsStringYesComma-separated list of web service integration IDs
bash
curl -X POST https://example.com/api.php \
  -H "Content-Type: application/json" \
  -d '{
    "Command": "listintegration.deleteurls",
    "SessionID": "your-session-id",
    "URLs": "456,789,012"
  }'
json
{
  "Success": true,
  "ErrorCode": 0,
  "ErrorText": ""
}
json
{
  "Success": false,
  "ErrorCode": [1]
}
txt
0: Success
1: Web service integration URL IDs are missing

Get Integration URLs

POST /api.php

DEPRECATION WARNING

This endpoint is deprecated and will be removed in a future Octeth release. Please migrate to the webhook-based integration system available through the Email Gateway API endpoints.

API Usage Notes

  • Authentication required: User API Key
  • Required permissions: List.Get
  • Legacy endpoint access via /api.php only (no v1 REST alias configured)

Request Body Parameters:

ParameterTypeRequiredDescription
CommandStringYesAPI command: listintegration.geturls
SessionIDStringNoSession ID obtained from login
APIKeyStringNoAPI key for authentication
SubscriberListIDIntegerYesID of the list to get integration URLs for
EventStringNoFilter by specific event type
bash
curl -X POST https://example.com/api.php \
  -H "Content-Type: application/json" \
  -d '{
    "Command": "listintegration.geturls",
    "SessionID": "your-session-id",
    "SubscriberListID": 123,
    "Event": "Subscribe"
  }'
json
{
  "Success": true,
  "ErrorCode": 0,
  "ErrorText": "",
  "URLs": [
    {
      "WebServiceIntegrationID": 456,
      "RelListID": 123,
      "EventType": "Subscribe",
      "ServiceURL": "https://example.com/webhook"
    }
  ]
}
json
{
  "Success": false,
  "ErrorCode": [1]
}
txt
0: Success
1: Missing subscriber list ID

Test Integration URL

POST /api.php

DEPRECATION WARNING

This endpoint is deprecated and will be removed in a future Octeth release. Please migrate to the webhook-based integration system available through the Email Gateway API endpoints.

API Usage Notes

  • Authentication required: User API Key
  • Required permissions: List.Update
  • Legacy endpoint access via /api.php only (no v1 REST alias configured)

Request Body Parameters:

ParameterTypeRequiredDescription
CommandStringYesAPI command: listintegration.testurl
SessionIDStringNoSession ID obtained from login
APIKeyStringNoAPI key for authentication
URLStringYesIntegration webhook URL to test
bash
curl -X POST https://example.com/api.php \
  -H "Content-Type: application/json" \
  -d '{
    "Command": "listintegration.testurl",
    "SessionID": "your-session-id",
    "URL": "https://example.com/webhook"
  }'
json
{
  "Success": true,
  "ErrorCode": 0,
  "ErrorText": ""
}
json
{
  "Success": false,
  "ErrorCode": [1]
}
txt
0: Success
1: URL is missing

Generate Subscription Form HTML

POST /api.php

DEPRECATION WARNING

This endpoint is deprecated and will be removed in a future Octeth release. Modern integration methods should use direct API calls via the subscriber.create endpoint or use embedded JavaScript-based subscription forms.

API Usage Notes

  • Authentication required: User API Key
  • Required permissions: List.Get
  • Legacy endpoint access via /api.php only (no v1 REST alias configured)

Request Body Parameters:

ParameterTypeRequiredDescription
CommandStringYesAPI command: listintegration.generatesubscriptionformhtmlcode
SessionIDStringNoSession ID obtained from login
APIKeyStringNoAPI key for authentication
SubscriberListIDIntegerYesID of the list for the subscription form
CustomFieldsStringNoComma-separated custom field IDs to include in form
EmailAddressStringStringNoLabel text for email address field
SubscribeButtonStringStringNoText for subscribe button
HTMLSpecialCharsStringNoApply htmlspecialchars encoding (default: "true")
bash
curl -X POST https://example.com/api.php \
  -H "Content-Type: application/json" \
  -d '{
    "Command": "listintegration.generatesubscriptionformhtmlcode",
    "SessionID": "your-session-id",
    "SubscriberListID": 123,
    "CustomFields": "1,2,3",
    "EmailAddressString": "Your Email",
    "SubscribeButtonString": "Join Now"
  }'
json
{
  "Success": true,
  "ErrorCode": 0,
  "ErrorText": "",
  "HTMLCode": [
    "<form action="https://example.com/subscribe.php" method="post">",
    "<input type="text" name="FormValue_Fields[EmailAddress]">",
    "..."
  ]
}
json
{
  "Success": false,
  "ErrorCode": [1]
}
txt
0: Success
1: Missing subscriber list ID

Generate Unsubscription Form HTML

POST /api.php

DEPRECATION WARNING

This endpoint is deprecated and will be removed in a future Octeth release. Modern integration methods should use direct API calls via the subscriber.unsubscribe endpoint or use embedded JavaScript-based unsubscription forms.

API Usage Notes

  • Authentication required: User API Key
  • Required permissions: List.Get
  • Legacy endpoint access via /api.php only (no v1 REST alias configured)

Request Body Parameters:

ParameterTypeRequiredDescription
CommandStringYesAPI command: listintegration.generateunsubscriptionformhtmlcode
SessionIDStringNoSession ID obtained from login
APIKeyStringNoAPI key for authentication
SubscriberListIDIntegerYesID of the list for the unsubscription form
UnsubscribeButtonStringStringNoText for unsubscribe button
bash
curl -X POST https://example.com/api.php \
  -H "Content-Type: application/json" \
  -d '{
    "Command": "listintegration.generateunsubscriptionformhtmlcode",
    "SessionID": "your-session-id",
    "SubscriberListID": 123,
    "UnsubscribeButtonString": "Opt Out"
  }'
json
{
  "Success": true,
  "ErrorCode": 0,
  "ErrorText": "",
  "HTMLCode": [
    "<form action="https://example.com/unsubscribe.php" method="post">",
    "<input type="text" name="FormValue_EmailAddress">",
    "..."
  ]
}
json
{
  "Success": false,
  "ErrorCode": [1]
}
txt
0: Success
1: Missing subscriber list ID

Any questions? Contact us.