
JP’S CLOUD PROFILES
Owner setup
Your API accounts power customer searches.
Sign in with your owner email and password.
Owner sign-in
Set OWNER_EMAIL and OWNER_PASSWORD (at least 12 characters) in Railway → ctr-api → Variables, then redeploy. Customers continue using activation codes.
Initial setup with existing owner code
Available until your email/password login is configured.
Stripe subscriptions & activation
Each new paid subscription creates its own activation code and emails it through Resend, even when the buyer uses the same email. Renewals keep that subscription’s code. Each code allows 10 business campaigns, 3 keywords per campaign and up to 10 daily attempts per campaign. Separate purchases have independent allowances. Existing codes are never reassigned by email. Failed, unpaid, paused or ended subscriptions block searches and scheduled campaigns; paid access also expires at its verified paid-through date. Canceling at the end of the month keeps access until the paid period ends. Manual licenses stay separate. Turning off billing processing does not remove payment requirements from existing subscribers.
Required Stripe webhook setup
In Stripe Workbench → Webhooks, create an event destination for your own account in live mode, use this URL, and select the events below. Paste that destination’s signing secret above. Do not use a CLI forwarding secret or a test-mode key.
Events to select in Stripe
Only verified Stripe events are accepted. Current subscription and invoice state is rechecked after each event and approximately every five minutes for tracked subscriptions. A purchase of another price never grants access. Existing manual revocations are never undone automatically.
Sync an existing subscription
Use this for a purchase made before the webhook was connected, or to request a fresh check. A current paid subscription for the configured price can create a separate paid license and queue its activation email.
Subscribers
Recent webhook & sync activity
Automatic activation emails
Provider credentials
Saved credentials stay on the server. Blank fields keep the current value. DataForSEO requires its API login and API password.
Customer access
Issue a separate access code for each customer. Each code allows up to 100 provider requests per UTC day; the service allows 1,000 total. Codes can be revoked below.
Selected activation code. Keep it private.
Desktop service address:
Registered computers
One access code is bound to one installation. Device details are reported by the app; the customer name is the label you assigned. Recently online means contact within three minutes. Reset releases the binding; revoke and issue a new code when removing someone who still knows the old code.
Activation email history
Retry a failed or uncertain email to reuse its request identifier. Old codes imported from the original database must be replaced before they can be emailed.