Activity Log
The Activity Log shows your most recent traffic in real time. Use it to debug individual calls, check response codes, and verify that a new integration is working.
Product
The page opens on a Product switch: API for the requests you send to the API endpoints, Proxy for the tunnels your own tools open through proxy.foura.ai. Both feeds cover the last hour, and both take the same limit selector. The switch is remembered and deep-linkable as #activity/proxy.
The rest of this page describes the API feed first, then the Proxy feed.
What You'll See on the API Feed
The log displays requests made within the last hour, with the most recent at the top. Nine columns carry the whole row:
| Column | What it shows |
|---|---|
| Time | When the request was made |
| Key | Which API key was used |
| Request | The call itself: a colored endpoint mark (Single, Proxy, Browser, or Auto), the HTTP method, and the target domain. Sorts by domain. |
| Status | Two values in one cell, separated by a slash: the HTTP status of your call to FourA, then the status the target returned. A dash means the target never answered. |
| Outcome | Request classification (Success, Client Error, Rate Limited, and so on) |
| Duration | Total response time in milliseconds |
| Bytes | Transfer both ways in one cell: down arrow for the request payload, up arrow for the response. A row that used premium traffic carries a premium mark on this cell, including one where a premium exit was tried and the standard pool answered; that traffic counts toward your premium traffic. |
| Credits | Credits spent on the call (see Response Headers) |
| Client IP | The address that made the request. Requests sent from the Playground or FourA's hosted MCP show FourA instead of an address. |
Click any column header to sort the table by that column; direction cycles descending, ascending, then off. Ctrl or Cmd click resets to the default (newest first).
Filtering
Four controls narrow the log.
By Owner
If you belong to at least one organization, an Owner dropdown appears first: Everything, Personal, or one of your organizations. Changing it rebuilds the key dropdown next to it, so a key belonging to the previous owner can't survive the switch and silently return nothing. The same control on Overview, Metrics, and API Keys follows your choice. See Organizations.
By API Key
Use the API key dropdown to show requests from one key. Only keys you have access to appear: your personal keys and the keys of organizations you belong to.
By Endpoint
With Product set to API, filter to one endpoint with the Single / Proxy Finder / Browser / Auto chips. Useful when you want to debug browser-only failures separately from single requests. Auto lists your Auto calls, one row each.
By Limit
The activity log defaults to 50 entries. Use the limit selector to change how many entries are shown:
| Limit | Notes |
|---|---|
| 10 | Quick scan |
| 50 | Default |
| 100 | Extended view |
| 200 | Maximum |
All entries are from the last hour. For historical data, use the Metrics section, which aggregates data over days and weeks.
Auto Calls
An Auto row is one call. Its second line says how many attempts Auto made and how many succeeded, and its Credits and Bytes are those attempts' totals. For a few seconds after a call ends it reads attempts settling…, and the row fills itself in. A call refused before Auto tried anything reads no attempts recorded.
Open the row to see an Attempts table: Engine, Rung, Status, Outcome, Time, Bytes, Credits. Attempts count against your Single, Proxy Finder, and Browser limits, never in your request count or success rate.
Opening a Request
Click any row to open a detail panel with the full request and response payload preview. The panel opens on a meta grid built from the row itself, so it stays useful even after the stored payload has aged out: timestamp, key, HTTP status, app status, outcome, duration, credits, proxy, and the request's X-FourA-Request-Id.
Below the grid, one pane shows at a time, selected by tab:
| Tab | What it shows |
|---|---|
| Request | Pretty-printed JSON of the exact body sent |
| Response headers | The headers the target returned, one block per redirect hop. When the target redirected, the tab shows the number of hops. |
| Response body | The stored body preview, with truncated and binary badges where they apply |
| Other fields | Anything else the engine returned beyond status, timings, proxy, and headers. Hidden when there's nothing extra. |
A Copy button copies whichever pane is open. Payloads are kept 24 hours, capped at the last 200 per API key. Rows older than that show the row only, without a payload.
Body Pane Messages
The body pane uses different placeholder text depending on what happened:
| Message | What it means |
|---|---|
(no body — the request failed: <error>) |
The request errored before the target returned a body |
(no body captured for this request) |
Payload aged out or wasn't stored |
(empty body — the server returned 0 bytes) |
The target returned a real empty response |
Open in Playground
The detail dialog has an Open in Playground button. Click it to load both the archived request and the archived response into the Playground form. From there you can tweak parameters and replay against the live API, or just inspect what came back without re-running the request.
The button is disabled for Auto calls and for non-replayable payloads (oversized request stubs and non-API routes), with a hint explaining why.
The Proxy Feed
Switch Product to Proxy and the feed becomes one row per tunnel, also from the last hour. A tunnel is one connection your tool opened; what it sent inside is your own encrypted traffic, so the row describes where the connection went, how it left, how long it took to open, and how much it carried.
| Column | What it shows |
|---|---|
| Time | When the tunnel ended, with a relative age beside it |
| Proxy user | Which proxy user carried it |
| Target | The host and port the tunnel went to |
| Exit | Shared or Premium, plus the exit's country when we know it |
| Outcome | Success, Client Error, Service Error, Service Fail, or Rate Limited, with the reason in your own terms on a refusal |
| Setup | Time from your tool connecting to the tunnel being handed over |
| Duration | How long the tunnel stayed open |
| Bytes | Both directions in one cell, with a premium mark when the exit was on the premium network |
| Client IP | The address the connection came from |
There are no Status, Credits, or payload columns, and no detail dialog. A CONNECT has no status from the target and no body for FourA to store.
The Owner dropdown and the limit selector work the same way. In place of the key dropdown, a Proxy user dropdown scopes the feed to one credential. Every column sorts.
A row that reads Rate Limited is your plan's number, not the target refusing you. The reason names which one: tunnels at once, openings per minute, traffic used up, premium not available, or the port not being in your plan. See Proxy Port.
Using the Request ID
Every API response carries an X-Foura-Request-Id header. Log it on your side, and you can paste it into a support ticket to point at the exact request in the Activity Log. The ID is the same one used in this dialog and matches the X-Foura-Request-Id returned by the API. See Response Headers for details.
Related
- Metrics and Analytics: Aggregated performance data over longer periods, for both products
- Proxy Port: The product the Proxy feed reports on
- Playground: Replay requests from Activity
- Response Headers: Where the request ID and credits come from
- API Endpoints: Request and response shapes
- Organizations: What the Owner filter covers
- Troubleshooting: Common problems and solutions