{
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-08",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "tool": {
    "slug": "aws-end-user-messaging",
    "name": "AWS End User Messaging",
    "vendor": "Amazon Web Services",
    "vendorUrl": "https://aws.amazon.com/end-user-messaging/",
    "kind": "http-api",
    "category": "messaging",
    "summary": "AWS's messaging service for SMS, MMS, RCS, WhatsApp, voice and push, formerly the channel APIs of Amazon Pinpoint. Agents call the SMS and Voice v2 API or the Social Messaging API with IAM-signed requests, through the AWS CLI or SDKs.",
    "url": "https://www.anchorterminal.com/tools/aws-end-user-messaging",
    "markdownUrl": "https://www.anchorterminal.com/tools/aws-end-user-messaging.md",
    "slimMarkdownUrl": "https://www.anchorterminal.com/tools/aws-end-user-messaging.min.md",
    "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/aws-end-user-messaging.json",
    "repo": "https://github.com/aws/api-models-aws",
    "license": "Proprietary service under the AWS Customer Agreement. The AWS SDKs are Apache-2.0",
    "transports": [
      "http"
    ],
    "remoteUrl": "https://sms-voice.us-east-1.amazonaws.com",
    "packages": [
      {
        "registry": "npm",
        "name": "@aws-sdk/client-pinpoint-sms-voice-v2"
      },
      {
        "registry": "npm",
        "name": "@aws-sdk/client-socialmessaging"
      },
      {
        "registry": "pypi",
        "name": "boto3"
      }
    ],
    "auth": "mixed",
    "authNotes": "Requests are signed with AWS Signature Version 4 using IAM credentials, long-lived access keys or temporary credentials from AWS STS. IAM policies use the `sms-voice` action prefix with resource ARNs and condition keys. Access is self-serve with an AWS account, but each Region starts in a sandbox, and production access is granted through an AWS Support case. US numbers need carrier registration, and WhatsApp needs a linked WhatsApp Business Account.",
    "pricing": "usage",
    "pricingNotes": "Pay per message with no monthly minimum. US SMS is $0.00774 a message part plus a $0.00421 carrier fee, UK SMS $0.05, US MMS $0.02 plus $0.01. WhatsApp adds $0.005 per outbound message to Meta's fee. Push is free for the first 1,000,000 notifications a month. There is no SMS free allowance. New AWS customers get up to $200 in Free Tier credits, and AWS says most can sign up without a payment method. The sandbox lets an account send to verified numbers without a contract (https://aws.amazon.com/end-user-messaging/pricing/, https://aws.amazon.com/free/free-tier-faqs/).",
    "priceSummary": "$1 / mo",
    "where": "hosted",
    "x402": {
      "level": "no",
      "evidence": "No x402, MPP or L402 in the user guide index, the API models or the pricing page (checked 2026-10-08).",
      "endpoints": []
    },
    "toolCount": null,
    "popularity": {
      "githubStars": null,
      "npmWeekly": 406900,
      "pypiWeekly": null,
      "asOf": "2026-10-08"
    },
    "docsUrl": "https://docs.aws.amazon.com/sms-voice/latest/userguide/what-is-sms-mms.html",
    "llmsTxt": "https://docs.aws.amazon.com/sms-voice/latest/userguide/llms.txt",
    "capabilities": [
      "messaging.sms",
      "messaging.mms",
      "messaging.whatsapp",
      "messaging.rcs",
      "messaging.verify",
      "messaging.inbound"
    ],
    "tags": [
      "hosted",
      "llms-txt",
      "typescript",
      "python",
      "sms",
      "whatsapp",
      "rcs",
      "enterprise"
    ],
    "lastRelease": "2026-10-06",
    "graded": true,
    "anchor": {
      "graded": true,
      "score": 74.3,
      "grade": "BB",
      "agentReady": true,
      "rank": 64,
      "ranked": true,
      "rankOf": 722,
      "categoryRank": 3,
      "methodology": "0.4",
      "run": "2026-10-01",
      "scores": {
        "ergonomics": 71,
        "maintenance": 85,
        "payments": 30,
        "reliability": 73,
        "schema": 88,
        "security": 88,
        "transparency": 83
      },
      "pending": [
        "performance",
        "tasks"
      ],
      "breakdown": [
        {
          "key": "reliability",
          "name": "Reliability",
          "weight": 16,
          "effectiveWeight": 20,
          "score": 73,
          "points": 14.6,
          "reason": "AWS Health Dashboard with per-service, per-Region history (20). AWS's dashboard history file, read on 8 October, lists AWS End User Messaging in the Middle East (UAE) me-central-1 and Middle East (Bahrain) me-south-1 multi-service events, open since 1 and 2 March 2026 at disruption status. On 15 September 2026, inside the 90-day window, AWS said it can't restore resources and data hosted only in me-south-1 or the mec1-az2 zone. None of the other eleven events since 10 July names the service. One major event, read as the Amazon SES and S3 re-checks read it (10). Quotas page gives 1 request a second for most actions, the send actions included, and the throughput page gives message parts a second by sender type (15). The API model marks ThrottlingException as retryable and 15 create and request actions take a ClientToken, but the send actions take no idempotency token and we found no backoff guidance in the guide pages we read (8). The AWS User Engagement SLA commits 99.9 per cent monthly uptime per Region and names AWS End User Messaging (10). Generally available (10)."
        },
        {
          "key": "performance",
          "name": "Performance",
          "weight": 10,
          "effectiveWeight": 0,
          "pending": true,
          "points": 0,
          "reason": "Pending. Latency is measured per call by our probes, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until the first probe window closes."
        },
        {
          "key": "schema",
          "name": "Schema \u0026 documentation",
          "weight": 13,
          "effectiveWeight": 16.25,
          "score": 88,
          "points": 14.3,
          "reason": "No OpenAPI, but the Smithy models for both APIs are published in aws/api-models-aws, 110 operations for SMS and Voice v2 and 38 for Social Messaging (25). llms.txt for the user guide and the API reference, with Markdown twins of every page (10). The API reference explains each action, and the guide says when to use Notify and when standard sending. Few actions say when not to use them (12 of 20). 69 enumerated types, length limits and patterns on phone numbers and message bodies, required members marked (14 of 15). The guide carries CLI and Python examples and each action lists its errors, but the SendTextMessage reference page has no examples section (12 of 15). Versioned API (2022-03-31) and a dated document history through 22 September 2026 (15)."
        },
        {
          "key": "ergonomics",
          "name": "Agent ergonomics",
          "weight": 13,
          "effectiveWeight": 16.25,
          "score": 71,
          "points": 11.54,
          "reason": "No dedicated MCP server. The AWS MCP Server with the aws-sms-voice skill covers guidance and can run the API calls. Send responses return only a MessageId, and 28 list actions take MaxResults (1 to 100) and NextToken (15 of 25). Describe actions take Filters and resource ID lists (16 of 20). Seven typed errors, with reason codes on conflicts (41 values), validation failures (43, plus the failing fields) and quota errors (28) (18 of 20). ClientToken on 15 create and request actions and DryRun on sends, but no idempotency token on SendTextMessage, SendMediaMessage or SendRcsMessage, so a retried send can go out twice (10 of 20). SendTextMessage requires only the destination number, and SDKs exist in every major language, but every call needs SigV4 and a first send needs a registered sender (12 of 15)."
        },
        {
          "key": "security",
          "name": "Security \u0026 auth",
          "weight": 14,
          "effectiveWeight": 17.5,
          "score": 88,
          "points": 15.4,
          "reason": "IAM with policies per action and resource ARN, service condition keys, temporary credentials and rotation. No secret travels in a URL (30). Policies can allow a single send action on one phone number or pool, and enforced spend limits, protect configurations and deletion protection bound what a credential can do. We found no read-only managed policy for the service and no confirmation step (15 of 20). API responses carry no third-party content. Inbound SMS and RCS go to an SNS topic or Connect Customer, not through API calls (10). CloudTrail logs control-plane calls as management events and the send actions as optional data events, and configuration sets publish per-message events (15). In scope for SOC 1, 2 and 3 (page updated 11 August 2026), with a vulnerability disclosure programme on HackerOne. aws.amazon.com's security.txt expired on 24 September 2026, and we found no paid bug bounty. Read as the Amazon SES re-check read the same evidence (18 of 20)."
        },
        {
          "key": "payments",
          "name": "Payments \u0026 pricing",
          "weight": 10,
          "effectiveWeight": 12.5,
          "score": 30,
          "points": 3.75,
          "reason": "No x402, MPP or L402 (0). Per-message prices by country and channel published without login, with a JSON feed for SMS (20). No SMS free allowance. Push is free for the first 1,000,000 notifications a month, and new AWS customers get up to $200 in Free Tier credits. The Free Tier FAQ says most new customers don't need a payment method, though AWS may still ask for one, so half, as on the Amazon SES re-check (10). A person signs up, and production access needs a support case per Region, so no autonomous route (0)."
        },
        {
          "key": "tasks",
          "name": "Task success",
          "weight": 10,
          "effectiveWeight": 0,
          "pending": true,
          "points": 0,
          "reason": "Pending. Task success needs the category task suites run through each tool, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until then. A data provider's data-quality score is published on its listing now and becomes half of this category when it's scored."
        },
        {
          "key": "maintenance",
          "name": "Maintenance \u0026 community",
          "weight": 7,
          "effectiveWeight": 8.75,
          "score": 85,
          "points": 7.44,
          "reason": "The SMS and Voice v2 model last changed on 2 October 2026, and the JavaScript SDK client shipped 3.1147.0 on 6 October (30). Model changes on 31 August, 8 September and 2 October, and guide changes dated 8, 15 and 22 September (20). Closed service with a dated document history and AWS re:Post. Direct support is a paid plan (10 of 15). Official SDKs released on most working days (15). The JavaScript client needs Node 20 or later and is published from the SDK's release pipeline (10)."
        },
        {
          "key": "transparency",
          "name": "Transparency \u0026 trust",
          "weight": 7,
          "effectiveWeight": 8.75,
          "score": 83,
          "points": 7.26,
          "note": "editorial 70, provenance 95",
          "reason": "Closed service under the AWS Customer Agreement and section 29 of the Service Terms, with Apache-2.0 SDKs (20 of 30). The guide says messages are processed and stored in the Region the customer picks and encrypted at rest with service-owned keys, and both the guide and the sub-processor page say downstream carriers may route messages through other regions. We found no retention period for message data (18 of 30). Amazon Pinpoint's end of support on 30 October 2026 carries a dated notice that says these messaging APIs continue, and the document history dates each change. No general deprecation policy found (15 of 20). The sub-processor page, last updated 28 July 2026, names the entities that sell the service and promises 30 days' notice of new ones, but the downstream carriers are not named (17 of 20)."
        }
      ],
      "assessment": {
        "date": "2026-10-08",
        "basis": "public evidence",
        "confidence": "medium",
        "notes": {
          "ergonomics": "No dedicated MCP server. The AWS MCP Server with the aws-sms-voice skill covers guidance and can run the API calls. Send responses return only a MessageId, and 28 list actions take MaxResults (1 to 100) and NextToken (15 of 25). Describe actions take Filters and resource ID lists (16 of 20). Seven typed errors, with reason codes on conflicts (41 values), validation failures (43, plus the failing fields) and quota errors (28) (18 of 20). ClientToken on 15 create and request actions and DryRun on sends, but no idempotency token on SendTextMessage, SendMediaMessage or SendRcsMessage, so a retried send can go out twice (10 of 20). SendTextMessage requires only the destination number, and SDKs exist in every major language, but every call needs SigV4 and a first send needs a registered sender (12 of 15).",
          "maintenance": "The SMS and Voice v2 model last changed on 2 October 2026, and the JavaScript SDK client shipped 3.1147.0 on 6 October (30). Model changes on 31 August, 8 September and 2 October, and guide changes dated 8, 15 and 22 September (20). Closed service with a dated document history and AWS re:Post. Direct support is a paid plan (10 of 15). Official SDKs released on most working days (15). The JavaScript client needs Node 20 or later and is published from the SDK's release pipeline (10).",
          "payments": "No x402, MPP or L402 (0). Per-message prices by country and channel published without login, with a JSON feed for SMS (20). No SMS free allowance. Push is free for the first 1,000,000 notifications a month, and new AWS customers get up to $200 in Free Tier credits. The Free Tier FAQ says most new customers don't need a payment method, though AWS may still ask for one, so half, as on the Amazon SES re-check (10). A person signs up, and production access needs a support case per Region, so no autonomous route (0).",
          "reliability": "AWS Health Dashboard with per-service, per-Region history (20). AWS's dashboard history file, read on 8 October, lists AWS End User Messaging in the Middle East (UAE) me-central-1 and Middle East (Bahrain) me-south-1 multi-service events, open since 1 and 2 March 2026 at disruption status. On 15 September 2026, inside the 90-day window, AWS said it can't restore resources and data hosted only in me-south-1 or the mec1-az2 zone. None of the other eleven events since 10 July names the service. One major event, read as the Amazon SES and S3 re-checks read it (10). Quotas page gives 1 request a second for most actions, the send actions included, and the throughput page gives message parts a second by sender type (15). The API model marks ThrottlingException as retryable and 15 create and request actions take a ClientToken, but the send actions take no idempotency token and we found no backoff guidance in the guide pages we read (8). The AWS User Engagement SLA commits 99.9 per cent monthly uptime per Region and names AWS End User Messaging (10). Generally available (10).",
          "schema": "No OpenAPI, but the Smithy models for both APIs are published in aws/api-models-aws, 110 operations for SMS and Voice v2 and 38 for Social Messaging (25). llms.txt for the user guide and the API reference, with Markdown twins of every page (10). The API reference explains each action, and the guide says when to use Notify and when standard sending. Few actions say when not to use them (12 of 20). 69 enumerated types, length limits and patterns on phone numbers and message bodies, required members marked (14 of 15). The guide carries CLI and Python examples and each action lists its errors, but the SendTextMessage reference page has no examples section (12 of 15). Versioned API (2022-03-31) and a dated document history through 22 September 2026 (15).",
          "security": "IAM with policies per action and resource ARN, service condition keys, temporary credentials and rotation. No secret travels in a URL (30). Policies can allow a single send action on one phone number or pool, and enforced spend limits, protect configurations and deletion protection bound what a credential can do. We found no read-only managed policy for the service and no confirmation step (15 of 20). API responses carry no third-party content. Inbound SMS and RCS go to an SNS topic or Connect Customer, not through API calls (10). CloudTrail logs control-plane calls as management events and the send actions as optional data events, and configuration sets publish per-message events (15). In scope for SOC 1, 2 and 3 (page updated 11 August 2026), with a vulnerability disclosure programme on HackerOne. aws.amazon.com's security.txt expired on 24 September 2026, and we found no paid bug bounty. Read as the Amazon SES re-check read the same evidence (18 of 20).",
          "transparency": "Closed service under the AWS Customer Agreement and section 29 of the Service Terms, with Apache-2.0 SDKs (20 of 30). The guide says messages are processed and stored in the Region the customer picks and encrypted at rest with service-owned keys, and both the guide and the sub-processor page say downstream carriers may route messages through other regions. We found no retention period for message data (18 of 30). Amazon Pinpoint's end of support on 30 October 2026 carries a dated notice that says these messaging APIs continue, and the document history dates each change. No general deprecation policy found (15 of 20). The sub-processor page, last updated 28 July 2026, names the entities that sell the service and promises 30 days' notice of new ones, but the downstream carriers are not named (17 of 20)."
        },
        "sources": [
          {
            "what": "user guide index (llms.txt)",
            "url": "https://docs.aws.amazon.com/sms-voice/latest/userguide/llms.txt",
            "seen": "2026-10-08"
          },
          {
            "what": "agent setup guide",
            "url": "https://docs.aws.amazon.com/sms-voice/latest/userguide/agent-setup-guide.md",
            "seen": "2026-10-08"
          },
          {
            "what": "quotas",
            "url": "https://docs.aws.amazon.com/sms-voice/latest/userguide/quotas.md",
            "seen": "2026-10-08"
          },
          {
            "what": "throughput limits",
            "url": "https://docs.aws.amazon.com/sms-voice/latest/userguide/sms-limitations-mps.md",
            "seen": "2026-10-08"
          },
          {
            "what": "sandbox",
            "url": "https://docs.aws.amazon.com/sms-voice/latest/userguide/sandbox.md",
            "seen": "2026-10-08"
          },
          {
            "what": "document history",
            "url": "https://docs.aws.amazon.com/sms-voice/latest/userguide/doc-history.md",
            "seen": "2026-10-08"
          },
          {
            "what": "Notify overview and tiers",
            "url": "https://docs.aws.amazon.com/sms-voice/latest/userguide/notify-tiers.md",
            "seen": "2026-10-08"
          },
          {
            "what": "IAM support",
            "url": "https://docs.aws.amazon.com/sms-voice/latest/userguide/security_iam_service-with-iam.md",
            "seen": "2026-10-08"
          },
          {
            "what": "CloudTrail logging",
            "url": "https://docs.aws.amazon.com/sms-voice/latest/userguide/logging-using-cloudtrail.md",
            "seen": "2026-10-08"
          },
          {
            "what": "data protection",
            "url": "https://docs.aws.amazon.com/sms-voice/latest/userguide/data-protection.md",
            "seen": "2026-10-08"
          },
          {
            "what": "SendTextMessage reference",
            "url": "https://docs.aws.amazon.com/pinpoint/latest/apireference_smsvoicev2/API_SendTextMessage.html",
            "seen": "2026-10-08"
          },
          {
            "what": "Smithy models for pinpoint-sms-voice-v2 and socialmessaging (cloned)",
            "url": "https://github.com/aws/api-models-aws",
            "seen": "2026-10-08"
          },
          {
            "what": "pricing",
            "url": "https://aws.amazon.com/end-user-messaging/pricing/",
            "seen": "2026-10-08"
          },
          {
            "what": "SMS outbound price feed",
            "url": "https://s3.amazonaws.com/aws-messaging-pricing-information/TextMessageOutbound/prices.json",
            "seen": "2026-10-08"
          },
          {
            "what": "AWS User Engagement SLA",
            "url": "https://aws.amazon.com/pinpoint/sla/",
            "seen": "2026-10-08"
          },
          {
            "what": "health dashboard history file",
            "url": "https://history-events-us-east-1-prod.s3.amazonaws.com/historyevents.json",
            "seen": "2026-10-08"
          },
          {
            "what": "health dashboard current events",
            "url": "https://health.aws.amazon.com/public/currentevents",
            "seen": "2026-10-08"
          },
          {
            "what": "Free Tier FAQ",
            "url": "https://aws.amazon.com/free/free-tier-faqs/",
            "seen": "2026-10-08"
          },
          {
            "what": "AWS Service Terms, section 29",
            "url": "https://aws.amazon.com/service-terms/",
            "seen": "2026-10-08"
          },
          {
            "what": "AWS Customer Agreement",
            "url": "https://aws.amazon.com/agreement/",
            "seen": "2026-10-08"
          },
          {
            "what": "privacy notice",
            "url": "https://aws.amazon.com/privacy/",
            "seen": "2026-10-08"
          },
          {
            "what": "sub-processors",
            "url": "https://aws.amazon.com/compliance/sub-processors/",
            "seen": "2026-10-08"
          },
          {
            "what": "SOC services in scope",
            "url": "https://aws.amazon.com/compliance/services-in-scope/SOC/",
            "seen": "2026-10-08"
          },
          {
            "what": "security.txt",
            "url": "https://aws.amazon.com/.well-known/security.txt",
            "seen": "2026-10-08"
          },
          {
            "what": "vulnerability reporting",
            "url": "https://aws.amazon.com/security/vulnerability-reporting/",
            "seen": "2026-10-08"
          },
          {
            "what": "Amazon Pinpoint end of support",
            "url": "https://docs.aws.amazon.com/pinpoint/latest/userguide/migrate.md",
            "seen": "2026-10-08"
          },
          {
            "what": "npm package and weekly downloads",
            "url": "https://registry.npmjs.org/@aws-sdk/client-pinpoint-sms-voice-v2",
            "seen": "2026-10-08"
          },
          {
            "what": "RDAP for amazonaws.com",
            "url": "https://rdap.verisign.com/com/v1/domain/amazonaws.com",
            "seen": "2026-10-08"
          }
        ],
        "openQuestions": [
          "unchecked: the status of the aws-sms-voice skill in the aws/agent-toolkit-for-aws repository. We read the guide page only and did not clone the repository.",
          "unchecked: the Social Messaging (WhatsApp) user guide beyond its overview page and API model. Quotas, sandbox rules and inbound handling for WhatsApp were not read.",
          "unchecked: the service-specific IAM condition keys in the service authorisation reference, which the guide links to.",
          "No retention period for message content or event data was found in the pages read.",
          "The pricing page still describes a one-time password check at $0.045 per successful verification, which belongs to the older Amazon Pinpoint API. We did not confirm how it relates to Notify.",
          "The lead described SMS, MMS and RCS only. The product also covers WhatsApp through a separate API, voice and push."
        ]
      },
      "negative": 0,
      "verdict": "IAM policies limit a credential to single actions and resources, CloudTrail can log every send, and enforced monthly spend limits cap cost. New accounts start in a sandbox with a $1 monthly SMS limit and ten verified recipients, production access needs a support case per Region, and the send actions take no idempotency token.",
      "bestFor": "Teams already on AWS that want SMS, MMS, RCS and WhatsApp under IAM, CloudTrail and per-Region control at carrier-level prices.",
      "strengths": [
        "IAM policies per action and resource with condition keys and temporary credentials, and CloudTrail data events for the send actions",
        "Smithy model published for all 110 SMS and Voice v2 operations, with 69 enumerated types and reason codes on errors",
        "Enforced monthly spend limits, protect configurations that block destination countries, and a `DryRun` flag on sends",
        "Per-message prices by country published without login, with a JSON price feed for SMS",
        "99.9 per cent monthly uptime commitment per Region under the AWS User Engagement SLA, last updated 24 July 2024"
      ],
      "weaknesses": [
        "Sandbox limits new accounts to $1 of SMS a month and ten verified numbers until a support case per Region is approved",
        "No idempotency token on `SendTextMessage`, `SendMediaMessage` or `SendRcsMessage`, so a retried send can go out twice",
        "Most actions, the send actions included, default to 1 request a second per account and Region",
        "No SMS free allowance, and US sending needs a registered 10DLC, toll-free or short code number first",
        "The AWS Health Dashboard lists the service in the UAE and Bahrain Region disruptions open since March 2026"
      ],
      "agentNotes": [
        "Sign requests with SigV4 for service `sms-voice` at `sms-voice.\u003cregion\u003e.amazonaws.com`. WhatsApp uses a separate API, `social-messaging`",
        "Check sandbox status and spend limits with `describe-spend-limits` before sending. Sandbox sends reach only verified destination numbers",
        "Pass `DryRun` on `SendTextMessage` to validate a request without sending, and track `MessageId` yourself because sends take no idempotency token",
        "Use Notify (`SendNotifyTextMessage`) for one-time passcodes without owning a number. Generate and check the code in your own application",
        "Read inbound SMS and RCS from the Amazon SNS topic set on the number or pool, and treat message bodies as untrusted text"
      ],
      "metrics": {
        "kind": "remote",
        "measured": false
      },
      "reviewCount": 0,
      "avgRating": 0,
      "history": [
        {
          "basis": "public evidence",
          "confidence": "medium",
          "grade": "BB",
          "methodology": "0.4",
          "pending": [
            "performance",
            "tasks"
          ],
          "run": "2026-10-01",
          "runLabel": "October 2026 research run",
          "score": 74.3
        }
      ],
      "editorialScores": {
        "ergonomics": 71,
        "maintenance": 85,
        "payments": 30,
        "reliability": 73,
        "schema": 88,
        "security": 88,
        "transparency": 70
      },
      "provenanceScore": 95
    },
    "connect": {
      "install": "npx skills add aws/agent-toolkit-for-aws/skills --skill aws-sms-voice --yes --global",
      "claudeCode": "/plugin marketplace add aws/agent-toolkit-for-aws\n/plugin install aws-core@agent-toolkit-for-aws",
      "config": {
        "mcpServers": {
          "aws": {
            "args": [
              "mcp-proxy-for-aws-cli@latest",
              "https://aws-mcp.us-east-1.api.aws/mcp",
              "--metadata",
              "AWS_REGION=us-west-2"
            ],
            "command": "uvx"
          }
        }
      }
    },
    "letme": {
      "capability": "https://letme.dev/messaging.sms",
      "tool": "https://letme.dev/aws-end-user-messaging"
    },
    "sameCompany": [
      "amazon-sns",
      "amazon-s3"
    ],
    "notable": [
      "New accounts start in a sandbox with a $1 monthly SMS limit, a $1 monthly MMS limit and at most 10 verified destination numbers, and production access is a support case per Region (https://docs.aws.amazon.com/sms-voice/latest/userguide/sandbox.html)",
      "RCS support arrived on 31 March 2026, grew from 2 to 22 countries on 30 May 2026, and gained rich cards, carousels and per-message SMS or MMS fallback on 30 June 2026 (https://docs.aws.amazon.com/sms-voice/latest/userguide/doc-history.html)",
      "Notify, added on 31 March 2026, sends templated one-time passcodes from AWS-managed numbers with no registration. Its Basic tier allows 200 messages a day at 1 a second (https://docs.aws.amazon.com/sms-voice/latest/userguide/notify-tiers.html)",
      "AWS publishes an `aws-sms-voice` agent skill used through the AWS MCP Server, added to the guide on 22 September 2026. Its paths that reach a real message are RCS and Notify (https://docs.aws.amazon.com/sms-voice/latest/userguide/agent-setup-guide.html)",
      "WhatsApp runs through a separate API, AWS End User Messaging Social (`social-messaging`, 38 operations), billed at $0.005 per outbound message plus Meta's fee (https://aws.amazon.com/end-user-messaging/pricing/)",
      "Amazon Pinpoint ends on 30 October 2026. AWS says the SMS, voice, push, OTP and phone number validation APIs continue under AWS End User Messaging (https://docs.aws.amazon.com/pinpoint/latest/userguide/migrate.html)",
      "AWS's Health Dashboard lists AWS End User Messaging in the Middle East (UAE) me-central-1 and (Bahrain) me-south-1 disruptions open since March 2026. On 15 September 2026 AWS said it can't restore data hosted only in me-south-1 or the mec1-az2 zone (https://health.aws.amazon.com/health/status)"
    ],
    "area": "communication",
    "details": [
      {
        "label": "APIs",
        "value": "SMS and Voice v2 (`pinpoint-sms-voice-v2`, version 2022-03-31, 110 operations, awsJson1_0) for SMS, MMS, RCS, voice and Notify. Social Messaging (`socialmessaging`, version 2024-01-01, 38 operations, restJson1) for WhatsApp"
      },
      {
        "label": "Endpoint",
        "value": "`sms-voice.\u003cregion\u003e.amazonaws.com`, with FIPS endpoints in US Regions. The guide counts 32 AWS Regions for the v2 API"
      },
      {
        "label": "Sandbox",
        "value": "Per Region. $1 a month each for SMS and MMS, sends only to verified destination numbers (up to 10), until a support case moves the account to production"
      },
      {
        "label": "Rate limits",
        "value": "1 request a second by default for most API actions, the send actions included, raised on request. Throughput by sender type, 100 message parts a second on a US short code, 3 on a US toll-free number, 10 on long codes outside North America"
      },
      {
        "label": "Registration",
        "value": "US sending needs a registered 10DLC, toll-free or short code number. The guide's estimates for other countries run from 15 days to 12 weeks"
      },
      {
        "label": "Inbound",
        "value": "Two-way SMS and inbound RCS go to an Amazon SNS topic or to Connect Customer. Two-way MMS is not supported, and sender IDs can't receive"
      },
      {
        "label": "Notify",
        "value": "Templated one-time passcodes by SMS or voice from AWS-managed numbers. Basic tier 200 messages a day, 1 a second, 30 countries. $0.045 a message for the first 25,000 a month plus the channel fee"
      },
      {
        "label": "Testing",
        "value": "Simulator destination numbers for success and failure events in several countries, a US simulator origination number at $1 a month, and `DryRun` on send actions"
      },
      {
        "label": "Spend controls",
        "value": "Account and enforced monthly spend limits per channel, protect configurations to allow, block, monitor or filter by destination country, `MaxPrice` per message"
      },
      {
        "label": "Audit",
        "value": "CloudTrail management events for control-plane calls and optional data events for `SendTextMessage`, `SendVoiceMessage`, `SendMediaMessage` and the Notify sends. Message events to CloudWatch, Data Firehose, SNS or EventBridge"
      },
      {
        "label": "Agent tooling",
        "value": "`aws-sms-voice` skill through the AWS MCP Server (`aws-core` plugin for Claude Code, Codex and Cursor). No dedicated MCP server for the service"
      },
      {
        "label": "SLA",
        "value": "AWS User Engagement SLA, 99.9 per cent monthly uptime per Region, credits of 10, 25 or 100 per cent"
      },
      {
        "label": "Compliance",
        "value": "Amazon Pinpoint and End User Messaging are in scope for SOC 1, 2 and 3 (page updated 11 August 2026)"
      }
    ],
    "unitPrices": [
      {
        "item": "SMS outbound, US",
        "unit": "message",
        "usd": 0.00774,
        "note": "per message part, plus a carrier fee of $0.00421 on 10DLC and toll-free"
      },
      {
        "item": "SMS outbound, UK",
        "unit": "message",
        "usd": 0.05,
        "note": "per message part"
      },
      {
        "item": "MMS outbound, US",
        "unit": "message",
        "usd": 0.02,
        "note": "plus a $0.01 carrier fee"
      },
      {
        "item": "RCS Rich outbound, US",
        "unit": "message",
        "usd": 0.007,
        "note": "per 160-byte segment, plus a $0.00494 carrier fee, charged on delivery"
      },
      {
        "item": "WhatsApp AWS fee, outbound",
        "unit": "message",
        "usd": 0.005,
        "note": "Meta's message fee extra. Inbound $0.001"
      },
      {
        "item": "Notify fee",
        "unit": "message",
        "usd": 0.045,
        "note": "first 25,000 a month, plus the channel fee"
      },
      {
        "item": "10DLC phone number, US",
        "unit": "month",
        "usd": 1,
        "note": "plus $10 a month per regular campaign and one-time company fees"
      },
      {
        "item": "Toll-free phone number, US",
        "unit": "month",
        "usd": 2
      },
      {
        "item": "Carrier lookup",
        "unit": "call",
        "usd": 0.006,
        "note": "per phone number validation request"
      }
    ],
    "provenance": {
      "legalEntity": "Amazon Web Services, Inc.",
      "domain": "amazonaws.com",
      "domainRegistered": "2005-08-18",
      "endpointOnVendorDomain": true,
      "terms": "https://aws.amazon.com/agreement/",
      "privacy": "https://aws.amazon.com/privacy/",
      "statusPage": "https://health.aws.amazon.com/health/status",
      "changelog": "https://docs.aws.amazon.com/sms-voice/latest/userguide/doc-history.html",
      "securityTxt": "expired",
      "checked": "2026-10-08",
      "notes": [
        "The AWS Customer Agreement (last updated 14 August 2026) names Amazon Web Services, Inc., 410 Terry Avenue North, Seattle, as the contracting party for countries not listed in its table, with other AWS entities by account country.",
        "Section 29 of the AWS Service Terms (last updated 1 October 2026) adds terms for Amazon Pinpoint and AWS End User Messaging, and says AMCS LLC sells parts of the service in Japan and AMCS SG Private Limited in Singapore (https://aws.amazon.com/service-terms/).",
        "The AWS Privacy Notice (last updated 18 May 2026) says it does not apply to content customers process with AWS services, which the agreement governs.",
        "https://aws.amazon.com/.well-known/security.txt carries Expires 2026-09-24T16:25:03Z, so it had expired on 8 October 2026.",
        "RDAP for amazonaws.com gives a registration date of 2005-08-18. The API answers at sms-voice.\u003cregion\u003e.amazonaws.com, while product and legal pages sit on aws.amazon.com."
      ],
      "score": 95,
      "checks": [
        {
          "check": "Legal entity named",
          "value": "Amazon Web Services, Inc.",
          "points": 20,
          "max": 20,
          "state": "ok"
        },
        {
          "check": "Domain age",
          "value": "amazonaws.com, registered 2005-08-18 (21 years)",
          "points": 15,
          "max": 15,
          "state": "ok"
        },
        {
          "check": "Endpoint on the vendor's domain",
          "value": "sms-voice.us-east-1.amazonaws.com",
          "points": 15,
          "max": 15,
          "state": "ok"
        },
        {
          "check": "Terms of service",
          "value": "read, states 7 of the 7 things a reader expects",
          "points": 10,
          "max": 10,
          "state": "ok"
        },
        {
          "check": "Privacy policy",
          "value": "read, states 8 of the 8 things a reader expects",
          "points": 10,
          "max": 10,
          "state": "ok"
        },
        {
          "check": "Status page",
          "value": "health.aws.amazon.com/health/status",
          "points": 10,
          "max": 10,
          "state": "ok"
        },
        {
          "check": "Changelog",
          "value": "published",
          "points": 10,
          "max": 10,
          "state": "ok"
        },
        {
          "check": "security.txt",
          "value": "published but past its Expires date",
          "points": 5,
          "max": 10,
          "state": "part"
        }
      ],
      "policies": [
        {
          "kind": "terms",
          "url": "https://aws.amazon.com/agreement/",
          "state": "read",
          "readAt": "2026-10-08",
          "statedDate": "2026-08-14",
          "words": 10799,
          "points": 10,
          "max": 10,
          "expected": [
            {
              "key": "terms.date",
              "label": "Gives the date it was last updated",
              "found": true,
              "quote": "Last Updated: August 14, 2026",
              "says": "Last updated 2026-08-14"
            },
            {
              "key": "terms.law",
              "label": "Names the governing law or courts",
              "found": true,
              "quote": "The laws of the Province of Ontario, Canada and federal laws of Canada applicable therein",
              "says": "The law of the Province of Ontario"
            },
            {
              "key": "terms.liability",
              "label": "States a limit on its liability",
              "found": true,
              "quote": "…UNDER THIS AGREEMENT OF EITHER AWS OR YOU, AND ANY OF OUR RESPECTIVE AFFILIATES OR LICENSORS, WILL NOT EXCEED THE AMOUNTS PAID BY YOU TO AWS UNDER THIS AGREEMENT FOR THE SERVICES THAT GAVE RISE TO THE LIABILITY DURING THE 12 MONTHS BEFORE THE LIABILITY AROSE;",
              "says": "Capped at the fees paid in the 12 months before the claim"
            },
            {
              "key": "terms.termination",
              "label": "Says how the agreement or account can be ended",
              "found": true,
              "quote": "If you become aware of any violation of your obligations under this Agreement caused by an End User, you will immediately suspend access to Your Content and the Services by such End User."
            },
            {
              "key": "terms.changes",
              "label": "Says how changes to the terms are announced",
              "found": true,
              "quote": "We may change, discontinue or add Service Level Agreements, provided, however, that we will provide at least 90 days’ advance notice for adverse changes to any Service Level Agreement.",
              "says": "Gives 90 days of notice before a change"
            },
            {
              "key": "terms.use",
              "label": "Lists what users may not do",
              "found": true,
              "quote": "AWS log-in credentials and private keys generated by the Services are for your internal use only and you will not sell, transfer or sublicense them to any other entity or person, except that you may disclose your private key to your agents and subcontractors performing work on your behalf."
            },
            {
              "key": "terms.sla",
              "label": "Refers to a service level or uptime commitment",
              "found": true,
              "quote": "Service Level Agreements and Service Terms apply to certain Services."
            }
          ],
          "toKnow": [
            {
              "key": "terms.cutoff",
              "label": "Says access can be ended without notice or for any reason",
              "found": true,
              "quote": "We may terminate this Agreement for any reason by providing you at least 30 days’ advance notice."
            },
            {
              "key": "terms.arbitration",
              "label": "Requires arbitration or waives class actions",
              "found": true,
              "quote": "Disputes will be resolved by binding arbitration, rather than in court, except that either party may elect to proceed in small claims court if your claims qualify."
            }
          ],
          "notes": [
            {
              "date": "2026-10-08",
              "text": "AWS may raise fees or add new fees for services already in use on 30 days' notice.",
              "quote": "We may increase or add new fees and charges for any existing Services you are using by giving you at least 30 days’ prior notice."
            },
            {
              "date": "2026-10-08",
              "text": "For 30 days after termination the customer may retrieve its content only if all amounts due are paid. This period does not apply when AWS terminates under Section 5.2(b).",
              "quote": "(ii) we will allow you to retrieve Your Content from the Services only if you have paid all amounts due under this Agreement."
            },
            {
              "date": "2026-10-08",
              "text": "The customer may not issue a press release or other public communication about the agreement or its use of AWS services.",
              "quote": "You will not issue any press release or make any other public communication with respect to this Agreement or your use of the Services or AWS Content."
            }
          ]
        },
        {
          "kind": "privacy",
          "url": "https://aws.amazon.com/privacy/",
          "state": "read",
          "readAt": "2026-10-08",
          "statedDate": "2026-05-18",
          "words": 8790,
          "points": 10,
          "max": 10,
          "expected": [
            {
              "key": "privacy.date",
              "label": "Gives the date it was last updated",
              "found": true,
              "quote": "Last Updated: May 18, 2026",
              "says": "Last updated 2026-05-18"
            },
            {
              "key": "privacy.collected",
              "label": "Says what personal data is collected",
              "found": true,
              "quote": "This Privacy Notice describes how we collect and use your personal information in relation to AWS websites, applications, products, services, events, and experiences that reference this Privacy Notice (together, “AWS Offerings”)."
            },
            {
              "key": "privacy.retention",
              "label": "Says how long data is kept",
              "found": true,
              "quote": "We keep your personal information to enable your continued use of AWS Offerings, for as long as it is required in order to fulfill the relevant purposes described in this Privacy Notice, as may be required by law (including for tax and accounting purposes), or as otherwise communicated to you.",
              "says": "For as long as needed, with no period named"
            },
            {
              "key": "privacy.processors",
              "label": "Says who else receives the data",
              "found": true,
              "quote": "Information from Other Sources: We might collect information about you from other sources, including service providers, partners, and publicly available sources."
            },
            {
              "key": "privacy.sale",
              "label": "Says whether personal data is sold or shared for advertising",
              "found": true,
              "quote": "Information about our customers is an important part of our business and we are not in the business of selling our customers’ personal information to others."
            },
            {
              "key": "privacy.rights",
              "label": "Says what rights people have over their data",
              "found": true,
              "quote": "Additionally, you may have the right to opt out of the processing of your personal data for cross-context behavioral advertising (also referred to as targeted advertising under certain state privacy laws)."
            },
            {
              "key": "privacy.contact",
              "label": "Gives a privacy contact",
              "found": true,
              "quote": "We provide additional information about our controllers and data protection officers (as applicable), the privacy, collection, and use of personal information of prospective and current customers of AWS Offerings located in certain jurisdictions.",
              "says": "Names a data protection officer"
            },
            {
              "key": "privacy.transfers",
              "label": "Says where data is transferred or stored",
              "found": true,
              "quote": "EU-US Data Privacy Framework, UK Extension, and Swiss-US Data Privacy Framework",
              "says": "Relies on the Data Privacy Framework"
            }
          ],
          "toKnow": [
            {
              "key": "privacy.sells",
              "label": "Says it sells personal data or shares it for advertising",
              "found": true,
              "quote": "To help you receive more useful and relevant ads on other sites and services and to measure their effectiveness, AWS shares limited personal information with our advertising partners."
            }
          ],
          "notes": [
            {
              "date": "2026-10-08",
              "text": "The notice does not cover content that customers process, store or host on AWS. It refers to the customer agreement for how that content is handled.",
              "quote": "This Privacy Notice does not apply to the “content” processed, stored, or hosted by our customers using AWS Offerings in connection with an AWS account."
            }
          ]
        }
      ]
    },
    "pageJsonUrl": "https://www.anchorterminal.com/tools/aws-end-user-messaging.json",
    "live": {
      "slug": "aws-end-user-messaging",
      "probe": {
        "target": "https://sms-voice.us-east-1.amazonaws.com",
        "method": "get",
        "lastAt": "2026-10-08T21:53:16.166855379Z",
        "lastOk": true,
        "lastStatus": 404,
        "lastMs": 253,
        "authRequired": false,
        "uptime24h": 100,
        "uptime30d": 100,
        "p50ms24h": 257,
        "p95ms24h": 291,
        "samples24h": 28,
        "samples30d": 28,
        "days": [
          {
            "date": "2026-10-08",
            "probes": 28,
            "ok": 28
          }
        ]
      },
      "updatedAt": "2026-10-08T21:53:16.166855379Z"
    }
  }
}
