Exposing endpoints

How to an expose an endpoint via a public URL.

For security reasons, any request sent with the Fetch capability is routed through Canva's backend. This means the only way to test an app's interactions with a backend is to expose the backend via a public URL.

If you don't have the infrastructure for continually deploying a backend, consider the following options:


ngrok is a CLI that exposes a local server via a public URL. It's cross-platform and an account is not required (although a free account has fewer limitations). This is often the simplest and most versatile option.

Some alternatives include:


Glitch is a web-based IDE that automatically deploys as you make changes to the code. This means there's no need to bridge the gap between a local and public server. The server is public by default.

Some alternatives include:


For quick and dirty prototyping, webhook.site makes it trivial to:

  • Get an endpoint up and running.
  • Inspect the incoming requests.

An alternative option is RequestBin.