Skip to content

Compliance settings ​

Each workspace keeps its own calling rules under Settings → Compliance. Pick an operating country and Rymi fills in that country's preset. A setting you edit yourself stays when you change the country later.

You are responsible for complying with the laws where you call. These settings help; they don't make you compliant. The presets are starting points, not legal advice.

Read and write them with GET and PUT /v1/compliance/settings. Preview a country with GET /v1/compliance/settings/preview before you save.

Set them up ​

  1. Open Settings → Compliance, or call GET /v1/compliance/settings.
  2. Choose a country. Studio calls the preview route and lists what would change. Nothing is saved yet.
  3. Save the country, or send your own rules, or both. A key you send in rules is marked edited.
  4. The next country change fills in every key that is not in edited.

Owners and admins of a workspace with no saved settings see one prompt in this browser: "Pick the country you call in, so Rymi can fill in calling hours, consent and other defaults." Not now remembers the dismissal for that workspace.

A workspace you create with an operating country starts on that country's preset, with nothing marked edited.

What each setting does ​

configured is false until something is saved. Until then the workspace behaves like this: no calling hours, the do-not-call check on, voice consent not required, the recording notice on for new agents, every supported country allowed, and hours and consent left off single calls.

SettingWhat Rymi does with itIndiaUnited StatesUAE, Saudi Arabia, Qatar, Kuwait, Bahrain, Oman
Operating countryFills every setting you have not edited. Studio shows the preview first.
Outbound calling hoursCallee-local window below. null means any hour.09:00 to 21:0008:00 to 21:0009:00 to 21:00
Do-not-call checkChecks this workspace's own do-not-call list before an outbound PSTN call.OnOnOn
Outbound consentThe contact's voice consent must be granted.OnOnOn
Recording notice for new agentsDefault for features.require_consent on agents you create after this, when the create request does not set that field.OnOnOn
Destination countriesWhich supported countries this workspace may call. null means all eight.INUSThat country
Apply hours and consent to single callsExtends hours and consent past batch calls and campaigns. Off on every preset.OffOffOff

Every preset turns the do-not-call check and the recording notice on, requires voice consent, and leaves single calls out.

Calling hours ​

The window is in whole hours, in the callee's local time. A call is inside when the local hour is at least start_hour and less than end_hour. For 09:00 to 21:00, 09:00 is inside and 21:00 is outside.

Rymi picks the clock like this:

  1. The contact's timezone, when it is set and is a real IANA name.
  2. Otherwise, every time zone of the phone number's country. The call is inside when all of them are inside.
  3. When Rymi knows no zone at all, hours allow the call. Destination countries and the platform country list still apply.

India has one zone, Asia/Kolkata. With 09:00 to 21:00, 08:59 IST is outside, 09:00 IST is inside, and 21:00 IST is outside.

The United States uses America/New_York, America/Chicago, America/Denver, America/Phoenix, America/Los_Angeles, America/Anchorage, and Pacific/Honolulu. A contact with no time zone of their own has to be inside the window in all seven. At 13:00 UTC on 9 October 2026, New York is 09:00 and Honolulu is 03:00, so an 08:00 to 21:00 window blocks the call. At 19:00 UTC the same day, New York is 15:00, Honolulu is 09:00, and Anchorage is 11:00, so the call is inside. A contact whose timezone is America/New_York is judged in New York alone.

A bad zone name, such as Asia/Kolkatta, falls back to the country's zones.

Which calls ​

Browser-only calls skip destination countries, the do-not-call check, hours, and consent. The checks below run on PSTN legs.

SettingWhere it applies
Destination countriesEvery outbound PSTN call: POST /v1/calls, add participant, batch and fanout, campaigns, and scheduled callbacks.
Do-not-call checkPOST /v1/calls, add participant, batch and fanout, and campaigns, while the switch is on. A hit is 400 with code dnc_blocked. Campaign follow-up calls and SMS keep their own do-not-call check, including after you turn this switch off. Scheduled callbacks keep their own check too, including when the switch is off. A hit cancels the callback (status cancelled, last_error dnc) instead of returning 400 dnc_blocked.
Calling hoursBatch and fanout. Campaigns that have no calling window of their own. Single calls, add participant, and scheduled callbacks when Apply hours and consent to single calls is on. A batch_id on POST /v1/calls counts as a batch.
Voice consentBatch and fanout. Every campaign claim, while the switch is on. Single calls, add participant, and scheduled callbacks when the single-call switch is on.
Recording noticeNew agents, including agents that take inbound calls. Inbound calls use that notice and skip the hours, consent, destination, and do-not-call gates.

A campaign's own calling window wins. While compliance_policy.calling_window is set, Rymi uses that window for the sweep and for follow-ups. Voice consent is separate: with the workspace switch on, the claim takes members whose voice consent is granted, whether or not the campaign has a window. Members without it stay ready. A campaign policy of voice or all still requires that grant when the workspace switch is off.

Outside the workspace hours, and with no campaign window, the sweep puts the member back to ready for a later pass. Follow-up calls, SMS, WhatsApp, and Telegram wait 15 minutes and try again.

Follow-up calls use the campaign's own consent gate, which blocks a contact whose voice consent is false.

A scheduled callback is a single call. With the single-call switch on, outside_calling_hours or no_voice_consent marks that callback failed.

Voice consent is granted when the contact's consent.voice is true, or an object with granted: true. A missing contact fails the check. Record it with consent on the contact.

The recording notice is the agent's features.require_consent. Without saved settings, a new agent gets require_consent: true (notice on), as before. When the workspace has saved settings, create writes require_consent from the notice setting: true when it is on, false when it is off. A value on the create request wins. Changing the workspace setting leaves agents that already exist. The gateway plays the spoken clip only when recording_enabled is also true (disclosure_required). The clip follows the agent's language. An Indian agent gets the Hindi and English notice that recording already uses. The preset stores on or off, and the language comes from the agent.

Rymi's own guards ignore these settings. A number outside the eight supported countries is still 400 unsupported_country, and rate limits still apply.

Errors ​

A blocked PSTN call answers 422, with error and code:

CodeWhen
destination_not_allowedThe number's country is not in destination_countries. This workspace doesn't call IN. Change it under Settings, Compliance. A number with no country uses "that number" in the same sentence. On a campaign, that member is suppressed.
outside_calling_hoursThe callee is outside the window. It's outside this workspace's calling hours (9:00-21:00) where +919876543210 is.
no_voice_consentVoice consent is not granted. +919876543210 has no recorded voice consent. Add it on the contact, or turn off the consent rule under Settings, Compliance.

The status is 422. Studio signs a session out on 403, so these blocks stay on 422.

Client workspaces ​

A client workspace with no saved settings uses its agency's. inherited_from is the agency's workspace id, and the operating country falls back to the agency's when the client workspace has none saved. Studio says: "These come from your agency's settings. A change here applies to this workspace only." The first save writes a copy on the client workspace. Later edits at the agency stay there.

The client role may read and change these settings. What that role sees in Studio is in Workspaces.

India ​

India's national do-not-call registry (NCPR) can be checked by TRAI-registered telemarketers. The do-not-call check here is this workspace's own list. Import numbers into it from Settings → Compliance, or with the DNC endpoints. TRAI DLT registration is yours.

Billing country ​

Billing country is a different setting, under Settings → Billing. You can change it until the first paid invoice. After that it is locked. See Set billing country.