Skip to main content
POST
/
api
/
public
/
v2
/
tables
/
{table_id}
/
sheets
/
{sheet_id}
/
imports
/
request-logs
Import Request Logs Into Table Sheet
curl --request POST \
  --url https://api.promptlayer.com/api/public/v2/tables/{table_id}/sheets/{sheet_id}/imports/request-logs \
  --header 'Content-Type: application/json' \
  --header 'X-API-KEY: <api-key>' \
  --data '
{
  "filter_group": {
    "filters": [
      {
        "value": "<string>",
        "nested_key": "<string>"
      }
    ],
    "logic": "AND"
  },
  "q": "<string>",
  "metadata_cost_breakdown_key": "<string>",
  "operation_id": "<string>",
  "request_log_ids": [
    2
  ],
  "variables_to_parse": [],
  "include_fields": [
    "<string>"
  ],
  "limit": 25000
}
'
{
  "success": true,
  "message": "<string>",
  "operation_id": "<string>",
  "operation": {
    "operation_id": "<string>",
    "progress": 123,
    "message": "<string>",
    "rows_added": 123,
    "row_count": 123,
    "file_name": "<string>",
    "error_message": "<string>",
    "created_at": "2023-11-07T05:31:56Z",
    "updated_at": "2023-11-07T05:31:56Z"
  },
  "status_url": "<string>"
}
Start an asynchronous request-history import into an existing Table sheet. Provide either request_log_ids or a request-log filter_group. You can also pass variables_to_parse, include_fields, and limit to control imported columns and rows. request_log_ids and limit support up to 50,000 rows. Pass operation_id when you want a stable client-side identifier for polling and webhook correlation. If omitted, PromptLayer generates one. The response returns an operation_id and status_url for polling with Get Table Sheet Import Operation.

Authorizations

X-API-KEY
string
header
required

Headers

X-API-KEY
string
required

Your PromptLayer API key. The key's workspace scopes table resources for this request.

Path Parameters

table_id
string<uuid>
required

Table ID.

sheet_id
string<uuid>
required

Table sheet ID.

Body

application/json

Import request history into an existing Table sheet. Provide either request_log_ids or filter_group.

filter_group
StructuredFilterGroup · object

Nested filter group with AND/OR logic. Use this for complex queries.

q
string | null

Free-text request-log search query applied with filter_group.

sort_by
enum<string> | null

Field to sort matching request logs before import.

Available options:
request_start_time,
input_tokens,
output_tokens,
cost,
latency_ms,
status
sort_order
enum<string> | null

Sort direction. Must be provided together with sort_by.

Available options:
asc,
desc
metadata_cost_breakdown_key
string | null

Request-log query metadata key used by shared request-log query payloads.

operation_id
string | null

Optional client-provided operation ID. A UUID is generated when omitted.

request_log_ids
integer[] | null

Specific request log IDs to import.

Required array length: 1 - 50000 elements
Required range: x >= 1
variables_to_parse
string[]

Input variable names to parse from matching request logs.

include_fields
string[] | null

Additional request log fields to include as columns.

limit
integer | null

Maximum number of matching request logs to import.

Required range: 1 <= x <= 50000

Response

Request-history import queued.

success
boolean
required
message
string
required
operation_id
string
required
operation
object
required

Status of an asynchronous sheet import operation.

status_url
string
required