Skip to content

Groups

Manage contact groups to organize your audience for campaigns and filtering.


List groups

GET /api/v1/groups

Query parameters

Parameter Type Default Description
page integer 1 Page number
per_page integer 50 Results per page (max: 100)

Example

curl "https://admin.notifybulk.com/api/v1/groups" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
import requests

r = requests.get(
    'https://admin.notifybulk.com/api/v1/groups',
    headers={'Authorization': 'Bearer YOUR_API_TOKEN'}
)
print(r.json())

Response

{
  "success": true,
  "data": [
    {
      "id": 3,
      "name": "VIP Customers",
      "contact_count": 124,
      "created_at": "2025-01-10 09:00:00"
    },
    {
      "id": 7,
      "name": "Newsletter",
      "contact_count": 891,
      "created_at": "2024-11-22 14:30:00"
    }
  ],
  "pagination": {
    "total": 8,
    "page": 1,
    "per_page": 50,
    "pages": 1
  }
}

Create a group

POST /api/v1/groups/create

Request body

Field Type Required Description
name string Yes Group name (max 128 characters, must be unique within your store)

Example

curl -X POST https://admin.notifybulk.com/api/v1/groups/create \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name": "Black Friday 2025"}'
await fetch('https://admin.notifybulk.com/api/v1/groups/create', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_TOKEN',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ name: 'Black Friday 2025' }),
});

Response

{
  "success": true,
  "group": {
    "id": 12,
    "name": "Black Friday 2025",
    "created_at": "2025-06-01 18:00:00"
  }
}

HTTP status: 201 Created

Error responses

HTTP Error Cause
400 "name" is required Empty name
400 "name" must be 128 characters or less Name too long
409 A group with this name already exists Duplicate name