This documentation aims to provide all the information you need to work with our API.
To authenticate requests, include an Authorization
header with the value "Bearer {YOUR_AUTH_KEY}"
.
All authenticated endpoints are marked with a requires authentication
badge in the documentation below.
You can retrieve your token by visiting your dashboard and clicking Generate API token.
curl --request GET \
--get "https://gohodhod.com/api/v1/newsletter/profile-info" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
curl --request PATCH \
"https://gohodhod.com/api/v1/newsletter/profile-info" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"title\": \"نشرة هدهد البريدية\",
\"author\": \"عماد الدين\",
\"description\": \"Eaque eos et rerum quia et consectetur a.\",
\"primary_color\": \"#146ec2\",
\"slug\": \"aliquid\"
}"
curl --request POST \
"https://gohodhod.com/api/v1/newsletter/profile-image" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "image=@/tmp/phpAX4KHU"
(optional) Filters issue based on status. Can only be: "draft", "published" or "scheduled"
curl --request GET \
--get "https://gohodhod.com/api/v1/issues" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"data": [
{
"id": 10110,
"subject": "Aliquid veniam adipisci ipsa eos.",
"number": 1,
"description": null,
"created_at": "2025-01-20T10:25:32.000000Z",
"updated_at": "2025-01-20T10:25:32.000000Z",
"published_at": "2025-01-20T10:25:32.000000Z",
"is_published": true,
"is_scheduled": false
},
{
"id": 10111,
"subject": "Enim temporibus dicta qui qui impedit quos.",
"number": 3,
"description": null,
"created_at": "2025-01-20T10:25:32.000000Z",
"updated_at": "2025-01-20T10:25:32.000000Z",
"published_at": "2025-01-22T10:25:32.000000Z",
"is_published": false,
"is_scheduled": true
}
],
"links": {
"first": "/?page=1",
"last": null,
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"path": "/",
"per_page": "50",
"to": 2
}
}
The ID of the issue.
curl --request GET \
--get "https://gohodhod.com/api/v1/issues/3" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"id": 10112,
"subject": "Quae hic excepturi voluptatibus nihil dolores consequuntur praesentium.",
"number": 1,
"description": null,
"html_content": "<!-- Main table -->\n<table dir=\"rtl\" margin=\"0\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" align=\"center\" width=\"100%\">\n <tbody>\n <tr>\n <td align=\"center\">\n <h1\n style=\"font-family: inherit; font-weight:bold; font-size:30px; color:#18181B; padding:0; padding-bottom: 0px; margin:0;\">\n Quae hic excepturi voluptatibus nihil dolores consequuntur praesentium.\n </h1>\n </td>\n</tr>\n<tr>\n <td height=\"5\"></td>\n</tr>\n<tr>\n <td align=\"center\"\n style=\"font-family: inherit; font-size:14px; font-weight:bold; color: #13b981; \"\n >\n <span>بواسطة ahmed serag</span>\n <span style=\"padding: 0 5px;\">•</span>\n <span>#العدد 1</span>\n <span style=\"padding: 0 5px;\">•</span>\n <a href=\"http://gohodhod.com/@serag.linah3072/issues/10112\" style=\"color: #13b981\" target=\"_blank\">\n عرض في المتصفح\n </a>\n </td>\n</tr>\n\n\n<tr>\n <td height=\"20\"></td>\n</tr>\n<tr>\n <td align=\"center\">\n <hr style=\"height: 3px; width:75px; background-color:#d4d4d8; border: 0; border-radius: 100px;\">\n </td>\n</tr>\n<tr>\n <td height=\"20\"></td>\n</tr>\n\n </tbody>\n</table>\n<style>\n .dark .article-dynamic-data span,\n .dark .article-dynamic-data font {\n color: #e1e1e1 !important;\n }\n</style>",
"created_at": "2025-01-20T10:25:32.000000Z",
"updated_at": "2025-01-20T10:25:32.000000Z",
"published_at": null,
"is_published": false,
"is_scheduled": false
}
The ID of the issue.
curl --request DELETE \
"https://gohodhod.com/api/v1/issues/3" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
true
The ID of the issue.
curl --request POST \
"https://gohodhod.com/api/v1/issues/3/publish" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
true
The ID of the issue.
The date and time when the issue should be published. Should be a valid datetime string and in the future (after current datetime).
curl --request POST \
"https://gohodhod.com/api/v1/issues/3/schedule?published_at=2023-01-01+00%3A00%3A00" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
true
The ID of the issue.
curl --request POST \
"https://gohodhod.com/api/v1/issues/3/cancel-schedule" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
true
(optional) Filters subscribers based on status. Can only be: "subscribed", "unsubscribed" or "supressed"
curl --request GET \
--get "https://gohodhod.com/api/v1/subscribers" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"data": [
{
"id": 782778,
"email": "[email protected]",
"first_name": "عبد السلام",
"last_name": "الشيباني",
"source": "profile",
"created_at": "2025-01-20T10:25:32.000000Z",
"updated_at": "2025-01-20T10:25:32.000000Z",
"unsubscribed_at": "2025-01-20 10:25:32",
"suppressed_at": null
},
{
"id": 782779,
"email": "[email protected]",
"first_name": "نظام",
"last_name": "برماوي",
"source": "profile",
"created_at": "2025-01-20T10:25:32.000000Z",
"updated_at": "2025-01-20T10:25:32.000000Z",
"unsubscribed_at": "2025-01-20 10:25:32",
"suppressed_at": null
}
],
"links": {
"first": "/?page=1",
"last": null,
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"path": "/",
"per_page": "50",
"to": 2
}
}
curl --request POST \
"https://gohodhod.com/api/v1/subscribers" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"[email protected]\",
\"first_name\": \"sit\",
\"last_name\": \"distinctio\",
\"source\": \"sunt\",
\"unsubscribed_at\": \"2025-01-20T10:25:32\",
\"suppressed_at\": \"2025-01-20T10:25:32\"
}"
true
The ID of the subscriber.
curl --request GET \
--get "https://gohodhod.com/api/v1/subscribers/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"id": 782780,
"email": "[email protected]",
"first_name": "لنا",
"last_name": "الصقير",
"source": "dashboard",
"created_at": "2025-01-20T10:25:32.000000Z",
"updated_at": "2025-01-20T10:25:32.000000Z",
"unsubscribed_at": "2025-01-20 10:25:32",
"suppressed_at": "2025-01-20 10:25:32"
}
The ID of the subscriber.
curl --request PUT \
"https://gohodhod.com/api/v1/subscribers/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"[email protected]\",
\"first_name\": \"est\",
\"last_name\": \"sit\",
\"source\": \"unde\",
\"unsubscribed_at\": \"2025-01-20T10:25:32\",
\"suppressed_at\": \"2025-01-20T10:25:32\"
}"
true
The ID of the subscriber.
curl --request DELETE \
"https://gohodhod.com/api/v1/subscribers/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
true
The ID of the subscriber.
curl --request POST \
"https://gohodhod.com/api/v1/subscribers/1/unsubscribe" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
true
The ID of the subscriber.
curl --request POST \
"https://gohodhod.com/api/v1/subscribers/1/resubscribe" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
true