Campaigns
Update a campaign
Updates the name, content, audience, or policy of a campaign draft. Use this endpoint to update a campaign through the Samva email API.
PATCH
Updates the name, content, audience, or policy of a campaign draft.
apiKeyheader
x-api-key<token>id*stringMatch
^camp_[0-9a-hjkmnp-tv-z]{16,24}$application/json- body
name?|nullcontent?|||nullaudience?|nullpolicy?|nullCampaign
application/json- response
id*CampaignIdMatch
^camp_[0-9a-hjkmnp-tv-z]{16,24}$name*stringchannel*stringValue in
"sms""whatsapp""email"content*||audience*policy*definition*latestRun*|nullcreatedBy*string|nullactorEmail*stringmemberRole*stringcreatedAt*stringupdatedAt*stringimport { createClient } from "samva";const samva = createClient({ apiKey: process.env.SAMVA_API_KEY! });const result = await samva.campaigns.update({ "id": "example"});Example Response
{ "id": "string", "name": "string", "channel": "sms", "content": { "channel": "email", "email": { "subject": "string", "html": "string", "text": "string", "attachments": [ { "filename": "string", "content": "string", "mediaId": "string", "contentType": "string", "size": 1 } ], "publicationId": "string", "inputContractId": "string", "templateId": "string", "templateSlug": "string", "templateData": { "property1": "string", "property2": "string" }, "locale": "string", "timeZone": "string", "inReplyToMessageId": "string", "replyTo": [ "string" ], "topicId": "string", "tracking": { "opens": true, "clicks": true }, "footer": { "enabled": true }, "headers": { "property1": "string", "property2": "string" }, "preheader": "string" }, "issue": { "path": "string", "commit": "string" }, "from": { "email": "string", "name": "string" }, "replyMailboxId": "string", "conversationId": "string", "metadata": { "property1": "string", "property2": "string" } }, "audience": { "topicId": "string", "includeTags": [ "string" ], "excludeTags": [ "string" ], "contactIds": [ "string" ], "groupIds": [ "string" ] }, "policy": { "pageSize": 100 }, "definition": { "state": "editable", "frozenAt": "string" }, "latestRun": { "id": "string", "status": "scheduled", "scheduledFor": "string", "completedAt": "string", "totalRecipients": 0, "dispatchedCount": 0, "failedCount": 0, "skippedCount": 0, "pendingCount": 0, "estimatedCompletionAt": "string" }, "createdBy": "string", "actorEmail": "string", "memberRole": "string", "createdAt": "string", "updatedAt": "string"}Related documentation
Send a campaign test
Sends one rendered draft email to the authenticated actor's email address, using optional contactId only for personalization.
Get an attachment download URL
Generates a presigned, time-limited download URL for the attachment; expiry is configurable via the expiresIn query parameter.