DEV Community

Cover image for Insomnia+Resurface: API Usage Logger plugin
Ramón Márquez
Ramón Márquez

Posted on • Originally published at resurface.io

1

Insomnia+Resurface: API Usage Logger plugin

We have an Insomnia plugin!

It’s no surprise that API design platforms and clients like Insomnia have become part of every developer's toolbox. Being able to create a collection of request templates for specific RESTful endpoints in a matter of seconds, and have them are ready for use with the click of a button is incredibly useful for testing, probing, designing, and even consuming APIs. We added API observability.

We're Insomniacs

Insomnia’s GraphQL support in particular is superb. With integrated schema fetching, auto-complete and linting features, querying GraphQL endpoints has never been easier.

Another great aspect of Insomnia (and the folks at Kong) is their support for Open Source Software, with initiatives such as plugins to extend Insomnia's functionality. With this, and as big fans of OSS ourselves, we decided that it was time Insomnia had yet another feature: A global API system of record.

Design + API Observability

Not a lot of API design tools include observability features, and when they do it is usually part of an enterprise plan (often with a pay-per-request billing model). Currently, Insomnia offers a somewhat hidden feature, which shows past responses for a given request template. However, there is no place where you can quickly explore all the API calls that you've made, regardless of the endpoint. This could be very useful if you're trying to switch environments and compare results between servers. Furthermore, once a request template is deleted, this record is also gone. This can happen when either the individual request or the collection of requests are deleted, or even if any file in the workspace gets corrupted.

Enter Resurface for Insomnia: Your very own API system of record. Resurface logs all the HTTP request-response pairs directly from Insomnia and shows them in a single place where you can explore each one, at any point in time. In addition, Resurface shows hidden errors that you might've missed the first time. Since Resurface works as an append-only database, there is no risk of overwriting or accidentally deleting any individual records. (BTW, OWASP recommends an append-only database for API security.) Resurface runs as a separate containerized solution, so if any Insomnia internal file gets corrupted or accidentally deleted, you will still be able to find all of your records safe and sound in Resurface. This also means that all of it runs locally, on your machine. No data is ever sent to Resurface Labs or anywhere else. The Resurface container is small and it doesn't consume a significant amount of resources.

We are very excited about this, so we've made a little get-started guide over at the Resurface GitHub repo for all the developers, testers, and API designers out there:

GitHub logo resurfaceio / insomnia-plugin

Log API requests and responses made with Insomnia

Resurface Insomnia Plugin

Log API requests and responses made with Insomnia to your own system of record.

Requirements

Set up

  • Go to Insomnia > Preferences > Plugins, type in insomnia-plugin-usage-logger and click Install Plugin.

(Alternatively, check out the manual installation.)

  • Create a new Environment to store the variables used by the logger.

That's it!

Usage

  • Make sure to select the environment you created before (also, make sure the plugin is enabled).
  • Use Insomnia as you would normally.
  • Go to http://localhost:4002 to explore all your logs using the included API Explorer

Happy loggin' 📝

Environment variables

This plugin has access to three environment variables, but only one them is required for the logger to work properly.

All API calls are sent to the database running inside the docker container

The environment variable USAGE_LOGGERS_URL stores this address, which by default should be…

Here's how-to video on installing the Insomnia plugin:

You can also find the plugin on the Insomnia Plugin Hub: API Usage Logger

Happy loggin'

Resurface Lumberjacks

P.S. If you are more on the server-side of things but still a Kong fan, we also got you covered!

See original article here.

API Trace View

How I Cut 22.3 Seconds Off an API Call with Sentry 🕒

Struggling with slow API calls? Dan Mindru walks through how he used Sentry's new Trace View feature to shave off 22.3 seconds from an API call.

Get a practical walkthrough of how to identify bottlenecks, split tasks into multiple parallel tasks, identify slow AI model calls, and more.

Read more →

Top comments (0)

Billboard image

Try REST API Generation for Snowflake

DevOps for Private APIs. Automate the building, securing, and documenting of internal/private REST APIs with built-in enterprise security on bare-metal, VMs, or containers.

  • Auto-generated live APIs mapped from Snowflake database schema
  • Interactive Swagger API documentation
  • Scripting engine to customize your API
  • Built-in role-based access control

Learn more

👋 Kindness is contagious

Engage with a sea of insights in this enlightening article, highly esteemed within the encouraging DEV Community. Programmers of every skill level are invited to participate and enrich our shared knowledge.

A simple "thank you" can uplift someone's spirits. Express your appreciation in the comments section!

On DEV, sharing knowledge smooths our journey and strengthens our community bonds. Found this useful? A brief thank you to the author can mean a lot.

Okay