๐Ÿ”‘ How to Authenticate
Step 1 โ€” Login
POST /auth/login
{"email":"admin@mail.com","password":"password"}
// Response โ†’ {"data":{"token":"1|abc..."}}
Step 2 โ€” Send token in every request
Authorization: Bearer 1|abc...
Accept: application/json
๐Ÿ” Authentication
POST/auth/loginGet Bearer tokenโ–ผ
Request Body
Field Type
email string required
password string required
Response 200
{"success":true,"data":{"id":1,"name":"Admin","email":"admin@mail.com","token":"1|abc..."}}
POST/auth/registerRegister new userโ–ผ
Request Body
Field Type
name string required
email string required
password string required
password_confirmation string required
POST/auth/logoutRevoke current tokenโ–ผ
๐Ÿ”’ Bearer Token Required
๐Ÿ“ฎ SMTP Senders
GET/smtps?search=&per_page=15โ–ผ
๐Ÿ”’ Bearer Token Required
POST/smtpsCreate SMTPโ–ผ
๐Ÿ”’ Bearer Token Required
Request Body
Field Type Example
display_name string required Newsletter
smtp_host string required smtp.gmail.com
port integer required 587
username string required sender@gmail.com
password string required apppassword
encryption tls|ssl|none optional tls
daily_limit integer optional 1990
hourly_limit integer optional 490
GET/smtps/{id}โ–ผ
๐Ÿ”’ Bearer Token Required
PUT/smtps/{id}All fields optionalโ–ผ
๐Ÿ”’ Bearer Token Required
DEL/smtps/{id}โ–ผ
๐Ÿ”’ Bearer Token Required
POST/smtps/testSend test emailโ–ผ
๐Ÿ”’ Bearer Token Required
Body
{"smtp_id":1,"recipient_email":"test@mail.com"}
POST/smtps/{id}/duplicateClone entryโ–ผ
๐Ÿ”’ Bearer Token Required
๐Ÿ‘ค Senders
GET/sendersโ–ผ
๐Ÿ”’ Bearer Token Required
POST/sendersCreate senderโ–ผ
๐Ÿ”’ Bearer Token Required
Body
{"name":"Ahmed","email":"ahmed@mail.com","password":"pass","phone":"+201001234567"}
GET/senders/{id}โ–ผ
๐Ÿ”’ Bearer Token Required
PUT/senders/{id}โ–ผ
๐Ÿ”’ Bearer Token Required
DEL/senders/{id}โ–ผ
๐Ÿ”’ Bearer Token Required
๐Ÿ“ง Messages
GET/messagesโ–ผ
๐Ÿ”’ Bearer Token Required
POST/messagesSend Now OR Scheduleโ–ผ
๐Ÿ”’ Bearer Token Required
Send Now (mode: "now")
{"subject":"Campaign","content":"<h1>Hello!</h1>","smtp_sender_id":[1,2],"data_excel_id":[1,2,3],"mode":"now"}
Schedule (mode: "schedule")
{"subject":"Campaign","content":"<h1>Hello!</h1>","smtp_sender_id":[1],"data_excel_id":[1,2,3],"mode":"schedule","start_at":"2024-06-01 09:00:00","duration_value":3,"duration_unit":"days","label":"Summer"}

duration_unit: minutes ยท hours ยท days ยท weeks

