Campaigns API
A campaign bundles together everything the AI bot needs to talk to your contacts: its instructions, the channels it runs on, its active hours, and its follow-up
Campaigns API A campaign bundles together everything the AI bot needs to talk to your contacts: its instructions, the channels it runs on, its active hours, and its follow-up behaviour. The Campaigns API lets you list, create, update, duplicate, enable, archive, and fine-tune campaigns from your own code instead of the dashboard. All endpoints below are relative to the base URL https://api.relaytiv.com/v1 . Every request must be authenticated — see API Access and Authentication for how to get and pass your API key. API access is a paid feature; without it, requests are rejected with a 403 . Heads up: Some examples show the simple ?apiKey=YOUR_API_KEY query form, others use the X-API-Key header. Both work everywhere — use whichever fits your setup. Campaign types When you create a campaign you must pick one of these four types: Type What it's for Incoming from Unknown Contacts The bot replies to people who message you for the first time. Outgoing The bot starts conversations with contacts you add to the campaign. Keywords The bot triggers when an incoming message contains one of your trigger keywords. Combined A mix of incoming and outgoing behaviour. Casing doesn't matter. type , status , booking_provider , first_response_mode , bot.anthropic_model and bot.ai_speed all accept any casing — "live" , "Live" and "LIVE" are the same thing — and the value is stored in its canonical form, which is what comes back when you read the campaign. The one exception is the pause pair: "Paus