Skip to content

Client API Documentation

Client account management endpoints for creating and managing client sub-accounts with restricted access to specific lists and campaigns.

Create a Client

POST /api.php

DEPRECATION WARNING

This endpoint is deprecated and will be removed in a future Octeth release. The client feature is being discontinued with no replacement or alternative API endpoint.

API Usage Notes

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

Request Body Parameters:

ParameterTypeRequiredDescription
CommandStringYesAPI command: client.create
SessionIDStringNoSession ID obtained from login
APIKeyStringNoAPI key for authentication
ClientNameStringYesFull name of the client
ClientUsernameStringYesUsername for client login (must be unique)
ClientPasswordStringYesPassword for client account
ClientEmailAddressStringYesEmail address (must be unique)
bash
curl -X POST https://example.com/api.php \
  -H "Content-Type: application/json" \
  -d '{
    "Command": "client.create",
    "SessionID": "your-session-id",
    "ClientName": "John Doe",
    "ClientUsername": "johndoe",
    "ClientPassword": "securepassword",
    "ClientEmailAddress": "john@example.com"
  }'
json
{
  "Success": true,
  "ErrorCode": 0,
  "ErrorText": "",
  "ClientID": 123
}
json
{
  "Success": false,
  "ErrorCode": [1, 5, 6, 7]
}
txt
0: Success
1: Missing client name
2: Missing client username
3: Missing client password
4: Missing client email address
5: Invalid email address format
6: Username already exists in the system
7: Email address already exists in the system

Update a Client

POST /api.php

DEPRECATION WARNING

This endpoint is deprecated and will be removed in a future Octeth release. The client feature is being discontinued with no replacement or alternative API endpoint.

API Usage Notes

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

Request Body Parameters:

ParameterTypeRequiredDescription
CommandStringYesAPI command: client.update
SessionIDStringNoSession ID obtained from login
APIKeyStringNoAPI key for authentication
ClientIDIntegerYesID of the client to update
ClientNameStringYesFull name of the client
ClientUsernameStringYesUsername for client login
ClientEmailAddressStringYesEmail address
ClientPasswordStringNoNew password (only if changing password)
ClientAccountStatusStringNoAccount status. Possible values: Enabled, Disabled
bash
curl -X POST https://example.com/api.php \
  -H "Content-Type: application/json" \
  -d '{
    "Command": "client.update",
    "SessionID": "your-session-id",
    "ClientID": 123,
    "ClientName": "John Doe Updated",
    "ClientUsername": "johndoe",
    "ClientEmailAddress": "john.doe@example.com",
    "ClientAccountStatus": "Enabled"
  }'
json
{
  "Success": true,
  "ErrorCode": 0,
  "ErrorText": ""
}
json
{
  "Success": false,
  "ErrorCode": [1, 5, 6, 7, 8, 9, 10]
}
txt
0: Success
1: Missing client name
2: Missing client username
4: Missing client email address
5: Invalid account status (must be "Enabled" or "Disabled")
6: Missing client ID
7: Invalid email address format
8: Client not found or access denied
9: Username already exists for another client
10: Email address already exists for another client

Get All Clients

POST /api.php

DEPRECATION WARNING

This endpoint is deprecated and will be removed in a future Octeth release. The client feature is being discontinued with no replacement or alternative API endpoint.

API Usage Notes

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

Request Body Parameters:

ParameterTypeRequiredDescription
CommandStringYesAPI command: clients.get
SessionIDStringNoSession ID obtained from login
APIKeyStringNoAPI key for authentication
OrderFieldStringYesField to order by. Possible values: ClientName, ClientID, ClientUsername, ClientEmailAddress, ClientAccountStatus
OrderTypeStringYesSort direction. Possible values: ASC, DESC
bash
curl -X POST https://example.com/api.php \
  -H "Content-Type: application/json" \
  -d '{
    "Command": "clients.get",
    "SessionID": "your-session-id",
    "OrderField": "ClientName",
    "OrderType": "ASC"
  }'
json
{
  "Success": true,
  "ErrorCode": 0,
  "ErrorText": "",
  "TotalClientCount": 5,
  "Clients": [
    {
      "ClientID": 123,
      "ClientName": "John Doe",
      "ClientUsername": "johndoe",
      "ClientEmailAddress": "john@example.com",
      "ClientAccountStatus": "Enabled",
      "RelOwnerUserID": 1
    }
  ]
}
json
{
  "Success": false,
  "ErrorCode": [1, 2]
}
txt
0: Success
1: Missing order field
2: Missing order type

Delete Clients

POST /api.php

DEPRECATION WARNING

This endpoint is deprecated and will be removed in a future Octeth release. The client feature is being discontinued with no replacement or alternative API endpoint.

API Usage Notes

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

Request Body Parameters:

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

Client Login

POST /api.php

DEPRECATION WARNING

This endpoint is deprecated and will be removed in a future Octeth release. The client feature is being discontinued with no replacement or alternative API endpoint.

