curl --request POST \
--url https://api.pubrio.com/api_keys/logs \
--header 'Content-Type: application/json' \
--header 'pubrio-api-key: <api-key>' \
--data '
{
"profile_id": 123,
"page": 1,
"per_page": 25,
"order_by": "created_at",
"is_ascending_order": false,
"search_term": "<string>",
"log_types": [
123
],
"log_type_slugs": [
"<string>"
],
"status_codes": [
123
],
"methods": [
"<string>"
]
}
'import requests
url = "https://api.pubrio.com/api_keys/logs"
payload = {
"profile_id": 123,
"page": 1,
"per_page": 25,
"order_by": "created_at",
"is_ascending_order": False,
"search_term": "<string>",
"log_types": [123],
"log_type_slugs": ["<string>"],
"status_codes": [123],
"methods": ["<string>"]
}
headers = {
"pubrio-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'pubrio-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
profile_id: 123,
page: 1,
per_page: 25,
order_by: 'created_at',
is_ascending_order: false,
search_term: '<string>',
log_types: [123],
log_type_slugs: ['<string>'],
status_codes: [123],
methods: ['<string>']
})
};
fetch('https://api.pubrio.com/api_keys/logs', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.pubrio.com/api_keys/logs",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'profile_id' => 123,
'page' => 1,
'per_page' => 25,
'order_by' => 'created_at',
'is_ascending_order' => false,
'search_term' => '<string>',
'log_types' => [
123
],
'log_type_slugs' => [
'<string>'
],
'status_codes' => [
123
],
'methods' => [
'<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"pubrio-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.pubrio.com/api_keys/logs"
payload := strings.NewReader("{\n \"profile_id\": 123,\n \"page\": 1,\n \"per_page\": 25,\n \"order_by\": \"created_at\",\n \"is_ascending_order\": false,\n \"search_term\": \"<string>\",\n \"log_types\": [\n 123\n ],\n \"log_type_slugs\": [\n \"<string>\"\n ],\n \"status_codes\": [\n 123\n ],\n \"methods\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("pubrio-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.pubrio.com/api_keys/logs")
.header("pubrio-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"profile_id\": 123,\n \"page\": 1,\n \"per_page\": 25,\n \"order_by\": \"created_at\",\n \"is_ascending_order\": false,\n \"search_term\": \"<string>\",\n \"log_types\": [\n 123\n ],\n \"log_type_slugs\": [\n \"<string>\"\n ],\n \"status_codes\": [\n 123\n ],\n \"methods\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.pubrio.com/api_keys/logs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["pubrio-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"profile_id\": 123,\n \"page\": 1,\n \"per_page\": 25,\n \"order_by\": \"created_at\",\n \"is_ascending_order\": false,\n \"search_term\": \"<string>\",\n \"log_types\": [\n 123\n ],\n \"log_type_slugs\": [\n \"<string>\"\n ],\n \"status_codes\": [\n 123\n ],\n \"methods\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"metadata": {
"filters": {
"page": 1,
"per_page": 3,
"status_codes": [
200
]
}
},
"data": {
"pagination": {
"page": 1,
"per_page": 3,
"total_entries": 1109,
"total_pages": 370,
"total_display_pages": 250,
"is_timeout": false
},
"query_logs": [
{
"query_log_id": "fc1ce3dd-39f7-4fbd-9d22-569a17115c11",
"created_at": "2026-05-14 12:04:32.243",
"profile_id": 1,
"user_id": "2981d4b3-f8b1-44d8-9759-889f3bfa2faf",
"method": "POST",
"path": "/api_keys/usage/daily",
"status_code": 200,
"duration_ms": 1821,
"log_type_id": 0,
"authentication_type": "pubrio-api-key",
"masked_authentication": "0••••••••••••••••f39",
"response_size": 2180,
"ip": "127.0.0.1",
"email": "[email protected]",
"nickname": "Example User",
"user": {
"user_id": "2981d4b3-f8b1-44d8-9759-889f3bfa2faf",
"nickname": "Example User",
"email": "[email protected]"
},
"log_type_slug": null,
"credits": 0,
"log_type_name": null,
"authentication_type_name": "API Key"
}
]
}
}{
"code": 40001,
"message": "Errors and codes will vary depending on the scenario, please see the documentation for information.",
"details": {}
}{
"error": "Request rate limit exceeded. Please wait and try again later."
}{
"error": "An unexpected error occurred on the server."
}List API Request Logs
Retrieve a paginated list of API request logs for the workspace. Each entry summarizes a single request made with a pubrio-api-key, including the path, method, status code, duration, response size, and credit cost. Use the Look up log details endpoint to fetch the full request/response payload for a specific entry.
curl --request POST \
--url https://api.pubrio.com/api_keys/logs \
--header 'Content-Type: application/json' \
--header 'pubrio-api-key: <api-key>' \
--data '
{
"profile_id": 123,
"page": 1,
"per_page": 25,
"order_by": "created_at",
"is_ascending_order": false,
"search_term": "<string>",
"log_types": [
123
],
"log_type_slugs": [
"<string>"
],
"status_codes": [
123
],
"methods": [
"<string>"
]
}
'import requests
url = "https://api.pubrio.com/api_keys/logs"
payload = {
"profile_id": 123,
"page": 1,
"per_page": 25,
"order_by": "created_at",
"is_ascending_order": False,
"search_term": "<string>",
"log_types": [123],
"log_type_slugs": ["<string>"],
"status_codes": [123],
"methods": ["<string>"]
}
headers = {
"pubrio-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'pubrio-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
profile_id: 123,
page: 1,
per_page: 25,
order_by: 'created_at',
is_ascending_order: false,
search_term: '<string>',
log_types: [123],
log_type_slugs: ['<string>'],
status_codes: [123],
methods: ['<string>']
})
};
fetch('https://api.pubrio.com/api_keys/logs', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.pubrio.com/api_keys/logs",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'profile_id' => 123,
'page' => 1,
'per_page' => 25,
'order_by' => 'created_at',
'is_ascending_order' => false,
'search_term' => '<string>',
'log_types' => [
123
],
'log_type_slugs' => [
'<string>'
],
'status_codes' => [
123
],
'methods' => [
'<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"pubrio-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.pubrio.com/api_keys/logs"
payload := strings.NewReader("{\n \"profile_id\": 123,\n \"page\": 1,\n \"per_page\": 25,\n \"order_by\": \"created_at\",\n \"is_ascending_order\": false,\n \"search_term\": \"<string>\",\n \"log_types\": [\n 123\n ],\n \"log_type_slugs\": [\n \"<string>\"\n ],\n \"status_codes\": [\n 123\n ],\n \"methods\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("pubrio-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.pubrio.com/api_keys/logs")
.header("pubrio-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"profile_id\": 123,\n \"page\": 1,\n \"per_page\": 25,\n \"order_by\": \"created_at\",\n \"is_ascending_order\": false,\n \"search_term\": \"<string>\",\n \"log_types\": [\n 123\n ],\n \"log_type_slugs\": [\n \"<string>\"\n ],\n \"status_codes\": [\n 123\n ],\n \"methods\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.pubrio.com/api_keys/logs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["pubrio-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"profile_id\": 123,\n \"page\": 1,\n \"per_page\": 25,\n \"order_by\": \"created_at\",\n \"is_ascending_order\": false,\n \"search_term\": \"<string>\",\n \"log_types\": [\n 123\n ],\n \"log_type_slugs\": [\n \"<string>\"\n ],\n \"status_codes\": [\n 123\n ],\n \"methods\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"metadata": {
"filters": {
"page": 1,
"per_page": 3,
"status_codes": [
200
]
}
},
"data": {
"pagination": {
"page": 1,
"per_page": 3,
"total_entries": 1109,
"total_pages": 370,
"total_display_pages": 250,
"is_timeout": false
},
"query_logs": [
{
"query_log_id": "fc1ce3dd-39f7-4fbd-9d22-569a17115c11",
"created_at": "2026-05-14 12:04:32.243",
"profile_id": 1,
"user_id": "2981d4b3-f8b1-44d8-9759-889f3bfa2faf",
"method": "POST",
"path": "/api_keys/usage/daily",
"status_code": 200,
"duration_ms": 1821,
"log_type_id": 0,
"authentication_type": "pubrio-api-key",
"masked_authentication": "0••••••••••••••••f39",
"response_size": 2180,
"ip": "127.0.0.1",
"email": "[email protected]",
"nickname": "Example User",
"user": {
"user_id": "2981d4b3-f8b1-44d8-9759-889f3bfa2faf",
"nickname": "Example User",
"email": "[email protected]"
},
"log_type_slug": null,
"credits": 0,
"log_type_name": null,
"authentication_type_name": "API Key"
}
]
}
}{
"code": 40001,
"message": "Errors and codes will vary depending on the scenario, please see the documentation for information.",
"details": {}
}{
"error": "Request rate limit exceeded. Please wait and try again later."
}{
"error": "An unexpected error occurred on the server."
}Authorizations
Body
Optional. An identifier for the user profile (workspace) making the request. This is no longer required as the API key already includes your workspace information. If provided, it helps in associating the lookup with a specific user, allowing for data retrieval and credit tracking.
Check out user details endpoints under the Profile tab for more information.
The page number of the Pubrio data that you want to retrieve.
1
The number of search results that should be returned for each page. Limited the number of results per page improves the endpoint's performance.
25
Field to sort the log list by.
created_at, duration_ms, status_code Sort direction. true for ascending, false (default) for descending.
Free-text search across the request path, log type slug, and raw request body.
Filter by log type IDs.
Filter by log type slugs (e.g. people_search, company_search).
Filter by HTTP status codes (e.g. [200, 400, 500]).
Filter by HTTP methods (e.g. ["POST", "GET"]).

