Skip to main content

Get Campaign

Retrieve the full details of a single SMS campaign by its ID.

Endpoint

GET /sms/campaigns/:id

Returns: 200 OK

Headers

HeaderValueRequired
AuthorizationBearer <your-api-key>Yes

Path Parameters

ParameterTypeRequiredDescription
idstringYesThe campaign ID.

Response

{
"id": "0192a1b2-c3d4-7e5f-9000-abcdef123456",
"name": "Summer Sale 2026",
"description": "Sale announcement to KSA list",
"content": "Acme Store: 50% off everything this weekend! Shop now: {{link}}",
"from": "ACME",
"country": "SA",
"status": "Draft",
"num_segments": 1,
"scheduled_at": null,
"sent_at": null,
"created_at": "2026-04-27T12:00:00.000Z",
"updated_at": "2026-04-27T12:00:00.000Z"
}

Response Fields

FieldTypeDescription
idstringUnique campaign ID.
namestring | nullInternal name for the campaign.
descriptionstring | nullInternal description for the campaign.
contentstring | nullThe SMS message body.
fromstring | nullRegistered sender name used to deliver the campaign.
countrystring | nullISO 3166-1 alpha-2 country code auto-detected from the registered sender name (e.g. SA for Saudi Arabia, EG for Egypt).
statusstringCampaign status. One of Draft, Scheduled, Queued, Sending, Sent, Paused, Failed, Cancelled.
num_segmentsnumberNumber of SMS segments this message will use. Matches Twilio's num_segments convention.
scheduled_atstring | nullISO 8601 datetime if the campaign is scheduled; otherwise null.
sent_atstring | nullISO 8601 datetime when the campaign finished sending; otherwise null.
created_atstringISO 8601 datetime when the campaign was created.
updated_atstringISO 8601 datetime when the campaign was last updated.

Examples

curl "https://api.arsel.sa/v1/sms/campaigns/0192a1b2-c3d4-7e5f-9000-abcdef123456" \
-H "Authorization: Bearer be_your_api_key"

Error Responses

{
"status_code": 401,
"name": "unauthorized",
"message": "Invalid or missing API key"
}