Replace a campaign
RankShark EnhanceScopecampaigns:write
Send the whole campaign document (as GET returns it, edited). Masked secrets ("********") keep their stored value. The workflow is changed with PUT /api/v1/campaigns/{id}/flow.
AuthorizationBearer <token>An Enhance API key (rsen_…) or an OAuth 2.1 access token, as "Authorization: Bearer …".
id*stringCampaign id
application/json- body
A campaign document. Only the main fields are listed; the other settings come back as they are stored and are kept when you send them back (the panel's campaign editor covers them; GET /api/v1/schema/document describes them). Secrets (passwords and keys) are returned as "********": send them back unchanged and the stored value is kept.
Id*stringCampaign id
CampaignName*stringTargetKeywod?stringThe main keyword (the field name is spelled this way)
TargetWebsiteOrBusinessName?stringTags?array<string>CreatedDate?stringdate-timelastStatus?stringThe last status text
Running?booleanStopped?booleanCompleted?booleanTotalVisitorsSent?integerDailyVisitorsSent?integerDailyVisitorsLimit?integer0 = no daily limit
Configuration?Campaign-wide settings
Tasks?array<>The traffic sources
FlowGraph?stringThe stored workflow (use /api/v1/campaigns/{id}/flow)
[key: string]?anyThe saved campaign
application/json- response
A campaign document. Only the main fields are listed; the other settings come back as they are stored and are kept when you send them back (the panel's campaign editor covers them; GET /api/v1/schema/document describes them). Secrets (passwords and keys) are returned as "********": send them back unchanged and the stored value is kept.
Id*stringCampaign id
CampaignName*stringTargetKeywod?stringThe main keyword (the field name is spelled this way)
TargetWebsiteOrBusinessName?stringTags?array<string>CreatedDate?stringdate-timelastStatus?stringThe last status text
Running?booleanStopped?booleanCompleted?booleanTotalVisitorsSent?integerDailyVisitorsSent?integerDailyVisitorsLimit?integer0 = no daily limit
Configuration?Campaign-wide settings
Tasks?array<>The traffic sources
FlowGraph?stringThe stored workflow (use /api/v1/campaigns/{id}/flow)
[key: string]?anycurl -X PUT 'https://panel.rankshark.io/api/v1/campaigns/string' \ -H 'Content-Type: application/json' \ -d '{ "Id": "3f6c2a9e-5b1d-4c7a-9e2f-8a4b6c1d2e3f", "CampaignName": "Harbor Bakery - organic search (spring)", "TargetKeywod": "sourdough bakery portland", "TargetWebsiteOrBusinessName": "harborbakery.example", "Tags": [ "bakery", "search" ], "CreatedDate": "2026-10-20T09:15:00Z", "lastStatus": "Visit completed", "Running": true, "Stopped": false, "Completed": false, "TotalVisitorsSent": 412, "DailyVisitorsSent": 18, "DailyVisitorsLimit": 60, "Configuration": { "NumberOfVisitors": 1000, "UnlimitedVisitors": false, "SearchLanguage": "en", "Scrolling": true, "LogEnabled": true }, "Tasks": [ { "TargetAddress": "harborbakery.example", "TrafficMode": { "TrafficSettingsRefactored": { "$type": "GoogleTraffic", "SearchEngineWebsiteAddress": "google.com", "ClickChance": 100, "Language": "en", "FromPage": 1, "ToPage": 5 } } } ]}'{ "Id": "string", "CampaignName": "string", "TargetKeywod": "string", "TargetWebsiteOrBusinessName": "string", "Tags": [ "string" ], "CreatedDate": "2019-08-24T14:15:22Z", "lastStatus": "string", "Running": true, "Stopped": true, "Completed": true, "TotalVisitorsSent": 0, "DailyVisitorsSent": 0, "DailyVisitorsLimit": 0, "Configuration": {}, "Tasks": [ {} ], "FlowGraph": "string"}