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.phpDEPRECATION 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.phponly (no v1 REST alias configured)
Request Body Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| Command | String | Yes | API command: client.create |
| SessionID | String | No | Session ID obtained from login |
| APIKey | String | No | API key for authentication |
| ClientName | String | Yes | Full name of the client |
| ClientUsername | String | Yes | Username for client login (must be unique) |
| ClientPassword | String | Yes | Password for client account |
| ClientEmailAddress | String | Yes | Email address (must be unique) |
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"
}'{
"Success": true,
"ErrorCode": 0,
"ErrorText": "",
"ClientID": 123
}{
"Success": false,
"ErrorCode": [1, 5, 6, 7]
}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 systemUpdate a Client
POST/api.phpDEPRECATION 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.phponly (no v1 REST alias configured)
Request Body Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| Command | String | Yes | API command: client.update |
| SessionID | String | No | Session ID obtained from login |
| APIKey | String | No | API key for authentication |
| ClientID | Integer | Yes | ID of the client to update |
| ClientName | String | Yes | Full name of the client |
| ClientUsername | String | Yes | Username for client login |
| ClientEmailAddress | String | Yes | Email address |
| ClientPassword | String | No | New password (only if changing password) |
| ClientAccountStatus | String | No | Account status. Possible values: Enabled, Disabled |
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"
}'{
"Success": true,
"ErrorCode": 0,
"ErrorText": ""
}{
"Success": false,
"ErrorCode": [1, 5, 6, 7, 8, 9, 10]
}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 clientGet All Clients
POST/api.phpDEPRECATION 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.phponly (no v1 REST alias configured)
Request Body Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| Command | String | Yes | API command: clients.get |
| SessionID | String | No | Session ID obtained from login |
| APIKey | String | No | API key for authentication |
| OrderField | String | Yes | Field to order by. Possible values: ClientName, ClientID, ClientUsername, ClientEmailAddress, ClientAccountStatus |
| OrderType | String | Yes | Sort direction. Possible values: ASC, DESC |
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"
}'{
"Success": true,
"ErrorCode": 0,
"ErrorText": "",
"TotalClientCount": 5,
"Clients": [
{
"ClientID": 123,
"ClientName": "John Doe",
"ClientUsername": "johndoe",
"ClientEmailAddress": "john@example.com",
"ClientAccountStatus": "Enabled",
"RelOwnerUserID": 1
}
]
}{
"Success": false,
"ErrorCode": [1, 2]
}0: Success
1: Missing order field
2: Missing order typeDelete Clients
POST/api.phpDEPRECATION 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.phponly (no v1 REST alias configured)
Request Body Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| Command | String | Yes | API command: clients.delete |
| SessionID | String | No | Session ID obtained from login |
| APIKey | String | No | API key for authentication |
| Clients | String | Yes | Comma-separated list of client IDs to delete |
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"
}'{
"Success": true,
"ErrorCode": 0,
"ErrorText": ""
}{
"Success": false,
"ErrorCode": [1]
}0: Success
1: Client IDs are missingClient Login
POST/api.phpDEPRECATION 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.phponly (no v1 REST alias configured)
Request Body Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| Command | String | Yes | API command: client.login |
| Username | String | Yes | Client username |
| Password | String | Yes | Client password |
curl -X POST https://example.com/api.php \
-H "Content-Type: application/json" \
-d '{
"Command": "client.login",
"Username": "johndoe",
"Password": "securepassword"
}'{
"Success": true,
"ErrorCode": 0,
"ErrorText": "",
"SessionID": "abc123sessionid",
"ClientInfo": {
"ClientID": 123,
"ClientName": "John Doe",
"ClientUsername": "johndoe",
"ClientEmailAddress": "john@example.com",
"ClientAccountStatus": "Enabled"
}
}{
"Success": false,
"ErrorCode": [1, 2, 3]
}0: Success
1: Missing username
2: Missing password
3: Invalid username or passwordClient Password Reminder
POST/api.phpDEPRECATION 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.phponly (no v1 REST alias configured)
Request Body Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| Command | String | Yes | API command: client.passwordremind |
| EmailAddress | String | Yes | Client email address |
| CustomResetLink | String | No | Custom password reset URL (Base64-encoded, URL-encoded with %s placeholder for reset token) |
curl -X POST https://example.com/api.php \
-H "Content-Type: application/json" \
-d '{
"Command": "client.passwordremind",
"EmailAddress": "john@example.com"
}'{
"Success": true,
"ErrorCode": 0,
"ErrorText": ""
}{
"Success": false,
"ErrorCode": [1, 2, 3]
}0: Success
1: Missing email address
2: Invalid email address format
3: Email address not foundClient Password Reset
POST/api.phpDEPRECATION 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.phponly (no v1 REST alias configured)
Request Body Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| Command | String | Yes | API command: client.passwordreset |
| ClientID | String | Yes | MD5 hash of the client ID (from reset link) |
curl -X POST https://example.com/api.php \
-H "Content-Type: application/json" \
-d '{
"Command": "client.passwordreset",
"ClientID": "abc123md5hashofclientid"
}'{
"Success": true,
"ErrorCode": 0,
"ErrorText": ""
}{
"Success": false,
"ErrorCode": [1, 2]
}0: Success
1: Missing client ID
2: Client not foundAssign Campaigns to Client
POST/api.phpDEPRECATION 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.phponly (no v1 REST alias configured)
Request Body Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| Command | String | Yes | API command: client.assigncampaigns |
| SessionID | String | No | Session ID obtained from login |
| APIKey | String | No | API key for authentication |
| ClientID | Integer | Yes | Client ID to assign campaigns to |
| CampaignIDs | String | Yes | Comma-separated list of campaign IDs to assign |
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"
}'{
"Success": true,
"ErrorCode": 0,
"ErrorText": ""
}{
"Success": false,
"ErrorCode": [1, 2]
}0: Success
1: Missing client ID
2: Missing campaign IDsAssign Subscriber Lists to Client
POST/api.phpDEPRECATION 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.phponly (no v1 REST alias configured)
Request Body Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| Command | String | Yes | API command: client.assignsubscriberlists |
| SessionID | String | No | Session ID obtained from login |
| APIKey | String | No | API key for authentication |
| ClientID | Integer | Yes | Client ID to assign lists to |
| SubscriberListIDs | String | Yes | Comma-separated list of subscriber list IDs to assign |
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"
}'{
"Success": true,
"ErrorCode": 0,
"ErrorText": ""
}{
"Success": false,
"ErrorCode": [1, 2]
}0: Success
1: Missing client ID
2: Missing subscriber list IDsGet Client's Assigned Lists
POST/api.phpDEPRECATION 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.phponly (no v1 REST alias configured)
Request Body Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| Command | String | Yes | API command: client.lists.get |
| SessionID | String | No | Session ID obtained from client login |
curl -X POST https://example.com/api.php \
-H "Content-Type: application/json" \
-d '{
"Command": "client.lists.get",
"SessionID": "client-session-id"
}'{
"Success": true,
"ErrorCode": 0,
"ErrorText": "",
"TotalListCount": 3,
"Lists": [
{
"ListID": 10,
"Name": "Newsletter Subscribers",
"RelOwnerUserID": 1
}
]
}{
"Success": false,
"ErrorCode": []
}0: SuccessGet a Client's Assigned List
POST/api.phpDEPRECATION 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.phponly (no v1 REST alias configured)
Request Body Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| Command | String | Yes | API command: client.list.get |
| SessionID | String | No | Session ID obtained from client login |
| ListID | Integer | Yes | ID of the list to retrieve |
curl -X POST https://example.com/api.php \
-H "Content-Type: application/json" \
-d '{
"Command": "client.list.get",
"SessionID": "client-session-id",
"ListID": 10
}'{
"Success": true,
"ErrorCode": 0,
"List": {
"ListID": 10,
"Name": "Newsletter Subscribers",
"RelOwnerUserID": 1,
"Statistics": {}
}
}{
"Success": false,
"ErrorCode": [1, 2]
}0: Success
1: Missing list ID
2: List not assigned to client or not foundGet Client's Assigned Campaigns
POST/api.phpDEPRECATION 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.phponly (no v1 REST alias configured)
Request Body Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| Command | String | Yes | API command: client.campaigns.get |
| SessionID | String | No | Session ID obtained from client login |
curl -X POST https://example.com/api.php \
-H "Content-Type: application/json" \
-d '{
"Command": "client.campaigns.get",
"SessionID": "client-session-id"
}'{
"Success": true,
"ErrorCode": 0,
"ErrorText": "",
"TotalCampaigns": 2,
"Campaigns": [
{
"CampaignID": 456,
"CampaignName": "Monthly Newsletter",
"CampaignStatus": "Completed"
}
]
}{
"Success": false,
"ErrorCode": []
}0: SuccessGet a Client's Assigned Campaign
POST/api.phpDEPRECATION 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.phponly (no v1 REST alias configured)
Request Body Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| Command | String | Yes | API command: client.campaign.get |
| SessionID | String | No | Session ID obtained from client login |
| CampaignID | Integer | Yes | ID of the campaign to retrieve |
curl -X POST https://example.com/api.php \
-H "Content-Type: application/json" \
-d '{
"Command": "client.campaign.get",
"SessionID": "client-session-id",
"CampaignID": 456
}'{
"Success": true,
"ErrorCode": 0,
"Campaign": {
"CampaignID": 456,
"CampaignName": "Monthly Newsletter",
"CampaignStatus": "Completed",
"TotalSent": 5000,
"TotalOpened": 2500,
"TotalClicked": 750,
"HardBounceRatio": "2",
"SoftBounceRatio": "1",
"Statistics": {}
}
}{
"Success": false,
"ErrorCode": [1, 2]
}0: Success
1: Missing campaign ID
2: Campaign not assigned to client or not found
Developer Portal