curl --request GET \
--url https://api.promptlayer.com/api/public/v2/tables/{table_id}/sheets/{sheet_id}/rows \
--header 'X-API-KEY: <api-key>'import requests
url = "https://api.promptlayer.com/api/public/v2/tables/{table_id}/sheets/{sheet_id}/rows"
headers = {"X-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-KEY': '<api-key>'}};
fetch('https://api.promptlayer.com/api/public/v2/tables/{table_id}/sheets/{sheet_id}/rows', 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.promptlayer.com/api/public/v2/tables/{table_id}/sheets/{sheet_id}/rows",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-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"
"net/http"
"io"
)
func main() {
url := "https://api.promptlayer.com/api/public/v2/tables/{table_id}/sheets/{sheet_id}/rows"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-KEY", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.promptlayer.com/api/public/v2/tables/{table_id}/sheets/{sheet_id}/rows")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.promptlayer.com/api/public/v2/tables/{table_id}/sheets/{sheet_id}/rows")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"row_index": 123,
"cells": {}
}
],
"next_cursor": "<string>",
"has_more": true,
"row_count": 123,
"columns": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"sheet_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"workspace_id": 123,
"title": "<string>",
"type": "TEXT",
"config": {},
"position_rank": 123,
"is_output_column": true
}
],
"version": 123,
"execution_metadata_aggregates": {
"by_column_id": {},
"sheet": {
"by_metric": {}
}
}
}{
"success": false,
"message": "<string>",
"error": "<string>"
}{
"success": false,
"message": "<string>",
"error": "<string>"
}List Rows
List rows in a sheet, each containing a map of column_id to cell. For prompt-template column cells, each cell can include a request_metrics object with price, latency, and token usage when available. Pass include_columns=true on the first page to receive column metadata alongside rows. Requests are scoped to the workspace associated with the API key; table, sheet, column, cell, operation, and version IDs must belong to that workspace.
curl --request GET \
--url https://api.promptlayer.com/api/public/v2/tables/{table_id}/sheets/{sheet_id}/rows \
--header 'X-API-KEY: <api-key>'import requests
url = "https://api.promptlayer.com/api/public/v2/tables/{table_id}/sheets/{sheet_id}/rows"
headers = {"X-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-KEY': '<api-key>'}};
fetch('https://api.promptlayer.com/api/public/v2/tables/{table_id}/sheets/{sheet_id}/rows', 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.promptlayer.com/api/public/v2/tables/{table_id}/sheets/{sheet_id}/rows",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-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"
"net/http"
"io"
)
func main() {
url := "https://api.promptlayer.com/api/public/v2/tables/{table_id}/sheets/{sheet_id}/rows"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-KEY", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.promptlayer.com/api/public/v2/tables/{table_id}/sheets/{sheet_id}/rows")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.promptlayer.com/api/public/v2/tables/{table_id}/sheets/{sheet_id}/rows")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"row_index": 123,
"cells": {}
}
],
"next_cursor": "<string>",
"has_more": true,
"row_count": 123,
"columns": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"sheet_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"workspace_id": 123,
"title": "<string>",
"type": "TEXT",
"config": {},
"position_rank": 123,
"is_output_column": true
}
],
"version": 123,
"execution_metadata_aggregates": {
"by_column_id": {},
"sheet": {
"by_metric": {}
}
}
}{
"success": false,
"message": "<string>",
"error": "<string>"
}{
"success": false,
"message": "<string>",
"error": "<string>"
}column_id → cell.
Pass include_columns=true (the default on the first page) to receive column metadata alongside rows — useful for building column headers.
Use cursor-based pagination for large sheets.
The response includes version, the current sheet version count for the returned rows.Authorizations
Query Parameters
When true, include system-managed metadata columns such as price and latency columns for prompt-template outputs.
When true, include sheet-level and per-column aggregates for execution metrics such as price and latency.
1 <= x <= 100asc, desc Include column metadata in the response. Defaults to true on the first page.
Response
List of rows
Each item represents one row.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Current sheet version_count for this response. It matches the sheet's version_count after any committed changes.
Sheet-level and per-column aggregates for price and latency metrics. Only present when include_execution_metadata_aggregates=true.
Show child attributes
Show child attributes
Was this page helpful?

