Skip to main content
Pinecone Docs
current

Search documentation

Type to search this documentation.

List the source file tree under a path

One directory of the source tree.

GET /contexts/{slug}/source/list/{path}

cURL
curl --request GET \
  --url https://{host}/api/contexts/{slug}/source/list/{path} \
  --header 'Authorization: Bearer <token>' \
  --header 'X-Pinecone-Api-Version: <x-pinecone-api-version>'
Python
import requests

url = "https://{host}/api/contexts/{slug}/source/list/{path}"

headers = {
    "Authorization": "Bearer <token>",
    "X-Pinecone-Api-Version": "<x-pinecone-api-version>"
}

response = requests.get(url, headers=headers)

print(response.text)
JavaScript
const options = {method: "GET", headers: {"Authorization": "Bearer <token>", "X-Pinecone-Api-Version": "<x-pinecone-api-version>"}};

fetch("https://{host}/api/contexts/{slug}/source/list/{path}", options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
PHP
<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://{host}/api/contexts/{slug}/source/list/{path}",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Authorization: Bearer <token>",
    "X-Pinecone-Api-Version: <x-pinecone-api-version>"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
Go
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://{host}/api/contexts/{slug}/source/list/{path}"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("Authorization", "Bearer <token>")
	req.Header.Add("X-Pinecone-Api-Version", "<x-pinecone-api-version>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(string(body))

}
Java
HttpResponse<String> response = Unirest.get("https://{host}/api/contexts/{slug}/source/list/{path}")
  .header("Authorization", "Bearer <token>")
  .header("X-Pinecone-Api-Version", "<x-pinecone-api-version>")
  .asString();
Ruby
require 'uri'
require 'net/http'

url = URI("https://{host}/api/contexts/{slug}/source/list/{path}")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
request["X-Pinecone-Api-Version"] = '<x-pinecone-api-version>'

response = http.request(request)
puts response.read_body
200
{
  "entries": [
    {
      "name": "<string>",
      "kind": "<string>",
      "size": 123,
      "mtime": "<string>"
    }
  ],
  "total": 123,
  "offset": 123,
  "limit": 123,
  "next_offset": 123
}
404
{
  "message": "<string>",
  "code": "<string>"
}
Authorizationstringrequired

Session token from POST /auth/login, sent as Authorization: Bearer <token>.

X-Pinecone-Api-Version?string

Date-based contract version, echoed back on the same header. Omit for the default (2026-07); send unstable for the in-development surface. An unrecognized value is rejected with 400 unsupported_api_version.

Typestring
Default2026-07
slugstringrequired

Context slug or UUID.

Typestring
pathstringrequired

Relative path within the tree. Matches greedily, so it may contain /.

Typestring
offset?integer

Where the page starts. Source and knowledge listings echo it rather than applying it, since they return the whole directory in one page.

Typeinteger
limit?integer

Maximum entries in the page. Source and knowledge listings echo it rather than applying it, since they return the whole directory in one page.

Typeinteger

200 — Directory listing

One page of a source or knowledge directory. A listing returns a single page, so offset is 0 and next_offset is null; limit echoes the request rather than being applied.

entriesobject[]required

The directory's immediate children.

Typeobject[]
Show child attributes
namestringrequired

Entry name, not a full path.

Typestring
kindstringrequired

Whether the entry is a file or a directory.

Typestring
sizeintegerrequired

Byte size. 0 for a directory.

Typeinteger
mtimestringrequired

RFC3339 last-modified, or empty when the store reports none

Typestring
totalintegerrequired

Entries in this directory.

Typeinteger
offsetintegerrequired

Echoes the request.

Typeinteger
limitintegerrequired

Echoes the request.

Typeinteger
next_offset?integer | null

Always null — a listing returns one page.

Typeinteger | null
Suggest an edit

Propose a replacement for this page. The site team reviews it before applying any changes.

Export
Documentation menu