Takazudo Modular Docs

Type to search...

to open search from anywhere

POST /api/admin-notify-list

POST /api/admin-notify-list

List active (non-archived) notify subscriptions with optional filtering.

This endpoint excludes archived subscriptions. To view archived records, use Admin Notify Archives List.

Request

Method

POST

Headers

HeaderValue
AuthorizationBearer {ADMIN_API_TOKEN}
Content-Typeapplication/json

Body

{
  "status": "pending",
  "productSlug": "oxi-one-mk2"
}

Parameters

FieldTypeRequiredDescription
statusstringNoFilter by status: pending, notified, unsubscribed
productSlugstringNoFilter by product slug

All parameters are optional. Omit to return all subscriptions.

Response

Success (200)

{
  "success": true,
  "subscriptions": [
    {
      "id": "ntf_1706889600000-a1b2c3",
      "email": "user@example.com",
      "productSlug": "oxi-one-mk2",
      "status": "pending",
      "createdAt": "2024-02-02T10:00:00.000Z",
      "notifiedAt": null
    },
    {
      "id": "ntf_1706889500000-d4e5f6",
      "email": "another@example.com",
      "productSlug": "oxi-one-mk2",
      "status": "notified",
      "createdAt": "2024-02-01T09:00:00.000Z",
      "notifiedAt": "2024-02-03T15:30:00.000Z"
    }
  ]
}

Subscription Object

FieldTypeDescription
idstringUnique subscription ID
emailstringSubscriber’s email address
productSlugstringProduct identifier
statusstringStatus: pending, notified, unsubscribed
createdAtstringISO 8601 timestamp of subscription creation
notifiedAtstring | nullISO 8601 timestamp when notified, or null

Unauthorized (401)

{
  "success": false,
  "error": "Unauthorized"
}

Example

cURL

# Get all subscriptions
curl -X POST https://takazudomodular.com/api/admin-notify-list \
  -H "Authorization: Bearer YOUR_ADMIN_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'

# Filter by status
curl -X POST https://takazudomodular.com/api/admin-notify-list \
  -H "Authorization: Bearer YOUR_ADMIN_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"status": "pending"}'

# Filter by product
curl -X POST https://takazudomodular.com/api/admin-notify-list \
  -H "Authorization: Bearer YOUR_ADMIN_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"productSlug": "oxi-one-mk2"}'

JavaScript (fetch)

const response = await fetch('/api/admin-notify-list', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${ADMIN_API_TOKEN}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    status: 'pending',
    productSlug: 'oxi-one-mk2',
  }),
});

const data = await response.json();

if (data.success) {
  console.log(`Found ${data.subscriptions.length} subscriptions`);
  data.subscriptions.forEach((sub) => {
    console.log(`${sub.email} - ${sub.status}`);
  });
}

Implementation Details

Source File

netlify/functions/admin-notify-list.ts

Behavior

  1. Validates Bearer token authentication
  2. Parses optional filter parameters from request body
  3. Fetches all notify subscriptions from Netlify Blobs
  4. Applies filters (status, productSlug) if provided
  5. Sorts by createdAt descending (newest first)
  6. Returns filtered subscription list

Sorting

Results are sorted by createdAt in descending order (newest first).