Tag Subscribers
Index
Retrieve a list of subscribers who have been assigned the given tag.
Usage
Endpoint
GET /api/v1/tags/{tagId}/subscribers
Expected Response Code
200
Response Fields
- data:
array<object>
- id:
int
- first_name:
string
- last_name:
string
- email:
string
- created_at:
datetime
- updated_at:
datetime
- id:
Sample Request
GET /api/v1/tags/1/subscribers HTTP/1.1
Host: zippybox.local
Authorization: Bearer 9w2fN7d4F3Banyv7gihYOWJEH6MvtYyZ
Accept: application/json
Sample Response
{
"data": [
{
"id": 1,
"first_name": "Test",
"last_name": "Subscriber",
"email": "testsubscriber@example.com",
"created_at": "2020-03-23 13:44:09",
"updated_at": "2020-03-23 13:44:09"
}
]
}
Store
Assign the given tag to a list of subscribers. Returns a list of subscribers that have been assigned the given tag.
This endpoint is idempotent, meaning that subscribers who have already been assigned the tag will not be continuously tagged on repeated requests to this endpoint. If the intention is to supply a full list of subscribers that should be tagged, the Update endpoint should be used instead.
Endpoint
POST /api/v1/tags/{tagId}/subscribers
Expected Response Code
200
Request Fields
- subscribers:
array<int>
Response Fields
- data:
array<object>
- id:
int
- first_name:
string
- last_name:
string
- email:
string
- created_at:
datetime
- updated_at:
datetime
- id:
Sample Request
POST /api/v1/tags/1/subscribers HTTP/1.1
Host: zippybox.local
Authorization: Bearer 9w2fN7d4F3Banyv7gihYOWJEH6MvtYyZ
Accept: application/json
Content-Type: application/json
{
"subscribers": [1, 2]
}
Sample Response
{
"data": [
{
"id": 1,
"first_name": "Test",
"last_name": "Subscriber",
"email": "testsubscriber@example.com",
"created_at": "2020-03-23 13:44:09",
"updated_at": "2020-03-23 13:44:09"
},
{
"id": 2,
"first_name": "Test",
"last_name": "Subscriber Two",
"email": "testsubscriber2@example.com",
"created_at": "2020-03-23 13:50:39",
"updated_at": "2020-03-23 13:50:39"
}
]
}
Update
Replace all subscribers assigned a given tag with the list provided in the request.
If you want to assign a tag to additional subscribers without removing existing ones, you should use the Store endpoint. If you want to remove the tag from specific subscribers, you should use the Delete endpoint.
Endpoint
PUT /api/v1/tags/{tagId}/subscribers
Expected Response Code
200
Request Fields
- subscribers:
array<int>
Response Fields
- data:
array<object>
- id:
int
- first_name:
string
- last_name:
string
- email:
string
- created_at:
datetime
- updated_at:
datetime
- id:
Sample Request
PUT /api/v1/tags/1/subscribers HTTP/1.1
Host: zippybox.local
Authorization: Bearer 9w2fN7d4F3Banyv7gihYOWJEH6MvtYyZ
Accept: application/json
Content-Type: application/json
{
"subscribers": [1, 2]
}
Sample Response
{
"data": [
{
"id": 1,
"first_name": "Test",
"last_name": "Subscriber",
"email": "testsubscriber@example.com",
"created_at": "2020-03-23 13:44:09",
"updated_at": "2020-03-23 13:44:09"
},
{
"id": 2,
"first_name": "Test",
"last_name": "Subscriber Two",
"email": "testsubscriber2@example.com",
"created_at": "2020-03-23 13:50:39",
"updated_at": "2020-03-23 13:50:39"
}
]
}
Delete
Removes the given tag from the subscribers provided in the request.
Endpoint
DELETE /api/v1/tags/{tagId}/subscribers
Expected Response Code
200
Request Fields
- subscribers:
array<int>
Response Fields
- data:
array<object>
- id:
int
- first_name:
string
- last_name:
string
- email:
string
- created_at:
datetime
- updated_at:
datetime
- id:
Sample Request
DELETE /api/v1/tags/1/subscribers HTTP/1.1
Host: zippybox.local
Authorization: Bearer 9w2fN7d4F3Banyv7gihYOWJEH6MvtYyZ
Accept: application/json
Content-Type: application/json
{
"subscribers": [2]
}
Sample Response
{
"data": [
{
"id": 1,
"first_name": "Test",
"last_name": "Subscriber",
"email": "testsubscriber@example.com",
"created_at": "2020-03-23 13:44:09",
"updated_at": "2020-03-23 13:44:09"
}
]
}