Response 201
{"success":true,"message":"Emails are being dispatched.","total_queued":1980,"skipped":20}
GET/messages/{id}โ–ผ
๐Ÿ”’ Bearer Token Required
PUT/messages/{id}Update subject/labelโ–ผ
๐Ÿ”’ Bearer Token Required
Body
{"subject":"New Subject","label":"My Campaign"}
DEL/messages/{id}โ–ผ
๐Ÿ”’ Bearer Token Required
GET/messages/receivers?category_ids[]=1โ–ผ
๐Ÿ”’ Bearer Token Required
POST/messages/calculate-durationโ–ผ
๐Ÿ”’ Bearer Token Required
Body
{"sender_count":3,"receiver_count":10000}
// Response โ†’ {"data":{"value":2,"unit":"days"}}
POST/messages/queue/{id}/pauseโ–ผ
๐Ÿ”’ Bearer Token Required
POST/messages/queue/{id}/resumeโ–ผ
๐Ÿ”’ Bearer Token Required
POST/messages/queue/{id}/cancelโ–ผ
๐Ÿ”’ Bearer Token Required
GET/messages/{id}/scheduleโ–ผ
๐Ÿ”’ Bearer Token Required
POST/messages/{id}/schedule/cancelโ–ผ
๐Ÿ”’ Bearer Token Required
POST/messages/reset-statussent โ†’ pendingโ–ผ
๐Ÿ”’ Bearer Token Required
POST/messages/reset-failedfailed โ†’ pendingโ–ผ
๐Ÿ”’ Bearer Token Required
๐Ÿ“‹ Contacts
GET/contactsโ–ผ
๐Ÿ”’ Bearer Token Required
POST/contactsBulk create from phone listโ–ผ
๐Ÿ”’ Bearer Token Required
Body
{"phones":"+201001234567\n+201009876543","names":"Ali\nMohamed","group_id":1}
Response 201
{"data":{"summary":{"saved_count":2,"duplicate_count":0,"invalid_count":0}}}
GET/contacts/search?query=ahmedโ–ผ
๐Ÿ”’ Bearer Token Required
POST/contacts/excelImport xlsx/csv (multipart)โ–ผ
๐Ÿ”’ Bearer Token Required
Form Data (multipart/form-data)
Field Type
file file (xlsx/csv)
group_id integer
DEL/contacts/bulkBulk delete by IDsโ–ผ
๐Ÿ”’ Bearer Token Required
Body
{"ids":[1,2,3,4]}
GET/contacts/{id}โ–ผ
๐Ÿ”’ Bearer Token Required
PUT/contacts/{id}โ–ผ
๐Ÿ”’ Bearer Token Required
DEL/contacts/{id}โ–ผ
๐Ÿ”’ Bearer Token Required
๐Ÿ‘ฅ Groups
GET/groupsโ–ผ
๐Ÿ”’ Bearer Token Required
POST/groupsCreate groupโ–ผ
๐Ÿ”’ Bearer Token Required
Body
{"name":"VIP Clients","description":"High value customers"}
GET/groups/{id}โ–ผ
๐Ÿ”’ Bearer Token Required
PUT/groups/{id}โ–ผ
๐Ÿ”’ Bearer Token Required
DEL/groups/{id}โ–ผ
๐Ÿ”’ Bearer Token Required
GET/groups/{id}/contactsContacts in this groupโ–ผ
๐Ÿ”’ Bearer Token Required
โš™๏ธ Settings
GET/settingsGet all grouped settingsโ–ผ
๐Ÿ”’ Bearer Token Required
POST/settingsUpdate settingsโ–ผ
๐Ÿ”’ Bearer Token Required
Body
{"daily_limit":1990,"hourly_limit":490,"batch_size":200}
๐Ÿ“ Templates
GET/templatesโ–ผ
๐Ÿ”’ Bearer Token Required
POST/templatesCreate templateโ–ผ
๐Ÿ”’ Bearer Token Required
Body
{"name":"Welcome Email","subject":"Welcome!","content":"<h1>Hello!</h1>"}
GET/templates/{id}โ–ผ
๐Ÿ”’ Bearer Token Required
PUT/templates/{id}โ–ผ
๐Ÿ”’ Bearer Token Required
DEL/templates/{id}โ–ผ
๐Ÿ”’ Bearer Token Required
โŒ Error Codes
Code Meaning When
200 OK Success
201 Created Resource created
401 Unauthenticated Missing / invalid token
403 Forbidden Not authorized
404 Not Found Route / resource missing
422 Validation Error Invalid input fields
429 Too Many Requests Rate limit hit
500 Server Error Unexpected error
Standard Error Response
{"success":false,"message":"Validation failed.","errors":{"email":["The email field is required."]}}