Update phone numbers via API
You can now update a phone number through the API, including its display name and attached campaign. See the documentation for the update phone number endpoint.
You can now update a phone number through the API, including its display name and attached campaign. See the documentation for the update phone number endpoint.
Accounts can now create and retrieve call signing profile registration status through the API. This means that you can now register so that we can send phone calls on behalf of you and your customers with an A-level STIR/SHAKEN attestation.
This feature is in private beta. Please reach out to support@surge.app or use the in-product chat to contact support and request access.
Inbound vCard attachments now render as contact cards in message views instead of appearing as generic files. The API also has a contact attachment type now to indicate when an attachment is a vCard.
Fixed a race condition that could move delivered messages back to sent. All affected messages have been updated.
Verification requests to reserved 555 numbers (eg +18015551234) now return an immediate validation error instead of failing silently.
Platform admins can now remove team members and cancel pending invites from the Team page.
Usage and invoice calculations now split campaign and phone number pricing, which lowers phone number pricing for accounts with multiple numbers on one campaign. Updated phone number and campaign pricing can be seen on our pricing page.
Surge now blocks sends earlier when the selected sender cannot be used for a destination country, returning an invalid_sender error instead of failing later.
Projects in our SIP trunking private beta can now create their own SIP trunks through the API. SIP trunks support both IP-based and credential-based authentication, and once created you can attach a phone number to a SIP trunk as a call handling method.
This feature is in private beta. Please reach out to support@surge.app or use the in-product chat to contact support and request access.
Previously, if you submitted a campaign to us through either the API or HQ, we would charge you for it. Now we will only bill you for the campaigns that are sent through to the carriers.
We've added optional monthly message limits that cap the number of outbound messages a project can send each month based on its subscription plan. These limits are high enough that most accounts will never see them, but they will prevent unintentional runaway spend or abuse. If you'd like to have the limit lifted for your account, please reach out to support.
You can now release a phone number through the API with the new DELETE /phone_numbers/{phone_number_id} endpoint. See the release phone number endpoint in the documentation for more details.
Fixed an issue where re-purchasing or re-adding a phone number that had previously been released could cause conflicts between the released and active versions of the number.
We've added new API endpoints to streamline onboarding for AI agent platforms. POST /agents/v0/projects provisions a passwordless user, platform, account, and API key in a single call, along with a demo phone verification, and POST /agents/v0/phone_verifications/{verification_id}/checks confirms the SMS verification code to finish setting up a demo participant. See our new skills file for instructions.
Following our undeliverable number detection, projects can now choose to bypass the undeliverable-number check. This is useful if you'd rather attempt delivery to numbers that have previously failed than risk blocking a message that might still get through. Reach out to support to enable this for your project.
In order to prevent abuse through demo numbers, Surge now prepends [SURGE DEMO] at the beginning of any messages sent through the demo number. This way recipients will be able to see that it's a demo message, and demo numbers can't be used for smishing attacks.
We added a new endpoint for listing all of the accounts in your project. See the documentation for the list accounts endpoint for more details.
Projects can now disable public attachment access and require authenticated access for attachment files. This goes hand in hand with our get attachment file endpoint that we shipped last week.
API logs can now be filtered by success or failed status, making it easier to investigate request history.
Queries for our embedded inbox component were optimized, resulting in a 68% reduction in average load time. You should now see much faster page loads and updates.
Saved usage reports now use the pricing plan that was active during the report period instead of always showing current pricing. This should make historical usage reports more accurate.
Phone numbers can now be named, and the name will be visible across the UI, API, and webhook payloads. See the purchase phone number endpoint in the documentation for more details.
While we've had multi-factor auth as an option for a long time, we now have the ability to enforce MFA in projects. If you would like to require MFA for all members of your project, please reach out to support.
A new authenticated API endpoint is available for retrieving attachment files, providing a more secure alternative to public attachment URLs. See the get attachment file endpoint in our documentation for more details.
Surge can now automatically warn and log users out after 15 minutes of inactivity for stronger account security. Please reach out to support if you would like to have this enabled for your account.