Campaigns
Campaigns are automated sequences of messages sent to contacts to request reviews. Each campaign contains one or more steps, each tied to a message template.
The campaign model
Properties
- Name
id- Type
- string
- Description
Unique identifier for the campaign.
- Name
name- Type
- string
- Description
The name of the campaign.
- Name
description- Type
- string
- Description
An optional description of the campaign.
- Name
active- Type
- boolean
- Description
Whether the campaign is currently active.
- Name
minimum_star_rating- Type
- integer
- Description
Contacts are only routed to leave a public review if their rating meets this threshold.
- Name
feedback_title- Type
- string
- Description
Title shown on the feedback form for low-rated responses.
- Name
thank_you_title- Type
- string
- Description
Title shown on the thank-you page after submission.
- Name
thank_you_body- Type
- string
- Description
Body text shown on the thank-you page after submission.
- Name
review_routing_strategy- Type
- string
- Description
Strategy used to route contacts to review platforms (e.g.
round_robin).
- Name
campaign_steps- Type
- array
- Description
Ordered list of steps in the campaign. See campaign steps.
- Name
created_at- Type
- timestamp
- Description
Timestamp of when the campaign was created.
- Name
updated_at- Type
- timestamp
- Description
Timestamp of when the campaign was last updated.
List all campaigns
Returns all campaigns for your account, ordered by most recently created.
Request
curl https://dashboard.reviewrover.co/api/v1/campaigns \
-H "Authorization: Bearer {token}"
Response
{
"campaigns": [
{
"id": "camp_Kd93lftgZXGRbxqoj",
"name": "Post-Visit Follow-Up",
"description": "Sent after a completed service visit",
"active": true,
"minimum_star_rating": 4,
"review_routing_strategy": "round_robin",
"campaign_steps": [],
"created_at": "2025-02-17T02:00:34Z",
"updated_at": "2025-02-17T02:00:34Z"
}
]
}
Create a campaign
Required attributes
- Name
name- Type
- string
- Description
The name of the campaign.
Optional attributes
- Name
description- Type
- string
- Description
A description of the campaign.
- Name
active- Type
- boolean
- Description
Whether the campaign is active. Defaults to
false.
- Name
minimum_star_rating- Type
- integer
- Description
Minimum rating (1–5) to route to a public review. Defaults to
4.
- Name
feedback_title- Type
- string
- Description
Title shown on the feedback form.
- Name
thank_you_title- Type
- string
- Description
Title shown on the thank-you page.
- Name
thank_you_body- Type
- string
- Description
Body text on the thank-you page.
- Name
review_routing_strategy- Type
- string
- Description
Platform routing strategy. One of
round_robin.
Request
curl https://dashboard.reviewrover.co/api/v1/campaigns \
-H "Authorization: Bearer {token}" \
-d name="Post-Visit Follow-Up" \
-d active=true \
-d minimum_star_rating=4
Response
{
"id": "camp_Kd93lftgZXGRbxqoj",
"name": "Post-Visit Follow-Up",
"active": true,
"minimum_star_rating": 4,
"campaign_steps": [],
"created_at": "2025-02-17T02:00:34Z",
"updated_at": "2025-02-17T02:00:34Z"
}
Retrieve a campaign
Retrieve a campaign by its ID.
Request
curl https://dashboard.reviewrover.co/api/v1/campaigns/camp_Kd93lftgZXGRbxqoj \
-H "Authorization: Bearer {token}"
Response
{
"id": "camp_Kd93lftgZXGRbxqoj",
"name": "Post-Visit Follow-Up",
"active": true,
"minimum_star_rating": 4,
"campaign_steps": [],
"created_at": "2025-02-17T02:00:34Z",
"updated_at": "2025-02-17T02:00:34Z"
}
Update a campaign
Optional attributes
- Name
name- Type
- string
- Description
- The campaign name.
- Name
description- Type
- string
- Description
- The campaign description.
- Name
active- Type
- boolean
- Description
- Whether the campaign is active.
- Name
minimum_star_rating- Type
- integer
- Description
- Minimum rating to route to a public review.
Request
curl -X PUT https://dashboard.reviewrover.co/api/v1/campaigns/camp_Kd93lftgZXGRbxqoj \
-H "Authorization: Bearer {token}" \
-d active=false
Response
{
"id": "camp_Kd93lftgZXGRbxqoj",
"name": "Post-Visit Follow-Up",
"active": false,
"updated_at": "2025-03-01T10:00:00Z"
}
Delete a campaign
Permanently deletes a campaign and all its steps.
Request
curl -X DELETE https://dashboard.reviewrover.co/api/v1/campaigns/camp_Kd93lftgZXGRbxqoj \
-H "Authorization: Bearer {token}"
Campaign Steps
Campaign steps are the individual messages within a campaign. Each step has a delay, an order, and a message template.
The campaign step model
- Name
id- Type
- integer
- Description
Unique identifier for the step.
- Name
campaign_id- Type
- integer
- Description
ID of the campaign this step belongs to.
- Name
order- Type
- integer
- Description
Position of this step in the campaign sequence.
- Name
delay_in_minutes- Type
- integer
- Description
Minutes to wait after the previous step (or enrollment) before sending.
- Name
active- Type
- boolean
- Description
Whether this step is active.
- Name
template- Type
- object
- Description
The message template for this step, including
template_type(emailorsms),subject,body, andcall_to_action.
- Name
created_at- Type
- timestamp
- Description
Timestamp of when the step was created.
- Name
updated_at- Type
- timestamp
- Description
Timestamp of when the step was last updated.
List campaign steps
Returns all steps for a campaign in their ordered sequence.
Request
curl https://dashboard.reviewrover.co/api/v1/campaigns/camp_Kd93lftgZXGRbxqoj/steps \
-H "Authorization: Bearer {token}"
Response
{
"campaign_steps": [
{
"id": 1,
"order": 1,
"delay_in_minutes": 1440,
"active": true,
"template": {
"id": 10,
"template_type": "email",
"subject": "How was your visit?",
"call_to_action": "Leave a Review"
},
"created_at": "2025-02-17T02:00:34Z",
"updated_at": "2025-02-17T02:00:34Z"
}
]
}
Create a campaign step
Creates a new step and its associated message template.
Optional attributes
- Name
template_type- Type
- string
- Description
emailorsms. Defaults toemail.
- Name
subject- Type
- string
- Description
Email subject line (email steps only).
- Name
body- Type
- string
- Description
Message body.
- Name
call_to_action- Type
- string
- Description
Button text for the review link.
- Name
delay_in_minutes- Type
- integer
- Description
Minutes to wait before sending. Defaults to
0.
- Name
active- Type
- boolean
- Description
Whether the step is active. Defaults to
true.
- Name
insert_after_order- Type
- integer
- Description
Insert the step after this position, shifting later steps up.
Request
curl https://dashboard.reviewrover.co/api/v1/campaigns/camp_Kd93lftgZXGRbxqoj/steps \
-H "Authorization: Bearer {token}" \
-d template_type="email" \
-d subject="How was your visit?" \
-d delay_in_minutes=1440
Response
{
"id": 1,
"order": 1,
"delay_in_minutes": 1440,
"active": true,
"template": {
"id": 10,
"template_type": "email",
"subject": "How was your visit?",
"body": "",
"call_to_action": ""
},
"created_at": "2025-02-17T02:00:34Z",
"updated_at": "2025-02-17T02:00:34Z"
}
Update a campaign step
Optional attributes
- Name
order- Type
- integer
- Description
- New position in the sequence.
- Name
delay_in_minutes- Type
- integer
- Description
- Minutes to wait before sending.
- Name
active- Type
- boolean
- Description
- Whether the step is active.
Request
curl -X PUT https://dashboard.reviewrover.co/api/v1/campaigns/camp_Kd93lftgZXGRbxqoj/steps/1 \
-H "Authorization: Bearer {token}" \
-d delay_in_minutes=2880
Delete a campaign step
Permanently deletes a campaign step.
Request
curl -X DELETE https://dashboard.reviewrover.co/api/v1/campaigns/camp_Kd93lftgZXGRbxqoj/steps/1 \
-H "Authorization: Bearer {token}"
