Projects
Organize newsletters, sequences, and automations into named projects. Assign resources via project_ids on newsletter create/update, then filter the newsletter and sequence list endpoints with ?project={projectId}.
/api/v1/projectsGet all projects for the authenticated client. Cursor-paginated (per_page default 25, max 100; cursor for next/previous page). Each project includes counts of attached newsletters, sequences, and automations.
Response Fields
idintegerThe project ID.
uuidstringThe project UUID.
namestringThe project name.
newsletters_countintegerNumber of newsletters assigned to the project.
sequences_countintegerNumber of sequences assigned to the project.
automations_countintegerNumber of automations assigned to the project.
visual_automations_countintegerNumber of visual automations assigned to the project.
created_atstringISO 8601 creation timestamp.
metaobjectCursor pagination metadata (path, per_page, next_cursor, prev_cursor).
Request
curl -X GET \
"https://byomailer.com/api/v1/projects" \
-H "Authorization: Bearer {your-api-token}" \
-H "Accept: application/json"Response
{
"data": [
{
"id": 2,
"uuid": "project-uuid-2",
"name": "Q3 Launch",
"newsletters_count": 4,
"sequences_count": 1,
"automations_count": 0,
"visual_automations_count": 2,
"created_at": "2026-07-20T10:00:00.000000Z"
},
{
"id": 1,
"uuid": "project-uuid-1",
"name": "Evergreen Onboarding",
"newsletters_count": 0,
"sequences_count": 3,
"automations_count": 1,
"visual_automations_count": 0,
"created_at": "2026-07-18T09:00:00.000000Z"
}
],
"meta": {
"path": "https://byomailer.com/api/v1/projects",
"per_page": 25,
"next_cursor": null,
"prev_cursor": null
}
}/api/v1/projects/{projectId}Get a single project by ID, including attached resource counts.
Path Parameters
projectIdintegerThe ID of the project to retrieve.
Response Fields
idintegerThe project ID.
uuidstringThe project UUID.
namestringThe project name.
newsletters_countintegerNumber of newsletters assigned to the project.
sequences_countintegerNumber of sequences assigned to the project.
automations_countintegerNumber of automations assigned to the project.
visual_automations_countintegerNumber of visual automations assigned to the project.
created_atstringISO 8601 creation timestamp.
Request
curl -X GET \
"https://byomailer.com/api/v1/projects/{projectId}" \
-H "Authorization: Bearer {your-api-token}" \
-H "Accept: application/json"Response
{
"data": {
"id": 2,
"uuid": "project-uuid-2",
"name": "Q3 Launch",
"newsletters_count": 4,
"sequences_count": 1,
"automations_count": 0,
"visual_automations_count": 2,
"created_at": "2026-07-20T10:00:00.000000Z"
}
}/api/v1/projectsCreate a new project. The name must be unique per account (case-insensitive).
Body Parameters
namestringThe project name. Max 255 characters. Unique per account (case-insensitive).
Response Fields
idintegerThe project ID.
uuidstringThe project UUID.
namestringThe project name.
created_atstringISO 8601 creation timestamp.
Request
curl -X POST \
"https://byomailer.com/api/v1/projects" \
-H "Authorization: Bearer {your-api-token}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"name": "Q3 Launch"
}'Response
{
"data": {
"id": 3,
"uuid": "project-uuid-3",
"name": "Q3 Launch",
"created_at": "2026-07-23T11:00:00.000000Z"
}
}/api/v1/projects/{projectId}Rename a project. The name must be unique per account (case-insensitive).
Path Parameters
projectIdintegerThe ID of the project to update.
Body Parameters
namestringThe new project name. Max 255 characters. Unique per account (case-insensitive).
Response Fields
idintegerThe project ID.
uuidstringThe project UUID.
namestringThe updated project name.
created_atstringISO 8601 creation timestamp.
Request
curl -X PATCH \
"https://byomailer.com/api/v1/projects/{projectId}" \
-H "Authorization: Bearer {your-api-token}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"name": "Q3 Product Launch"
}'Response
{
"data": {
"id": 3,
"uuid": "project-uuid-3",
"name": "Q3 Product Launch",
"created_at": "2026-07-23T11:00:00.000000Z"
}
}/api/v1/projects/{projectId}Delete a project. Attached newsletters, sequences, and automations are detached, not deleted.
Path Parameters
projectIdintegerThe ID of the project to delete.
Request
curl -X DELETE \
"https://byomailer.com/api/v1/projects/{projectId}" \
-H "Authorization: Bearer {your-api-token}" \
-H "Accept: application/json"Response
No content