SenderWiz API
HomepagePricingContact UsLoginSignup
  • Introduction
  • API URL and Key
  • Customer
    • Contact List
      • Get All Lists
      • Get One List
      • Create a List
      • Update a List
      • Copy a List
      • Delete a List
    • Fields
      • Get All List Fields
      • Get One List Field
      • Create a List Field
      • Update a List Field
      • Delete a List Field
      • Get All List Field Types
    • Segments
      • Get All List Segments
      • Get One List Segment
      • Get All Subscribers
      • Create a List Segment
      • Update a List Segment
      • Delete a List Segment
      • Get All List Segment Condition Operators
    • Subscribers
      • Get All Subscribers
      • Get One Subscriber
      • Search Subscriber by Email
      • Search by Email in All Lists
      • Search by Custom Fields in a List
      • Search Subscribers by Status
      • Get Blacklisted Subscribers
      • Get Confirmed Subscribers
      • Get Unconfirmed Subscribers
      • Get Unsubscribed Subscribers
      • Create a Subscriber
      • Create Subscribers in Bulk
      • Update a Subscriber
      • Update a Subscriber by Email
      • Create or Update a Subscriber
      • Unsubscribe a Subscriber
      • Unsubscribe a Subscriber by Email
      • Unsubscribe Subscriber from All Lists
      • Delete One Subscriber
      • Delete Subscriber by Email
    • Campaigns
      • Get All Campaigns
      • Get One Campaign
      • Create a Campaign
      • Update a Campaign
      • Copy a Campaign
      • Pause/Unpause a Campaig
      • Mark a Campaign as SENT
      • Delete a Campaign
      • Get Stats of a Campaign
    • Reports
      • Track Subscriber Click for Campaign
      • Track Subscriber Open
      • Track Subscriber Unsubscribe
    • Bounces
      • Get All Bounces
      • Create a Campaign Bounce
    • Countries
      • Get All Countries
      • Get All Zones of a Country
    • Templates
      • Get All Templates
      • Get One Template
      • Search Templates
      • Create a Template
      • Update a Template
      • Delete a Template
    • Subaccounts
      • Get All Subaccounts
      • Create a Subaccount
      • Update a Subaccount
      • Delete a Subaccount
      • Get Subaccount Permissions
      • Update Subaccount Permissions
    • Transactional Emails
      • Get All Transactional Emails
      • Get One Transactional Email
      • Create a Transactional Email
      • Delete a Transactional Email
  • Admin
    • Customer
      • Get All Customers
      • Get One Customer
      • Create a Customer
      • Update a Customer
      • Delete a Customer
      • Get All Customer Groups
      • Get All Timezones
    • Customer Login via Token
    • Customer Task via Admin API
Powered by GitBook
On this page
  • 🔁 Perform Customer Tasks via Admin API Key
  • 📥 Example: Get Contact Lists as Admin
  • 📝 Example: Create a List as Admin
  • 🛠 Notes
  1. Admin

Customer Task via Admin API

Allow Admins to perform customer-level tasks securely using their Admin API key and a customer ID header.

🔁 Perform Customer Tasks via Admin API Key

Allow admins to perform any customer-level operation by reusing existing customer endpoints. This is done securely using X-ADMIN-API-KEY and X-CUSTOMER-ID headers.


🔹 How It Works

Admin can call any customer API endpoint like API-URL/lists, API-URL/contacts, etc., by sending:

  • X-ADMIN-API-KEY in the header (for admin authentication)

  • X-CUSTOMER-ID in the header (to impersonate customer context)

The system detects these headers, validates them, and routes the request through existing customer workflows.


📥 Example: Get Contact Lists as Admin

🔹 HTTP Request

GET API-URL/lists

🔐 Authorization Header

Header
Type
Required
Description

X-ADMIN-API-KEY

string

Yes

Valid admin API key

X-CUSTOMER-ID

string

Yes

Customer UID to impersonate

💻 PHP Example

$response = Http::withHeaders([
  'X-ADMIN-API-KEY' => 'admin-abc-123',
  'X-CUSTOMER-ID' => 'ab382plq98zr7'
])->get('API-URL/lists');

print_r($response->json());

📦 Sample JSON Response

{
  "status": "success",
  "lists": [
    {
      "uid": "xj35478ymfe15",
      "name": "Newsletter Subscribers"
    },
    {
      "uid": "lm451q7h7j3e2",
      "name": "Event Attendees"
    }
  ]
}

📝 Example: Create a List as Admin

🔹 HTTP Request

POST API-URL/lists

🔐 Authorization Header

Header
Type
Required
Description

X-ADMIN-API-KEY

string

Yes

Valid admin API key

X-CUSTOMER-ID

string

Yes

Customer UID to impersonate

🔸 POST Parameters

Field
Type
Required
Description

name

string

Yes

Name of the list

description

string

No

Optional list note

💻 PHP Example

$response = Http::withHeaders([
  'X-ADMIN-API-KEY' => 'admin-abc-123',
  'X-CUSTOMER-ID' => 'ab382plq98zr7'
])->post('API-URL/lists', [
  'name' => 'New Customers List',
  'description' => 'Imported from CRM'
]);

print_r($response->json());

📦 Sample JSON Response

{
  "status": "success",
  "message": "List created successfully",
  "list": {
    "uid": "ls35478ymfe15",
    "name": "New Customers List"
  }
}

🛠 Notes

  • Works for all HTTP verbs: GET, POST, PUT, DELETE

  • Admin access is controlled strictly via headers

  • Always log admin impersonation actions


PreviousCustomer Login via Token

Last updated 1 month ago