Introduction to API Analytics & Search

The API Call Search panel allows you to inspect API calls going over your API. API calls will show up here in almost real-time.

Searching REST API logs

Filters

Search filters are broken into two categories, event filters and user filters.

  1. Event filters enable you to filter by predefined API call attributes such as the request URI, a request HTTP header, or the response status code.
  2. User filters enable you to filter by the event’s associated user such as the user’s name or email.

Besides the Moesif predefined fields, you can also filter on any custom fields that you set as part of the event or user custom metadata.

The Moesif predefined fields are marked with *

Views

You can select different search views such as event stream, heatmap view, time series analysis, segement analysis, and table view via the top right selection.

API Search views

Predefined event fields

Filter Description
Timeframe Timeframe filters by the request.time field of API calls. Input to the filter uses your local computer’s timezone. Similarly, the display time for each API call is converted to your computer’s local time. This is the only required filter
Event Id Each API call is tagged with an event id. If you know the event id (i.e. you printed it in debug logs), you can enter it here.
Auth/Session Token The session token used when making the API call such as the Authorization request header. View identification of users
Elapsed Time (ms) Range filter for the duration of the API call.
Request URI Route Moesif will detect what your URI route/template is from raw URIs. For example, the URI /widgets/12345 will map to a URI route of /widgets/:id
Request HTTP Verb The HTTP Verb or Method such as GET or POST
Request IP Address At the moment, Moesif supports filtering by IPv4 addresses.
Request City, Request Region, Request Country These filters are for the location of the requesting client via geo ip lookup
Request Timezone Timezone of the requesting client via geo IP lookup
API Version If you set an API version using the SDKs, you can filter on version.
User Agent, OS, Device These filters are for the data in the request’s User-Agent header.
Response Code This is the HTTP status code such as 500 or 404
request.headers.[Header Key] You can filter on any HTTP request header such as Content-Type
response.headers.[Header Key] Like request, can filter on any HTTP response header such as Content-Type
metadata.[field key] Custom fields set in the event metadata

Predefined user fields

Filter Description
User Id If you need to bring up API calls for a specific end-user, you can enter the user id here. You should call identifyUser() in the appropriate SDK for this to be accurate.
User Name Filter by associated user’s name after setting it in the user metadata
User Phone Filter by associated user’s phone number after setting it in the user metadata
User Email Filter by associated user’s email after setting it in the user metadata
user.metadata.[field key] Custom fields set in the user metadata

API protocol support

Moesif supports a variety of API protocols including RESTful, GraphQL, and Ethereum Web3 (JSON-RPC) APIs. Please see the documentation for GraphQL Support and JSON-RPC Support for protcol specific features.

Bookmarkable URLs

Moesif persists any active search criteria to the browser window’s URL, so that you can pass your browser tab’s URL to a teammate and they will also see the same filters applied by you without requiring them to re-enter those filter parameters.

Sharing Workspaces

Moesif allows you to select specific data to share with the partners or customers without exposing all your API data. After selecting the relevant data, click on the create shared link button, which will create a new workspace that can be accessed by the publicly accessible link. For more information, view workspace documentation.

Create Shared Link button

Updated: