Docs / Reference / Reference

Reference

Supported countries, SMS format, security details, and frequently asked questions.

Supported Countries

nudge.sh can deliver SMS notifications to phone numbers in the following countries. If your country is not listed, let us know and we will look into adding it.

Country Code Prefix
United States US +1
Canada CA +1
United Kingdom UK +44
Germany DE +49
France FR +33
Australia AU +61
New Zealand NZ +64
India IN +91
Japan JP +81
South Korea KR +82
Singapore SG +65
Hong Kong HK +852
Taiwan TW +886
Brazil BR +55
Mexico MX +52
Netherlands NL +31
Sweden SE +46
Norway NO +47
Denmark DK +45
Finland FI +358
Ireland IE +353
Austria AT +43
Switzerland CH +41
Belgium BE +32
Italy IT +39
Spain ES +34
Portugal PT +351
Poland PL +48

SMS Message Format

By default, every nudge SMS follows this format:

Default SMS Format
✓ {status} ({duration}) {url}

For example, a nudge with status=deployed and duration=124 would produce:

SMS Preview
✓ Deployed (2m 4s)
nudge.sh/r/k9x2m7
160 character limit

Standard SMS messages are limited to 160 characters. The default format is designed to stay well within this limit. If you use a custom message, keep it under 160 characters or it will be truncated by the carrier.

You can override the default format entirely by passing the message parameter. When message is set, the status and duration fields are ignored in the SMS body:

bash
# Custom message override curl -s https://nudge.sh/$NUDGE_TOKEN \ -d status="done" \ -d message="ML training complete. Accuracy: 97.3%"
SMS Preview
ML training complete. Accuracy: 97.3%
nudge.sh/r/p4w8n1

Security

nudge.sh is designed with security as a priority. Here is how your data is protected:

Measure Details
Token Hashing API tokens are hashed with SHA-256 before storage. The plaintext token is shown once at creation and never stored or retrievable afterward.
Output Encryption Command output sent via the output parameter is encrypted at rest using AES-256. Only the authenticated token holder can view it through the result link.
HTTPS Only All API endpoints enforce HTTPS. Plaintext HTTP requests are rejected. TLS 1.2+ is required for all connections.
No Plaintext Credentials No passwords, tokens, or secrets are stored in plaintext anywhere in the system. All sensitive values are hashed or encrypted before persistence.
Treat your token like a password

Anyone with your API token can send nudges to your phone. Store it in environment variables or a secrets manager -- never commit it to version control.

Frequently Asked Questions

What if my phone is off when a nudge is sent?

SMS messages are queued by the carrier for up to 24 hours. If your phone comes back online within that window, you will receive the message. After 24 hours, undelivered messages are discarded by the carrier.

Can I send nudges to multiple phone numbers?

Each API token is linked to a single verified phone number. To send nudges to multiple phones, create a separate token for each number in your dashboard. You can then use different tokens in different scripts or environments.

Is there a free tier?

Yes. Every new account receives 5 free SMS credits -- no credit card required. This is enough to try nudge.sh with your CI pipeline, cron jobs, or long-running scripts before committing to a paid plan.

What counts as a credit?

One SMS message equals one credit. Each successful call to the /v1/nudge endpoint that results in a delivered SMS consumes one credit, regardless of message length (within the 160 character limit).

Can I use webhooks instead of SMS?

Not yet. Webhook delivery is on the roadmap and coming soon. For now, SMS is the only notification channel. Follow the getting started guide to set up SMS notifications.

Where can I find the full API documentation?

See the API Reference for complete endpoint documentation, including request and response schemas, error codes, and rate limits.