API Usage Notes

  • No authentication required
  • Legacy endpoint access via /api.php only (no v1 REST alias configured)

Request Body Parameters:

ParameterTypeRequiredDescription
CommandStringYesAPI command: client.login
UsernameStringYesClient username
PasswordStringYesClient password
bash
curl -X POST https://example.com/api.php \
  -H "Content-Type: application/json" \
  -d '{
    "Command": "client.login",
    "Username": "johndoe",
    "Password": "securepassword"
  }'
json
{
  "Success": true,
  "ErrorCode": 0,
  "ErrorText": "",
  "SessionID": "abc123sessionid",
  "ClientInfo": {
    "ClientID": 123,
    "ClientName": "John Doe",
    "ClientUsername": "johndoe",
    "ClientEmailAddress": "john@example.com",
    "ClientAccountStatus": "Enabled"
  }
}
json
{
  "Success": false,
  "ErrorCode": [1, 2, 3]
}
txt
0: Success
1: Missing username
2: Missing password
3: Invalid username or password

Client Password Reminder

POST /api.php

DEPRECATION WARNING

This endpoint is deprecated and will be removed in a future Octeth release. The client feature is being discontinued with no replacement or alternative API endpoint.

API Usage Notes

  • No authentication required
  • Legacy endpoint access via /api.php only (no v1 REST alias configured)

Request Body Parameters:

ParameterTypeRequiredDescription
CommandStringYesAPI command: client.passwordremind
EmailAddressStringYesClient email address
CustomResetLinkStringNoCustom password reset URL (Base64-encoded, URL-encoded with %s placeholder for reset token)
bash
curl -X POST https://example.com/api.php \
  -H "Content-Type: application/json" \
  -d '{
    "Command": "client.passwordremind",
    "EmailAddress": "john@example.com"
  }'
json
{
  "Success": true,
  "ErrorCode": 0,
  "ErrorText": ""
}
json
{
  "Success": false,
  "ErrorCode": [1, 2, 3]
}
txt
0: Success
1: Missing email address
2: Invalid email address format
3: Email address not found

Client Password Reset

POST /api.php

DEPRECATION WARNING

This endpoint is deprecated and will be removed in a future Octeth release. The client feature is being discontinued with no replacement or alternative API endpoint.

API Usage Notes

  • No authentication required
  • Legacy endpoint access via /api.php only (no v1 REST alias configured)

Request Body Parameters:

ParameterTypeRequiredDescription
CommandStringYesAPI command: client.passwordreset
ClientIDStringYesMD5 hash of the client ID (from reset link)
bash
curl -X POST https://example.com/api.php \
  -H "Content-Type: application/json" \
  -d '{
    "Command": "client.passwordreset",
    "ClientID": "abc123md5hashofclientid"
  }'
json
{
  "Success": true,
  "ErrorCode": 0,
  "ErrorText": ""
}
json
{
  "Success": false,
  "ErrorCode": [1, 2]
}
txt
0: Success
1: Missing client ID
2: Client not found

Assign Campaigns to Client

POST /api.php

DEPRECATION WARNING

This endpoint is deprecated and will be removed in a future Octeth release. The client feature is being discontinued with no replacement or alternative API endpoint.

API Usage Notes

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

Request Body Parameters:

ParameterTypeRequiredDescription
CommandStringYesAPI command: client.assigncampaigns
SessionIDStringNoSession ID obtained from login
APIKeyStringNoAPI key for authentication
ClientIDIntegerYesClient ID to assign campaigns to
CampaignIDsStringYesComma-separated list of campaign IDs to assign
bash
curl -X POST https://example.com/api.php \
  -H "Content-Type: application/json" \
  -d '{
    "Command": "client.assigncampaigns",
    "SessionID": "your-session-id",
    "ClientID": 123,
    "CampaignIDs": "456,789,012"
  }'
json
{
  "Success": true,
  "ErrorCode": 0,
  "ErrorText": ""
}
json
{
  "Success": false,
  "ErrorCode": [1, 2]
}
txt
0: Success
1: Missing client ID
2: Missing campaign IDs

Assign Subscriber Lists to Client

POST /api.php

DEPRECATION WARNING

This endpoint is deprecated and will be removed in a future Octeth release. The client feature is being discontinued with no replacement or alternative API endpoint.

API Usage Notes

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

Request Body Parameters:

ParameterTypeRequiredDescription
CommandStringYesAPI command: client.assignsubscriberlists
SessionIDStringNoSession ID obtained from login
APIKeyStringNoAPI key for authentication
ClientIDIntegerYesClient ID to assign lists to
SubscriberListIDsStringYesComma-separated list of subscriber list IDs to assign
bash
curl -X POST https://example.com/api.php \
  -H "Content-Type: application/json" \
  -d '{
    "Command": "client.assignsubscriberlists",
    "SessionID": "your-session-id",
    "ClientID": 123,
    "SubscriberListIDs": "10,20,30"
  }'
