List Users
curl --request GET \
--url https://production-api.puppetvendors.com/users \
--header 'x-access-token: <api-key>'import requests
url = "https://production-api.puppetvendors.com/users"
headers = {"x-access-token": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-access-token': '<api-key>'}};
fetch('https://production-api.puppetvendors.com/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://production-api.puppetvendors.com/users",
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-access-token: <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://production-api.puppetvendors.com/users"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-access-token", "<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://production-api.puppetvendors.com/users")
.header("x-access-token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://production-api.puppetvendors.com/users")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-access-token"] = '<api-key>'
response = http.request(request)
puts response.read_bodyUsers
List Users
Retrieve a paginated list of users belonging to the vendor
GET
/
users
List Users
curl --request GET \
--url https://production-api.puppetvendors.com/users \
--header 'x-access-token: <api-key>'import requests
url = "https://production-api.puppetvendors.com/users"
headers = {"x-access-token": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-access-token': '<api-key>'}};
fetch('https://production-api.puppetvendors.com/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://production-api.puppetvendors.com/users",
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-access-token: <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://production-api.puppetvendors.com/users"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-access-token", "<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://production-api.puppetvendors.com/users")
.header("x-access-token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://production-api.puppetvendors.com/users")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-access-token"] = '<api-key>'
response = http.request(request)
puts response.read_bodyV2 Alpha — This endpoint is part of the V2 API preview. Breaking changes may occur.
Overview
Retrieve a paginated list of user accounts belonging to the authenticated vendor. Results are automatically scoped to the vendor’s own users. Supports filtering by user type, approval status, and text search.Vendor Token Required — This endpoint requires a vendor-scoped JWT token. Merchant tokens will receive a 403 error.
Use Cases
- Manage team access in a vendor self-service portal
- Audit active accounts and invitation status
Query Parameters
string
Filter by user type. One of:
vendor, merchant, admin.boolean
Filter by approval status.
string
Search in user email, first name, or last name (max 200 characters).
integer
Number of items to return, forward pagination (1-100).
string
Cursor for forward pagination.
integer
Number of items to return, backward pagination (1-100).
string
Cursor for backward pagination.
Response
200
{
"success": true,
"data": {
"edges": [
{
"node": {
"_id": "507f1f77bcf86cd799439011",
"email": "team@vendor.com",
"type": "vendor",
"approved": true,
"profile": {
"firstName": "Alex",
"lastName": "Smith",
"phone": "+1-555-987-6543"
},
"notifications": true,
"permission": {},
"lastLoggedIn": "2024-06-14T09:00:00.000Z",
"createdAt": "2024-01-10T08:00:00.000Z",
"updatedAt": "2024-06-14T09:00:00.000Z"
},
"cursor": "eyJpZCI6IjUwN2YxZjc3YmNmODZjZDc5OTQzOTAxMSJ9"
}
],
"pageInfo": {
"hasNextPage": false,
"hasPreviousPage": false,
"startCursor": "eyJpZCI6IjUwN2YxZjc3YmNmODZjZDc5OTQzOTAxMSJ9",
"endCursor": "eyJpZCI6IjUwN2YxZjc3YmNmODZjZDc5OTQzOTAxMSJ9"
}
}
}
Example
curl -X GET "https://production-api.puppetvendors.com/users?approved=true&first=20" \
-H "x-access-token: YOUR_VENDOR_JWT_TOKEN"
Was this page helpful?