Entries
Entries represent individual HTTP transactions captured within a session. Each entry contains the complete request and response data, including headers, bodies, timing information and connection details. The entry endpoints provide access to this data for analysis and integration purposes.
List Session Entries
Retrieves all entries within a specific session. You can optionally filter to only return entries that are currently selected in the powhttp interface.
GET /sessions/{session_id}/entriesPath Parameters:
session_id: The ULID of the session, oractiveto reference the currently active session
Query Parameters:
selected(optional): When present (any value), only returns entries that are currently selected in the powhttp interfacebookmarked(optional): When present (any value), only returns entries that are currently bookmarked in the powhttp interface. Can be combined withselectedto filter by both conditionshighlighted(optional): Filters entries by their highlight state. The value should be a comma-separated list that can includestrikethroughand/or color names (red,green,blue,yellow,gray,orange,pink,purple).
Response:
type Option<T> = T | null;
type SocketAddress = {
ip: string;
port: Option<number>;
};
type SessionEntry = {
id: string;
url: string;
clientAddr: Option<SocketAddress>;
remoteAddr: Option<SocketAddress>;
httpVersion: string;
transactionType: "request" | "push_promise";
request: {
method: Option<string>;
path: Option<string>;
httpVersion: Option<string>;
headers: Array<[string, string]>;
body: Option<string>; // Base64-encoded
};
response: Option<{
httpVersion: Option<string>;
statusCode: Option<number>;
statusText: Option<string>;
headers: Array<[string, string]>;
body: Option<string>; // Base64-encoded
}>;
isWebSocket: boolean;
tls: {
connectionId: Option<string>; // ULID
tlsVersion: Option<number>;
cipherSuite: Option<number>;
ja3: Option<{
string: string;
hash: string;
}>;
ja4: Option<{
raw: string;
hashed: string;
}>;
};
http2: Option<{
connectionId: string; // ULID
streamId: number;
}>;
timings: {
startedAt: number; // Unix timestamp in milliseconds
blocked: Option<number>;
dns: Option<number>;
connect: Option<number>;
send: Option<number>;
wait: Option<number>;
receive: Option<number>;
ssl: Option<number>;
};
process: Option<{
pid: number;
name: Option<string>;
}>;
};
type Response = Array<SessionEntry>;Example Request:
GET /sessions/active/entries?selectedExample Response:
[
{
"id": "01K88WZ6TMNGMRB5JVZSHPSETA",
"url": "https://example.powhttp.com/post",
"clientAddr": {
"ip": "127.0.0.1",
"port": 51851
},
"remoteAddr": {
"ip": "2606:4700:7::60",
"port": 443
},
"httpVersion": "HTTP/2",
"transactionType": "request",
"request": {
"method": "POST",
"path": "/post",
"httpVersion": null,
"headers": [
[
":method",
"POST"
],
[
":path",
"/post"
],
[
":authority",
"example.powhttp.com"
],
[
":scheme",
"https"
],
[
"user-agent",
"powhttp"
],
[
"content-type",
"application/x-www-form-urlencoded"
],
[
"accept-encoding",
"gzip, deflate, br"
]
],
"body": "aGVsbG89dGhlcmU="
},
"response": {
"httpVersion": null,
"statusCode": 200,
"statusText": "OK",
"headers": [
[
":status",
"200"
],
[
"content-type",
"application/json"
],
[
"server",
"powhttp"
]
],
"body": "eyJoaSI6IvCfkYsifQ=="
},
"isWebSocket": false,
"tls": {
"connectionId": "01K88WZ6D6BK0256Z61GH9XX5V",
"tlsVersion": 771,
"cipherSuite": 49199,
"ja3": {
"string": "771,4866-4867-4865-49199-49195-...",
"hash": "1a28e69016765d92e3b381168d68922c"
},
"ja4": {
"raw": "t12d5911h2_002f,0032,0033,0035,...",
"hashed": "t12d5911h2_a33745022dd6_1f22a2ca17c4"
}
},
"http2": {
"connectionId": "01K88WZ6TG8F1WVS5EEADR1KH7",
"streamId": 1
},
"timings": {
"startedAt": 1761235409748,
"blocked": null,
"dns": null,
"connect": 97,
"send": 0,
"wait": null,
"receive": 221,
"ssl": 55
},
"process": {
"pid": 7860,
"name": "chrome.exe"
}
}
]Get Specific Entry
Retrieves detailed information about a single entry within a session.
GET /sessions/{session_id}/entries/{entry_id}Path Parameters:
session_id: The ULID of the session, oractiveto reference the currently active sessionentry_id: The ULID of the entry, oractiveto reference the currently active entry in the specified session
Response:
Returns a single SessionEntry object with the same structure as described in the list entries endpoint above.
Example Request:
GET /sessions/active/entries/activeData Encoding
Request and response bodies are returned as base64-encoded strings in the body field. This ensures binary data can be safely transmitted as JSON. If a request or response has no body, the body field will be null.
To decode the body data, use a base64 decoder appropriate for your programming language.