Query Buyers
GET https://api.suger.cloud/org/{orgId}/buyer/query
Query buyers with filtering, sorting, and pagination using CRUD query language. Supports complex filters, sorting by multiple fields, and pagination.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
orgId | path | string | yes | Organization ID |
page_size | query | integer | no | Number of items per page (default 20, max 1000) |
page_number | query | integer | no | Page number (default 1) |
q | query | string | no | LISP-style filter expression (e.g., '(= partner \ |
s | query | string | no | Sort fields: 'field:asc,field2:desc' or '-field,field2' format (e.g., 'creation_time:desc,name:asc' or '-creation_time,name') |
Responses
200 — Paginated list of buyers
Content-Type: application/json · Schema: ListBaseResponse-IdentityBuyer
ListBaseResponse-IdentityBuyer fields:
| Field | Type | Required | Description |
|---|---|---|---|
data | array<IdentityBuyerRow> | no | |
page_number | integer | no | |
page_size | integer | no | |
total_count | integer | no | TotalCount is the number of matching rows, counted up to ListCountCap. When TotalCountCapped is true it is that cap rather than the real total. |
total_count_capped | boolean | no | TotalCountCapped reports that more rows match than TotalCount says: the count stopped at ListCountCap because an exact total costs a full scan of everything the filter matches. Clients should present TotalCount as a lower bound ("10,000+") when this is set. Omitted when false, so clients that predate the field are unaffected. |
IdentityBuyerRow fields:
| Field | Type | Required | Description |
|---|---|---|---|
companyID | string | no | CompanyID holds the value of the "company_id" field. |
contactIds | array<string> | no | ContactIds holds the value of the "contact_ids" field. |
creationTime | string | no | CreationTime holds the value of the "creation_time" field. |
description | string | no | Description holds the value of the "description" field. |
externalID | string | no | ExternalID holds the value of the "external_id" field. |
id | string | no | ID of the ent. |
info | BuyerInfo | no | |
lastUpdateTime | string | no | LastUpdateTime holds the value of the "last_update_time" field. |
name | string | no | Name holds the value of the "name" field. |
organizationID | string | no | OrganizationID holds the value of the "organization_id" field. |
partner | string | no | Partner holds the value of the "partner" field. |
s3KeyLogo | string | no | S3KeyLogo holds the value of the "s3_key_logo" field. |
tags | array<string> | no | Tags holds the value of the "tags" field. |
BuyerInfo fields:
| Field | Type | Required | Description |
|---|---|---|---|
adyenBuyer | AdyenBuyer | no | |
awsBuyer | AwsAccountIdentifier | no | |
azureBuyer | AzureADIdentifier | no | |
chargebeeCustomerID | string | no | ChargebeeCustomerID is the chargebee customer ID for ther buyer if it is connected to a chargebee customer. |
collectableAmount | number | no | The amount that the seller can collect. It excludes the marketplace commision fee. |
companyInfo | CompanyInfo | no | |
cppoInOfferCount | integer | no | The number of CPPO_IN offers related to the buyer. |
cppoOutOfferCount | integer | no | The number of CPPO_OUT offers related to the buyer. |
customerId | string | no | customerID of buyer on seller's side |
disbursedAmount | number | no | The amount that has been disbursed to the seller account. |
emailAddress | string | no | The email address of the buyer. This was copied from the new client signup form. |
enrichedCompanyInfo | Company | no | |
entitlementCount | integer | no | The number of entitlements related to the buyer. |
fields | object | no | Fields to store key-value pairs of buyer information. |
gcpBuyer | GcpMarketplaceUserAccount | no | |
grossAmount | number | no | The gross amount that the buyer has committed to pay, including usage metered amount. |
invoicedAmount | number | no | The amount that the buyer has got invoiced. |
lagoCustomerId | string | no | The lgo customer ID for the buyer if it is connected to a lago customer. |
lastModifiedBy | string | no | Last modifier user ID. |
metronomeCustomerId | string | no | The metronome customer ID for the buyer if it is connected to a metronome customer. |
offerCount | integer | no | The number of offers related to the buyer. |
oracleBuyer | OracleMarketplaceBuyer | no | |
orbCustomerId | string | no | The orb customer ID for the buyer if it is connected to a orb customer. |
paymentConfig | PaymentConfig | no | |
quickbooksCustomerId | string | no | The quickbooks customer ID for the buyer if it is connected to a quickbooks customer. |
snowflakeBuyer | SnowflakeMarketplaceBuyer | no | |
spaUrl | string | no | Buyer SPA url, public page visited with jwt. |
stripeBuyer | StripeCustomer | no | |
stripeCustomerId | string | no | The stripe customer ID for the buyer if it is connected to a stripe customer. |
AdyenBuyer fields:
| Field | Type | Required | Description |
|---|---|---|---|
settings | object | no | Settings store key-value pairs such as paymentMethodId,syncWithProvider,providerPaymentMethods. |
shopperId | string | no | The shopperId on the adyen platform corresponding to the buyer. |
AwsAccountIdentifier fields:
| Field | Type | Required | Description |
|---|---|---|---|
awsAccountID | string | no | The AWS Account ID of the buyer in AWS Marketplace |
awsCustomerID | string | no | The AWS Customer ID of the buyer in AWS Marketplace |
dataFeedAccountID | string | no | The Account ID in AWS Marketplace Data Feed service |
AzureADIdentifier fields:
| Field | Type | Required | Description |
|---|---|---|---|
billingAccountId | string | no | Azure Billing Account ID |
customerId | string | no | |
emailId | string | no | Email address |
firstName | string | no | |
lastName | string | no | |
licenseType | string | no | Azure License Type |
objectId | string | no | |
puid | string | no | ID of the user, used as External ID of suger IdentityBuyer. |
sellerId | string | no | Azure MPO seller ID |
tenantId | string | no | The Azure Active Directory Tenant ID of the buyer or the reseller partner ID (the same as TenantId). |
CompanyInfo fields:
| Field | Type | Required | Description |
|---|---|---|---|
addressLine1 | string | no | |
addressLine2 | string | no | |
city | string | no | |
country | string | no | |
emailDomain | string | no | |
name | string | no | |
postalCode | string | no | |
state | string | no | |
validFrom | string | no | When the company info becomes valid. in format "2006-01-02T15:04:05Z" |
Company fields:
| Field | Type | Required | Description |
|---|---|---|---|
city | string | no | |
contactEmail | string | no | Contact |
country | string | no | Location information |
creationTime | string | no | Timestamps |
domain | string | no | |
employeeCount | integer | no | |
foundedYear | string | no | |
id | string | no | Core identification fields |
industry | string | no | |
isVendor | boolean | no | Vendor flag |
lastUpdateTime | string | no | |
linkedIn | string | no | The link to the linkedin profile |
metaInfo | CompanyMetaInfo | no | |
name | string | no | Basic company information |
partnerGlobalCompanyContactIds | array<string> | no | Partner contacts associated with this buyer company (array of global_company_contact.id values) |
postalCode | string | no | |
s3KeyLogo | string | no | Media and social |
shortDescription | string | no | |
stateProvince | string | no | |
status | EnrichmentDataStatus | no | |
street | string | no | |
type | string | no | Private, Public, Nonprofit, Franchise |
website | string | no |
GcpMarketplaceUserAccount fields:
| Field | Type | Required | Description |
|---|---|---|---|
approvals | array<GcpMarketplaceUserAccountApproval> | no | The approvals for this account, that are permitted or have been completed. |
billingAccountId | string | no | The buyer's GCP billing account ID if it's a company account. |
createTime | string | no | RFC3339 UTC timestamp |
id | string | no | GCP Marketplace User Account ID. |
inputProperties | array<integer> | no | |
name | string | no | The resource name of the account, in format of providers/{provider_id}/accounts/{account_id}. |
parentBillingAccountId | string | no | The parent account ID of the BillingAccountId if the buyer is from a reseller in GCP Marketplace. It is the GCP billing account ID of the reseller in GCP Marketplace. |
provider | string | no | The identifier of the service provider (SaaS Seller) that this account was created against. |
state | GcpMarketplaceUserAccountState | no | |
updateTime | string | no | RFC3339 UTC timestamp |
userInfo | GcpUserInfo | no |
OracleMarketplaceBuyer fields:
| Field | Type | Required | Description |
|---|---|---|---|
companyName | string | no | CompanyName is the buyer's company name. |
primaryContact | OracleContact | no | |
tenancyOCID | string | no | TenancyOCID is the buyer's tenancy OCID (Offer.buyerCompartmentId). |
PaymentConfig fields:
| Field | Type | Required | Description |
|---|---|---|---|
allowedWalletTypes | array<BillingWalletType> | no | Allowed wallet types for this buyer, include payment methods from payment provider such as card, us_bank_account and credit. |
currency | string | no | Currency used for billing. |
defaultWalletId | string | no | Default wallet id which is a stripe payment method used to invoice. |
SnowflakeMarketplaceBuyer fields:
| Field | Type | Required | Description |
|---|---|---|---|
snowflakeCustomerID | string | no | The customer ID of the buyer in Snowflake Marketplace. |
400 — Bad request error
Content-Type: application/json
500 — Internal server error
Content-Type: application/json
Example
Generated from this operation's schema. Values are placeholders —
substitute your own ids, and set SUGER_TOKEN to a bearer token
from the OAuth client-credentials exchange.
Request
curl -X GET 'https://api.suger.cloud/org/{orgId}/buyer/query' \
-H "Authorization: Bearer $SUGER_TOKEN" Response — 200
{
"data": [
{
"companyID": "01H0000000000000000000",
"contactIds": [
"01H0000000000000000000"
],
"creationTime": "2026-01-31T12:00:00Z",
"description": "string",
"externalID": "01H0000000000000000000",
"id": "01H0000000000000000000",
"info": {
"adyenBuyer": {
"settings": {},
"shopperId": "01H0000000000000000000"
},
"awsBuyer": {
"awsAccountID": "01H0000000000000000000",
"awsCustomerID": "01H0000000000000000000",
"dataFeedAccountID": "01H0000000000000000000"
},
"azureBuyer": {
"billingAccountId": "01H0000000000000000000",
"customerId": "01H0000000000000000000",
"emailId": "01H0000000000000000000",
"firstName": "Acme Corp",
"lastName": "Acme Corp",
"licenseType": "string",
"objectId": "01H0000000000000000000",
"puid": "01H0000000000000000000",
"sellerId": "01H0000000000000000000",
"tenantId": "01H0000000000000000000"
},
"chargebeeCustomerID": "01H0000000000000000000",
"collectableAmount": 100,
"companyInfo": {
"addressLine1": "string",
"addressLine2": "string",
"city": "string",
"country": "string",
"emailDomain": "buyer@example.com",
"name": "Acme Corp",
"postalCode": "string",
"state": "string",
"validFrom": "string"
},
"cppoInOfferCount": 1,
"cppoOutOfferCount": 1,
"customerId": "01H0000000000000000000",
"disbursedAmount": 100,
"emailAddress": "buyer@example.com",
"enrichedCompanyInfo": {
"city": "string",
"contactEmail": "buyer@example.com",
"country": "string",
"creationTime": "2026-01-31T12:00:00Z",
"domain": "string",
"employeeCount": 1,
"foundedYear": "string",
"id": "01H0000000000000000000",
"industry": "string",
"isVendor": true,
"lastUpdateTime": "2026-01-31T12:00:00Z",
"linkedIn": "string"
}
},
"lastUpdateTime": "2026-01-31T12:00:00Z",
"name": "Acme Corp",
"organizationID": "01H0000000000000000000",
"partner": "string",
"s3KeyLogo": "string"
}
],
"page_number": 1,
"page_size": 1,
"total_count": 1,
"total_count_capped": true
} Error — 400
"string" View as Markdown · Interactive API reference
Spotted something wrong or out of date on this page? Tell us and we'll correct it.