Groups

Recipient groups hold the authorized people you can target in a simulation. Import via CSV or add members programmatically.

Endpoints

List groups

GET/api/v1/groups

Returns all recipient groups in your organization.

Headers

NameTypeDescription
X-API-KeyrequiredstringOrg API key

Responses

[{ "id": "…", "name": "Finance", "member_count": 42 }]

Example

terminal
curl -s -X GET \
  -H "X-API-Key: YOUR_KEY" \
  https://app-fish.pandaone.dev/api/v1/groups

Create group

POST/api/v1/groups

Creates a recipient group from inline members or CSV upload.

Headers

NameTypeDescription
X-API-KeyrequiredstringOrg API key

Request body

NameTypeDescription
namerequiredstringGroup name
csvstringOptional CSV with Gophish headers
membersarrayOptional member objects

Responses

{ "id": "…", "name": "Finance" }

Example

terminal
curl -s -X POST \
  -H "X-API-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  https://app-fish.pandaone.dev/api/v1/groups
  -d ''{"name":"Finance","csv":"First Name,Last Name,Email,Position\nAda,Lovelace,ada@example.com,CFO"}''

Add members

POST/api/v1/groups/{id}/members/bulk

Adds recipients to an existing group via CSV.

Headers

NameTypeDescription
X-API-KeyrequiredstringOrg API key

Path parameters

NameTypeDescription
idrequiredstringGroup ID

Request body

NameTypeDescription
csvrequiredstringGophish-format CSV

Responses

{ "added": 12 }

Example

terminal
curl -s -X POST \
  -H "X-API-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  https://app-fish.pandaone.dev/api/v1/groups/GROUP_ID/members/bulk
  -d ''{"csv":"First Name,Last Name,Email,Position\nBob,Smith,bob@example.com,Analyst"}''