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\": \"Hodhod newsletter\",
\"author\": \"Emad Eldin\",
\"description\": \"Explicabo fugiat dolor illum esse reiciendis.\",
\"primary_color\": \"#146ec2\",
\"slug\": \"consequatur\"
}"
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/phpkri3tmo1hvqc4sdiKLy" (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": 94,
"subject": "Reprehenderit recusandae pariatur et odio.",
"number": 5,
"description": null,
"created_at": "2026-04-28T20:16:44.000000Z",
"updated_at": "2026-04-28T20:16:44.000000Z",
"published_at": null,
"is_published": false,
"is_scheduled": false
},
{
"id": 95,
"subject": "Molestiae laborum id beatae et ea facilis.",
"number": 5,
"description": null,
"created_at": "2026-04-28T20:16:44.000000Z",
"updated_at": "2026-04-28T20:16:44.000000Z",
"published_at": null,
"is_published": false,
"is_scheduled": false
}
],
"links": {
"first": "/?page=1",
"last": null,
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"current_page_url": "/?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/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" {
"id": 96,
"subject": "Distinctio molestiae officiis eaque quam dolor qui.",
"number": 6,
"description": null,
"html_content": null,
"created_at": "2026-04-28T20:16:44.000000Z",
"updated_at": "2026-04-28T20:16:44.000000Z",
"published_at": null,
"is_published": false,
"is_scheduled": false
}
The ID of the issue.
curl --request DELETE \
"https://gohodhod.com/api/v1/issues/1" \
--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/1/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/1/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/1/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": 543,
"email": "[email protected]",
"first_name": "Carter",
"last_name": "Parisian",
"source": "profile",
"created_at": "2026-04-28T20:16:44.000000Z",
"updated_at": "2026-04-28T20:16:44.000000Z",
"unsubscribed_at": null,
"suppressed_at": "2026-04-28T20:16:44.000000Z"
},
{
"id": 544,
"email": "[email protected]",
"first_name": "Alexa",
"last_name": "Abernathy",
"source": "dashboard",
"created_at": "2026-04-28T20:16:44.000000Z",
"updated_at": "2026-04-28T20:16:44.000000Z",
"unsubscribed_at": null,
"suppressed_at": "2026-04-28T20:16:44.000000Z"
}
],
"links": {
"first": "/?page=1",
"last": null,
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"current_page_url": "/?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\": \"inventore\",
\"last_name\": \"molestiae\",
\"source\": \"natus\",
\"unsubscribed_at\": \"2026-04-28T20:16:44\",
\"suppressed_at\": \"2026-04-28T20:16:44\"
}"
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": 545,
"email": "[email protected]",
"first_name": "Juanita",
"last_name": "Hauck",
"source": "import",
"created_at": "2026-04-28T20:16:44.000000Z",
"updated_at": "2026-04-28T20:16:44.000000Z",
"unsubscribed_at": "2026-04-28T20:16:44.000000Z",
"suppressed_at": "2026-04-28T20:16:44.000000Z"
}
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\": \"pariatur\",
\"last_name\": \"aut\",
\"source\": \"ratione\",
\"unsubscribed_at\": \"2026-04-28T20:16:44\",
\"suppressed_at\": \"2026-04-28T20:16:44\"
}"
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