sent-compliance
Sent Compliance
Use the read-only compliance.requirements and compliance.setup_plan tools before provisioning a dedicated SMS sender. They describe a market; they do not register a sender or mutate a profile.
Resolve the market
Use client-managed OAuth 2.1/PKCE and never request or expose credentials. Resolve country as an ISO 3166-1 alpha-2 code and type as LOCAL, MOBILE, TEN_DLC (or 10DLC), TOLL_FREE, SHORT_CODE, or ALPHANUMERIC. channel defaults to sms; only SMS is supported. Route WhatsApp to waba-embedded-signup and RCS to rcs-agent-onboarding rather than interpreting refusal as no requirements.
The optional profileId selector is available only for an organization's owned profile. Requirements are account-independent; it does not change the market's rules or make the plan target an existing profile.
Interpret requirements and plan
- Call
compliance.requirementsfor the selected market. Preserve required flags, conditional rules, options, item fields, sender pattern, and attachment field names. - Check
hasRegimebefore interpreting an empty requirements list. An empty list with a published regime can mean no fields are demanded;hasRegime: falsemeans no schema is published and is not proof that no compliance is required. - Call
compliance.setup_planwhen the user needs the exact setup call. Itscall.toolissender_profiles.create, with camelCase argument names and null placeholders that must be filled before execution. Do not execute blank values or translate the plan into an invented REST call. - If
canCompleteHereis false, reportblockerandattachments, then hand off document submission to the Sent dashboard or the documented multipart REST workflow. Required uploads cannot be carried through MCP; do not attempt a guaranteed-to-fail create. Optional attachment fields alone do not necessarily block creation. - When setup can proceed, hand the completed plan to
sent-profile-provisioningfor scope validation, required idempotency key, payload preview, and explicit confirmation before creation.
The plan creates a new profile. Adding a market to an existing profile requires the dashboard or REST API. It does not establish approval, readiness, consent, or permission to send.