> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.pinnacle.sh/v-2/quickstart/sms/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.pinnacle.sh/_mcp/server. # Getting started with SMS > Sending your first SMS message ## 1. Get a number First, [sign up](https://app.pinnacle.sh/auth/sign-up) for an account. To get started with testing, obtain a free sandbox number by navigating to **Development > Sandbox numbers** in the left sidebar. > **Note** > > You can purchase production numbers later when you're ready to go live ![Get a number](https://server.trypinnacle.app/storage/v1/object/sign/vault/3/74609dd7-a565-4cfd-9d08-c051334ee1bc/7afa2262ef49fbb3c5a5df627d8051c3.png?token=eyJraWQiOiJzdG9yYWdlLXVybC1zaWduaW5nLWtleV9hOGI0YTI0NC00NzY4LTRhOTktYWI4MS1iNmZhNTZhNGQyZWYiLCJhbGciOiJIUzI1NiJ9.eyJ1cmwiOiJ2YXVsdC8zLzc0NjA5ZGQ3LWE1NjUtNGNmZC05ZDA4LWMwNTEzMzRlZTFiYy83YWZhMjI2MmVmNDlmYmIzYzVhNWRmNjI3ZDgwNTFjMy5wbmciLCJpYXQiOjE3NjA3MzI1ODgsImV4cCI6MzE3MTIwNzMyNTg4fQ.9imj3zVIYLbWP8Zf_X8lzirA0Cw2pipxa48UrzAUqG8) Click **Get number** and enter a phone number to whitelist—for security purposes, sandbox numbers can only send messages to whitelisted numbers. After clicking **Get number**, you'll see a card displaying your new sandbox number. Click the phone icon on the right side of the card, then select the smartphone icon and enter the 4-digit PIN that was texted to your device. Once verified, you can copy your sandbox number by hovering over it on the card. ## 2. Get credentials Navigate to **Development > API Keys** and click **Create API Key**. Give your key a descriptive name, then click **Create**. Once generated, copy your new API key and store it securely. ## 3. Select a language ### SDK Guides #### [Python](/quickstart/sms/python) #### [TypeScript](/quickstart/sms/typescript) #### [Ruby](/quickstart/sms/ruby) > One API for RCS, iMessage, MMS, and SMS. Build, test, and scale every channel — send your first message in minutes, not weeks. ## Docs - [Python SDK Quickstart](https://docs.pinnacle.sh/quickstart/sms/python.md): Learn how to send and receive your first SMS - [Sending SMS Messages](https://docs.pinnacle.sh/quickstart/sms/python/send.md): Sending your first SMS with Pinnacle's Python SDK - [Receiving SMS Messages](https://docs.pinnacle.sh/quickstart/sms/python/receive.md): Receiving your first SMS with Pinnacle's Python SDK - [TypeScript SDK Quickstart](https://docs.pinnacle.sh/quickstart/sms/typescript.md): Learn how to send and receive your first SMS - [Sending SMS Messages](https://docs.pinnacle.sh/quickstart/sms/typescript/send.md): Sending your first SMS with Pinnacle's TypeScript SDK - [Receiving SMS Messages](https://docs.pinnacle.sh/quickstart/sms/typescript/receive.md): Receiving your first SMS with Pinnacle's TypeScript SDK - [Ruby SDK Quickstart](https://docs.pinnacle.sh/quickstart/sms/ruby.md): Learn how to send and receive your first SMS - [Sending SMS Messages](https://docs.pinnacle.sh/quickstart/sms/ruby/send.md): Sending your first SMS with Pinnacle's Ruby SDK - [Receiving SMS Messages](https://docs.pinnacle.sh/quickstart/sms/ruby/receive.md): Receiving your first SMS with Pinnacle's Ruby SDK