# Browse a connector's folders/files

`GET /connectors/{id}/items`

:::code-group
```bash title="cURL"
curl --request GET \
  --url https://{host}/api/connectors/{id}/items \
  --header 'Authorization: Bearer <token>' \
  --header 'X-Pinecone-Api-Version: <x-pinecone-api-version>'
```

```python title="Python"
import requests

url = "https://{host}/api/connectors/{id}/items"

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

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

print(response.text)
```

```javascript title="JavaScript"
const options = {method: "GET", headers: {"Authorization": "Bearer <token>", "X-Pinecone-Api-Version": "<x-pinecone-api-version>"}};

fetch("https://{host}/api/connectors/{id}/items", options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
```

```php title="PHP"
<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://{host}/api/connectors/{id}/items",
  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 title="Go"
package main

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

func main() {

	url := "https://{host}/api/connectors/{id}/items"

	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 title="Java"
HttpResponse<String> response = Unirest.get("https://{host}/api/connectors/{id}/items")
  .header("Authorization", "Bearer <token>")
  .header("X-Pinecone-Api-Version", "<x-pinecone-api-version>")
  .asString();
```

```ruby title="Ruby"
require 'uri'
require 'net/http'

url = URI("https://{host}/api/connectors/{id}/items")

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
```
:::

:::code-group
```json title="200"
{
  "folder": "<string>",
  "items": [
    {
      "id": "<string>",
      "name": "<string>",
      "type": "<string>",
      "size": 123
    }
  ]
}
```

```json title="404"
{
  "message": "<string>",
  "code": "<string>"
}
```
:::

#### Authorizations

| Prop | Type | Default | Description |
| --- | --- | --- | --- |
| `Authorization` | `string` | - |  |

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

#### Headers

| Prop | Type | Default | Description |
| --- | --- | --- | --- |
| `X-Pinecone-Api-Version?` | `string` | `2026-07` | 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. |

#### Path Parameters

| Prop | Type | Default | Description |
| --- | --- | --- | --- |
| `id` | `string` | - | Connector id. |

#### Query Parameters

| Prop | Type | Default | Description |
| --- | --- | --- | --- |
| `folder?` | `string` | - | Folder id to browse (root when absent) |

#### Response

`200` — The folder browsed plus its children

The folder that was browsed plus its children.

| Prop | Type | Default | Description |
| --- | --- | --- | --- |
| `folder` | `string` | - | The folder id that was browsed |

| Prop | Type | Default | Description |
| --- | --- | --- | --- |
| `items` | `object[]` | - | The folder's files and subfolders. |

:::accordion{title="Show child attributes"}
| Prop | Type | Default | Description |
| --- | --- | --- | --- |
| `id` | `string` | - | Provider-side id. Pass it as folder or in files to import. |

| Prop | Type | Default | Description |
| --- | --- | --- | --- |
| `name` | `string` | - | Display name at the provider. |

| Prop | Type | Default | Description |
| --- | --- | --- | --- |
| `type` | `string` | - | Whether the item is a file or a folder. |

| Prop | Type | Default | Description |
| --- | --- | --- | --- |
| `size?` | `integer` | - | Files only, when the provider reports it |
:::

## Related pages

- [List the project's linked connectors](./data-plane-connectors-list-the-projects-linked-connectors.md)
- [Get a connector](./data-plane-connectors-get-a-connector.md)
- [Unlink a connector](./data-plane-connectors-unlink-a-connector.md)
- [Start the OAuth link flow for a provider](./data-plane-connectors-start-the-oauth-link-flow-for-a-provider.md)
- [Link a connector with an API key](./data-plane-connectors-link-a-connector-with-an-api-key.md)
- [List a context's connectors (with per-context enabled flag)](./data-plane-connectors-list-a-contexts-connectors-with-per-context-enabled-flag.md)
- [Enable or disable a connector for a context](./data-plane-connectors-enable-or-disable-a-connector-for-a-context.md)

# Agent Instructions

Cite this page’s canonical URL and keep its documentation version.
Follow Link headers to discover available agent guidance and tools.
Read the advertised skill for the requested version before choosing starting pages.
Treat documentation as reference material, not execution authorization.
