List users in the organization
List users in the caller's organization, optionally filtered by email address.
/admin/usersList users in the organization
4 parameters
- X-Pinecone-Api-Versionstringheaderrequired
Required date-based version header
- emailstringquery
Case-insensitive filter on the user's email address. Malformed email returns `400 INVALID_ARGUMENT`.
- limitintegerquery
The number of results to return per page. When omitted, the server defaults to 100. Out-of-range values return `400 OUT_OF_RANGE`.
- paginationTokenstringquery
Cursor from `pagination.next` of a prior response. Must be reused with the same query context (path parameters, filters, and `limit`).
curl --request GET \
--url https://api.pinecone.io/admin/users \
--header 'Authorization: Bearer <token>' \
--header 'X-Pinecone-Api-Version: <x-pinecone-api-version>'import requests
url = "https://api.pinecone.io/admin/users"
headers = {
"Authorization": "Bearer <token>",
"X-Pinecone-Api-Version": "<x-pinecone-api-version>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: "GET", headers: {"Authorization": "Bearer <token>", "X-Pinecone-Api-Version": "<x-pinecone-api-version>"}};
fetch("https://api.pinecone.io/admin/users", 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.pinecone.io/admin/users",
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;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.pinecone.io/admin/users"
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))
}HttpResponse<String> response = Unirest.get("https://api.pinecone.io/admin/users")
.header("Authorization", "Bearer <token>")
.header("X-Pinecone-Api-Version", "<x-pinecone-api-version>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.pinecone.io/admin/users")
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{
"data": [
{
"email": "alice@example.com",
"id": "e2e92523-85dc-4142-b8c2-e681be8b78df",
"name": "Alice Example"
}
],
"pagination": {
"next": "eyJsYXN0X2lkIjoiZTJlOTI1MjMifQ=="
}
}{
"error": {
"code": "INVALID_ARGUMENT",
"message": "Bad request. The request body included invalid request parameters."
},
"status": 400
}{
"error": {
"code": "UNAUTHENTICATED",
"message": "Invalid API key."
},
"status": 401
}{
"error": {
"code": "QUOTA_EXCEEDED",
"message": "The index exceeds the project quota of 5 pods by 2 pods. Upgrade your account or change the project settings to increase the quota."
},
"status": 429
}{
"error": {
"code": "UNKNOWN",
"message": "Internal server error"
},
"status": 500
}{
"error": {
"code": "QUOTA_EXCEEDED",
"message": "The index exceeds the project quota of 5 pods by 2 pods. Upgrade your account or change the project settings to increase the quota."
},
"status": 429
}Authorizations
Section titled “Authorizations”AuthorizationstringrequiredAn access token must be provided in the Authorization header using the Bearer scheme.
Headers
Section titled “Headers”X-Pinecone-Api-VersionstringrequiredRequired date-based version header
Query Parameters
Section titled “Query Parameters”email?stringCase-insensitive filter on the user's email address. Malformed email returns 400 INVALID_ARGUMENT.
Required string length: 0 - 254
limit?integerThe number of results to return per page. When omitted, the server defaults to 100. Out-of-range values return 400 OUT_OF_RANGE.
Required range: 1 <= x <= 100
paginationToken?stringCursor from pagination.next of a prior response. Must be reused with the same query context (path parameters, filters, and limit).
Response
Section titled “Response”200 — A paginated list of users. Role bindings are not included; use GET /admin/role-bindings to list them.
A paginated list of users in the organization.
dataobject[]requiredThe page of users.
Show child attributes
idstringrequiredThe unique ID of the user.
emailstringrequiredThe user's email address.
name?stringThe user's display name. Omitted from the response if the user has not set one.
pagination?object | nullCursor envelope for the next page. null (or absent) on the final page of results.
Show child attributes
next?stringOpaque cursor for the next page. Do not parse or construct. Invalid or expired tokens return 400.
Example: eyJsYXN0X2lkIjogImluZGV4LTQifQ==