JavaScript
import Stigg from '@stigg/typescript';
const client = new Stigg({
apiKey: process.env['STIGG_API_KEY'], // This is the default and can be omitted
});
// Automatically fetches more pages as needed.
for await (const customerListResponse of client.v1.customers.list()) {
console.log(customerListResponse.id);
}import os
from stigg import Stigg
client = Stigg(
api_key=os.environ.get("STIGG_API_KEY"), # This is the default and can be omitted
)
page = client.v1.customers.list()
page = page.data[0]
print(page.id)package main
import (
"context"
"fmt"
"github.com/stiggio/stigg-go"
"github.com/stiggio/stigg-go/option"
)
func main() {
client := stigg.NewClient(
option.WithAPIKey("My API Key"),
)
page, err := client.V1.Customers.List(context.TODO(), stigg.V1CustomerListParams{})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", page)
}
package io.stigg.example;
import io.stigg.client.StiggClient;
import io.stigg.client.okhttp.StiggOkHttpClient;
import io.stigg.models.v1.customers.CustomerListPage;
import io.stigg.models.v1.customers.CustomerListParams;
public final class Main {
private Main() {}
public static void main(String[] args) {
StiggClient client = StiggOkHttpClient.fromEnv();
CustomerListPage page = client.v1().customers().list();
}
}require "stigg"
stigg = Stigg::Client.new(api_key: "My API Key")
page = stigg.v1.customers.list
puts(page)using System;
using Stigg.Client;
using Stigg.Client.Models.V1.Customers;
StiggClient client = new();
CustomerListParams parameters = new();
var page = await client.V1.Customers.List(parameters);
await foreach (var item in page.Paginate())
{
Console.WriteLine(item);
}stigg v1:customers list \
--api-key 'My API Key'curl --request GET \
--url https://api.stigg.io/api/v1/customers \
--header 'X-API-KEY: <api-key>'<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.stigg.io/api/v1/customers",
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;
}{
"data": [
{
"createdAt": "2025-10-26T10:00:00.000Z",
"updatedAt": "2025-10-26T10:00:00.000Z",
"archivedAt": null,
"name": "John Doe",
"email": "john@example.com",
"billingId": "cus_MIhJJFnJL24HFH",
"id": "customer-6e24b4",
"billingCurrency": "usd",
"metadata": {},
"integrations": [],
"defaultPaymentMethod": {
"type": "CARD",
"billingId": "pm_1Q0PsIJvEtkwdCNYMSaVuRz6",
"cardLast4Digits": "1234",
"cardExpiryMonth": 12,
"cardExpiryYear": 2025
},
"couponId": "coupon-6e24b4",
"timezone": null,
"language": "en",
"passthrough": {
"stripe": {
"invoiceCustomFields": {}
},
"zuora": {}
}
}
],
"pagination": {
"next": "c9b0a382-5b7d-4d32-9f62-8c4e1a7b3d9f",
"prev": "a1d4e8f2-6c3b-4a9e-b5f7-2d8c9e0f1a3b"
}
}{
"message": "<string>"
}{
"message": "<string>",
"code": "Unauthenticated"
}{
"message": "<string>"
}{
"message": "<string>",
"code": "RateLimitExceeded"
}Customers
Get a list of customers
Retrieves a paginated list of customers in the environment.
GET
/
api
/
v1
/
customers
JavaScript
import Stigg from '@stigg/typescript';
const client = new Stigg({
apiKey: process.env['STIGG_API_KEY'], // This is the default and can be omitted
});
// Automatically fetches more pages as needed.
for await (const customerListResponse of client.v1.customers.list()) {
console.log(customerListResponse.id);
}import os
from stigg import Stigg
client = Stigg(
api_key=os.environ.get("STIGG_API_KEY"), # This is the default and can be omitted
)
page = client.v1.customers.list()
page = page.data[0]
print(page.id)package main
import (
"context"
"fmt"
"github.com/stiggio/stigg-go"
"github.com/stiggio/stigg-go/option"
)
func main() {
client := stigg.NewClient(
option.WithAPIKey("My API Key"),
)
page, err := client.V1.Customers.List(context.TODO(), stigg.V1CustomerListParams{})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", page)
}
package io.stigg.example;
import io.stigg.client.StiggClient;
import io.stigg.client.okhttp.StiggOkHttpClient;
import io.stigg.models.v1.customers.CustomerListPage;
import io.stigg.models.v1.customers.CustomerListParams;
public final class Main {
private Main() {}
public static void main(String[] args) {
StiggClient client = StiggOkHttpClient.fromEnv();
CustomerListPage page = client.v1().customers().list();
}
}require "stigg"
stigg = Stigg::Client.new(api_key: "My API Key")
page = stigg.v1.customers.list
puts(page)using System;
using Stigg.Client;
using Stigg.Client.Models.V1.Customers;
StiggClient client = new();
CustomerListParams parameters = new();
var page = await client.V1.Customers.List(parameters);
await foreach (var item in page.Paginate())
{
Console.WriteLine(item);
}stigg v1:customers list \
--api-key 'My API Key'curl --request GET \
--url https://api.stigg.io/api/v1/customers \
--header 'X-API-KEY: <api-key>'<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.stigg.io/api/v1/customers",
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;
}{
"data": [
{
"createdAt": "2025-10-26T10:00:00.000Z",
"updatedAt": "2025-10-26T10:00:00.000Z",
"archivedAt": null,
"name": "John Doe",
"email": "john@example.com",
"billingId": "cus_MIhJJFnJL24HFH",
"id": "customer-6e24b4",
"billingCurrency": "usd",
"metadata": {},
"integrations": [],
"defaultPaymentMethod": {
"type": "CARD",
"billingId": "pm_1Q0PsIJvEtkwdCNYMSaVuRz6",
"cardLast4Digits": "1234",
"cardExpiryMonth": 12,
"cardExpiryYear": 2025
},
"couponId": "coupon-6e24b4",
"timezone": null,
"language": "en",
"passthrough": {
"stripe": {
"invoiceCustomFields": {}
},
"zuora": {}
}
}
],
"pagination": {
"next": "c9b0a382-5b7d-4d32-9f62-8c4e1a7b3d9f",
"prev": "a1d4e8f2-6c3b-4a9e-b5f7-2d8c9e0f1a3b"
}
}{
"message": "<string>"
}{
"message": "<string>",
"code": "Unauthenticated"
}{
"message": "<string>"
}{
"message": "<string>",
"code": "RateLimitExceeded"
}Authorizations
Server API Key
Headers
Account ID — optional when authenticating with a user JWT (Bearer token); falls back to the user's first membership. Ignored for API-key auth.
Environment ID — required when authenticating with a user JWT (Bearer token) on environment-scoped endpoints. Ignored for API-key auth (env is intrinsic to the key).
Query Parameters
Return items that come after this cursor
Return items that come before this cursor
Maximum number of items to return
Required range:
1 <= x <= 100Filter by exact customer email address
Maximum string length:
255Filter by exact customer name
Maximum string length:
255Filter by creation date using range operators: gt, gte, lt, lte
Show child attributes
Show child attributes
⌘I
