Svix Blog
Published on

Svix Update September 2021


Cover image

We have made many improvements this month, touching the API, the UI, the libs and much more. Though personally, I'm most excited about our long-in-the-making release of the event type schemas!

Endpoint API

We have made two simple but significant improvements to the endpoint API.

The first one is adding support for custom UIDs. We already supported custom UIDs for both applications and messages; this change adds support for endpoints. Now you can use your own custom unique identifiers to refer to Svix entities interchangeably with automatically generated Svix IDs. For an example of how it's used, please refer to the get endpoint documentation.

The second change is support for setting custom endpoint secrets. For security, Svix signs webhooks using endpoint specific secrets. Under normal circumstances Svix securely generates a secret for you, but in some cases it's beneficial to set your own secret. Well, now you can!

Create Endpoint

Source IP addresses

Your customers may have their endpoints behind a corporate firewall or a NAT which only allows connections from a specific list of IPs. In order for these customers to be able to receive webhooks, you need to let them know which IPs you would be sending webhooks from. We are now making this list public so that you don't need to ask us for it. The list is available in the source IP addresses section of the docs.

Source IP Addresses

New Kotlin library and improved Java error messages

Until now, Kotlin users were using the Svix Java library. It works well with Kotlin, but it wasn't compatible with Kotlin coroutines, so it had to be called from async thread workers. We've now added a new Kotlin lib with async (suspend) support so it works seamlessly with async Kotlin services!

Speaking of Java, we've also improved the error messages in Java to include useful information about the nature of the failures.

Kotlin code example

Many improvements to the app portal and dashboard

Both the Dashboard and the App Portal had several improvements to the look and feel. A personal favorite is the better loading animations and the refresh button on list views. The dashboard has a new "Getting Started" page to help guide new users on what they should think about next even after finishing the onboarding flow. The App Portal now has improved filtering (e.g. by date), inline editing for endpoints, and much more.

App portal date filtering

Postman collection

We have added a new Svix Postman collection to make it easier to interact with the Svix API during development. This is in addition to our libs and the Svix CLI.

This one was actually added two months ago, we just forgot to write about it until now!

Svix postman collection

Event type schemas

This has been in the works for quite a while, though we are happy to finally release the new event type schemas!

With this change, you can now set a JSON Schema for each event type, letting your users know the exact shape of the webhook's payload. We use this to automatically generate the event type catalog for you, as seen in the screenshot below.

Event type catalog

The event type catalog is just the beginning! We are still laying down the groundwork for many exciting changes, and the schemas are an important step in that direction!

We also had to build our own JSON Schema editor, and we couldn't miss a chance to show it off, so here's a screenshot:

Schema editor

Additional changes

We have made many additional improvements that don't fit any of the sections above. We've worked a lot of our internal webhook dispatcher making it more efficient and streamlined, added an environment setting to toggle HTTPS enforcement for endpoint URLs on a per-environment basis, and started sending webhooks for any changes to endpoints (check out the webhooks docs for more information).

Endpoint Created Webhook

Coming next

We have a lot more in the works, and I can't wait to share what we working on! If you have any thoughts or suggestions regarding what we should work on next, please join the Svix Slack and let us know!

This is it for this update, but make sure to follow us on Twitter, Github or RSS for the latest updates for the Svix webhook service, or join the discussion on our community Slack.