Skip to content

How to Manage Subscribers Using the Icegram Express REST API

Pro

Programmatically add, update, and manage subscriber records using the authenticated Icegram Express REST API endpoints.

The Icegram Express REST API enables developers to programmatically create, query, update, and delete subscribers and list memberships from custom external apps, CRMs, or server scripts.

1. Generate a REST API Key

  1. In your WordPress admin, navigate to Icegram Express > Settings > REST API.
  2. Select an Administrator user account from the dropdown.
  3. Click Generate new key.
  4. Copy and store your secret REST API Key safely.

Generate REST API authentication key screen in settings

2. API Endpoint & Headers

The standard REST API endpoint is:

https://example.com/wp-json/email-subscribers/v1/subscribers

Every request must include the following headers for authentication:

  • Content-Type: application/json
  • username: Your WordPress admin username
  • password: Your generated REST API Key

3. API Operations

A. Add a New Subscriber (POST)

Endpoint: POST /wp-json/email-subscribers/v1/subscribers

Payload:

{
  "email": "alex@example.com",
  "first_name": "Alex",
  "last_name": "Taylor",
  "list_ids": [1, 2],
  "list_status": "subscribed"
}

Example cURL Request:

curl --request POST "https://example.com/wp-json/email-subscribers/v1/subscribers" \
  --header "Content-Type: application/json" \
  --header "username: admin" \
  --header "password: YOUR_API_KEY" \
  --data '{
    "email": "alex@example.com",
    "first_name": "Alex",
    "last_name": "Taylor",
    "list_ids": [1],
    "list_status": "subscribed"
  }'
JSON success response upon creating subscriber via REST API

B. Update an Existing Subscriber (PUT)

Endpoint: PUT /wp-json/email-subscribers/v1/subscribers

Payload:

{
  "contact_id": 42,
  "first_name": "Alexander",
  "last_name": "Taylor",
  "list_ids": [1, 3],
  "list_status": "subscribed"
}

JSON response when updating subscriber contact via REST API


C. Delete a Subscriber (DELETE)

Endpoint: DELETE /wp-json/email-subscribers/v1/subscribers

Payload:

{
  "contact_id": 42
}
JSON response when deleting subscriber via REST API