json
{
  "Success": true,
  "ErrorCode": 0,
  "ErrorText": ""
}
json
{
  "Success": false,
  "ErrorCode": [1, 2]
}
txt
0: Success
1: Missing client ID
2: Missing subscriber list IDs

Get Client's Assigned Lists

POST /api.php

DEPRECATION WARNING

This endpoint is deprecated and will be removed in a future Octeth release. The client feature is being discontinued with no replacement or alternative API endpoint.

API Usage Notes

  • Authentication required: Client API Key
  • Legacy endpoint access via /api.php only (no v1 REST alias configured)

Request Body Parameters:

ParameterTypeRequiredDescription
CommandStringYesAPI command: client.lists.get
SessionIDStringNoSession ID obtained from client login
bash
curl -X POST https://example.com/api.php \
  -H "Content-Type: application/json" \
  -d '{
    "Command": "client.lists.get",
    "SessionID": "client-session-id"
  }'
json
{
  "Success": true,
  "ErrorCode": 0,
  "ErrorText": "",
  "TotalListCount": 3,
  "Lists": [
    {
      "ListID": 10,
      "Name": "Newsletter Subscribers",
      "RelOwnerUserID": 1
    }
  ]
}
json
{
  "Success": false,
  "ErrorCode": []
}
txt
0: Success

Get a Client's Assigned List

POST /api.php

DEPRECATION WARNING

This endpoint is deprecated and will be removed in a future Octeth release. The client feature is being discontinued with no replacement or alternative API endpoint.

API Usage Notes

  • Authentication required: Client API Key
  • Legacy endpoint access via /api.php only (no v1 REST alias configured)

Request Body Parameters:

ParameterTypeRequiredDescription
CommandStringYesAPI command: client.list.get
SessionIDStringNoSession ID obtained from client login
ListIDIntegerYesID of the list to retrieve
bash
curl -X POST https://example.com/api.php \
  -H "Content-Type: application/json" \
  -d '{
    "Command": "client.list.get",
    "SessionID": "client-session-id",
    "ListID": 10
  }'
json
{
  "Success": true,
  "ErrorCode": 0,
  "List": {
    "ListID": 10,
    "Name": "Newsletter Subscribers",
    "RelOwnerUserID": 1,
    "Statistics": {}
  }
}
json
{
  "Success": false,
  "ErrorCode": [1, 2]
}
txt
0: Success
1: Missing list ID
2: List not assigned to client or not found

Get Client's Assigned Campaigns

POST /api.php

DEPRECATION WARNING

This endpoint is deprecated and will be removed in a future Octeth release. The client feature is being discontinued with no replacement or alternative API endpoint.

API Usage Notes

  • Authentication required: Client API Key
  • Legacy endpoint access via /api.php only (no v1 REST alias configured)

Request Body Parameters:

ParameterTypeRequiredDescription
CommandStringYesAPI command: client.campaigns.get
SessionIDStringNoSession ID obtained from client login
bash
curl -X POST https://example.com/api.php \
  -H "Content-Type: application/json" \
  -d '{
    "Command": "client.campaigns.get",
    "SessionID": "client-session-id"
  }'
json
{
  "Success": true,
  "ErrorCode": 0,
  "ErrorText": "",
  "TotalCampaigns": 2,
  "Campaigns": [
    {
      "CampaignID": 456,
      "CampaignName": "Monthly Newsletter",
      "CampaignStatus": "Completed"
    }
  ]
}
json
{
  "Success": false,
  "ErrorCode": []
}
txt
0: Success

Get a Client's Assigned Campaign

POST /api.php

DEPRECATION WARNING

This endpoint is deprecated and will be removed in a future Octeth release. The client feature is being discontinued with no replacement or alternative API endpoint.

API Usage Notes

  • Authentication required: Client API Key
  • Legacy endpoint access via /api.php only (no v1 REST alias configured)

Request Body Parameters:

ParameterTypeRequiredDescription
CommandStringYesAPI command: client.campaign.get
SessionIDStringNoSession ID obtained from client login
CampaignIDIntegerYesID of the campaign to retrieve
bash
curl -X POST https://example.com/api.php \
  -H "Content-Type: application/json" \
  -d '{
    "Command": "client.campaign.get",
    "SessionID": "client-session-id",
    "CampaignID": 456
  }'
json
{
  "Success": true,
  "ErrorCode": 0,
  "Campaign": {
    "CampaignID": 456,
    "CampaignName": "Monthly Newsletter",
    "CampaignStatus": "Completed",
    "TotalSent": 5000,
    "TotalOpened": 2500,
    "TotalClicked": 750,
    "HardBounceRatio": "2",
    "SoftBounceRatio": "1",
    "Statistics": {}
  }
}
json
{
  "Success": false,
  "ErrorCode": [1, 2]
}
txt
0: Success
1: Missing campaign ID
2: Campaign not assigned to client or not found

Any questions? Contact us.