Help Docs Developer Resources TCR API
The TCR (The Campaign Registry) API provides endpoints for managing and retrieving information about your campaigns. This includes listing campaigns and the associated phone numbers that can send messages on behalf of each campaign. This is particularly useful when integrating with the action API, where you might need to reference tcr_cid (campaign ID) and tcr_phone (phone number) fields.
A TCR campaign requires several step before it can be used, for simplicity each campaign object contains a boolean field ok
, true means all is done and it is ready to be used.
Once a campaign is ready the proxy
field will contains a list of number to be used for sending, any number from this list or all can be used in the Action API, passed as tcr_phone
, see Action API docs for more details.
Endpoint:
https://app.rumbleup.com/api/tcr
cid
: RumbleUp Account ID
campaignId
: Unique identifier for the campaign, mapped directly to tcr_cid in the Action API and used to track related messaging activity.
ok
: A boolean indicating the overall status of the campaign. If true
, it means everything is in order and ready to sending messages.
status
: Indicates the detailed current state of the campaign:
ACTIVE
- ready for sending, proxy list contains provisioned numbersDISABLED
- disabled by adminEXPIRED
- expired campaign, no longer can be usedREVIEW FAILED
- declined by CNP, requires changes and resubmition to CNPREVIEW IN PROGRESS
- campaign is under review by a CNPPENDING
- proxy provisioning is in progressusecase
: Describes the purpose of the messaging campaign. For instance, “POLITICAL” indicates the campaign is for non-profit political messaging.
brandName
: The name of the brand or organization running the campaign, like “TechHelp Services.”
privacyLink
: URL to the privacy policy of the brand or campaign.
autoRenewal
: A boolean indicating whether the campaign automatically renews. If true
, the campaign renews automatically monthly.
helpKeywords
: An array of keywords that subscribers can text to receive help, typically including “HELP.”
ageGated
: A boolean indicating if the campaign is restricted to subscribers above a certain age. If false
, there is no age restriction.
messageFlow
: URL to the message flow or opt-in process, which guides subscribers through the steps of subscribing.
messageSentPerDay
: Indicates the typical range of messages sent per day, such as “0-1000.”
optinKeywords
: An array of keywords that subscribers can text to opt into the campaign, such as “JOIN.”
optoutKeywords
: An array of keywords that subscribers can text to opt out of the campaign, such as “STOP” or “CANCEL.”
numberPool
: A boolean indicating whether a pool of phone numbers is used for sending messages. If false
, a individual numbers are used.
optinMessage
: The message sent to subscribers when they opt into receiving messages. This typically includes information on message frequency, potential charges, and instructions for opting out or getting help.
embeddedLink
: A boolean indicating whether embedded links are allowed in the messages. If true
, they are allowed.
embeddedPhone
: A boolean indicating whether embedded phone numbers are allowed in the messages. If true
, they are allowed.
directLending
: A boolean indicating whether the campaign is related to direct lending services. If false
, it is not.
subscriberOptout
: A boolean indicating whether the campaign is processing and responding to subscriber opt-out keyword replies. If true
, they are processing and responding to opt-out keyword replies.
subscriberOptin
: A boolean indicating whether the campaign is collecting and processing required consumer opt-ins. If true
, they are collecting required consumer opt in.
sample1
: An example message sent to users, often used for review or approval.
sample2
: Another example message, typically a variation of the first sample.
createDate
: Timestamp indicating when the campaign was created.
billedDate
- Campaign recent billed date.
nextRenewalOrExpirationDate
- When the campaign would be due for its next renew/bill date.
brandId
: A unique identifier for the brand running the campaign.
subscriberHelp
: A boolean indicating whether the campaign has implemented message response to subscribers replying with the “HELP” keyword. If true
, help message response is implemented.
optoutMessage
: The message sent to subscribers when they reply with an opt-out keyword, confirming that they will no longer receive messages.
description
: A brief description of the campaign, outlining its purpose and scope.
helpMessage
: The message sent to subscribers when they reply with a help keyword, offering assistance or contact information.
sent_time
: Timestamp indicating when the last message was sent in the campaign.
brandDailyCap
: max number of texts allowed by T-Mobile
proxy
: An array containing the proxy number(s) used to send messages.
mnoMetadata
- A hashtable of MNO properties returned from brand use-case qualification or campaign submission. This structure is exact copy of TCR MNO Metadata
{
"usecase": "POLITICAL",
"numberPool": false,
"optinMessage": "📱 Welcome to TechHelp: Thanks for subscribing to TechHelp alerts. Message frequency varies, standard rates apply. For help, contact support@techhelp.com or text HELP. To opt-out, reply STOP.",
"status": "ACTIVE",
"brandName": "TechHelp Services",
"privacyLink": "https://www.techhelp.com/privacy-policy",
"autoRenewal": true,
"helpKeywords": [ "HELP" ],
"ageGated": false,
"messageFlow": "https://www.techhelp.com/optin/subscribe",
"messageSentPerDay": "1000-2000",
"optinKeywords": [ "SUBSCRIBE" ],
"optoutKeywords": [ "STOP", "CANCEL" ],
"cid": "c_xyz123abc456",
"embeddedLink": true,
"campaignId": "C12345ABC",
"embeddedPhone": true,
"directLending": false,
"subscriberOptout": true,
"subscriberOptin": true,
"sample1": "Hi @name@! Join TechHelp for updates by replying with 'SUBSCRIBE'. Reply STOP to unsubscribe.",
"sample2": "Hi @name@! Join TechHelp for updates by replying with 'SUBSCRIBE'. Reply STOP to unsubscribe.",
"createDate": "04/01/2025 12:00 EST",
"brandId": "B9YXZ123",
"subscriberHelp": true,
"optoutMessage": "❌ You have been unsubscribed from TechHelp alerts. No further messages will be sent.",
"description": "TechHelp support campaign for customer assistance and updates.",
"helpMessage": "🛠️ For help with TechHelp services, contact support@techhelp.com or reply HELP. Reply STOP to unsubscribe.",
"ok": true,
"brandDailyCap" : 2000,
"proxy": [ "18005551234" ]
}
/api/tcr/campaign/select
campaignId
(String, optional): IDs of the specific TCR campaigns to retrieve, separated by commabrandId
(String, optional): Limit to specific TCR brands, separated by commadata
property. The result may include next_token
to be used for pagination if there are more campaigns are available.Example Request:
curl -X GET https://app.rumbleup.com/api/tcr/campaign/select -u '<YOUR_ACCOUNT_CID>:<YOUR_API_KEY>'
Example Response:
{
"count": 1,
"data": {
"campaignId": "C12345ABC",
"proxy": ["18005551234"]
"staztus": "ACTIVE",
"ok": true,
...
}
}
/api/tcr/brand/select
brandId
(String, optional): Limit to specific TCR brands, separated by commaExample Request:
curl -X GET https://app.rumbleup.com/api/tcr/brand/select -u '<YOUR_ACCOUNT_CID>:<YOUR_API_KEY>'
Example Response:
{
"count": 1,
"data": {
"brandId": "B145ABC",
"companyName": "ACME Inc"
...
}
}