Skip to main content

Customer Category API

Customer categories allow you to segment and organize customers for reporting and analysis.


Endpoints

MethodEndpointDescription
GET/record/v1/customerCategoryList all customer categories
GET/record/v1/customerCategory/{id}Get specific category
POST/record/v1/customerCategoryCreate new category
PATCH/record/v1/customerCategory/{id}Update category
DELETE/record/v1/customerCategory/{id}Delete category

Base URL

https://{account_id}.suitetalk.api.netsuite.com/services/rest/record/v1/customerCategory

Key Fields

FieldTypeDescriptionRequired
idstringInternal ID (read-only)-
namestringCategory nameYes
isInactivebooleanInactive flagNo

Example: Create Customer Category

POST /record/v1/customerCategory
Content-Type: application/json
Authorization: Bearer {access_token}
{
"name": "Enterprise"
}

Response

{
"links": [
{
"rel": "self",
"href": "https://1234567.suitetalk.api.netsuite.com/services/rest/record/v1/customerCategory/5"
}
],
"id": "5",
"name": "Enterprise",
"isInactive": false
}

Example: Update Customer Category

PATCH /record/v1/customerCategory/5
Content-Type: application/json
Authorization: Bearer {access_token}
{
"name": "Enterprise - Updated",
"isInactive": false
}

Response

{
"links": [
{
"rel": "self",
"href": "https://1234567.suitetalk.api.netsuite.com/services/rest/record/v1/customerCategory/5"
}
],
"id": "5",
"name": "Enterprise - Updated",
"isInactive": false
}

Query Filters

List All Active Categories

GET /record/v1/customerCategory?q=isInactive=false&limit=100

Find Category by Name

GET /record/v1/customerCategory?q=name='Enterprise'

Find Categories by Partial Name

GET /record/v1/customerCategory?q=name LIKE 'Enter%'

List Inactive Categories

GET /record/v1/customerCategory?q=isInactive=true

Common Use Cases

1. Segment Customers by Size

Create categories to organize customers by business size:

// Create Enterprise category
await createCategory({ name: "Enterprise" });

// Create SMB category
await createCategory({ name: "Small & Medium Business" });

// Create Startup category
await createCategory({ name: "Startup" });

2. Assign Category to Customer

await patchCustomer(customerId, {
category: { id: "5" } // Enterprise
});

3. Report by Customer Category

Use categories to filter customers in reports and queries:

GET /record/v1/customer?q=category='5'

4. Deactivate Unused Category

await patchCategory(categoryId, {
isInactive: true
});

Important Notes

Required Fields

  • name: The category name is required and must be unique

Category Usage

  • Categories can be used for customer segmentation and reporting
  • Customers can have zero or one category assigned
  • Categories are typically used to group customers by:
    • Business size (Enterprise, SMB, Startup)
    • Industry vertical (Healthcare, Finance, Retail)
    • Customer lifecycle (New, Growth, Mature)
    • Geographic region (North America, EMEA, APAC)

Deleting Categories

  • You cannot delete a category that is assigned to active customers
  • Either remove the category from all customers first, or mark it as inactive

Best Practices

  • Keep category names clear and consistent
  • Use categories that align with your reporting needs
  • Consider creating a category hierarchy using naming conventions (e.g., "Enterprise - Healthcare", "Enterprise - Finance")

Common Categories Examples

By Business Size

  • Enterprise
  • Mid-Market
  • Small Business
  • Startup
  • Individual/Consumer

By Industry

  • Healthcare
  • Financial Services
  • Retail
  • Manufacturing
  • Technology
  • Professional Services

By Customer Type

  • Direct Customer
  • Reseller/Partner
  • Government
  • Non-Profit
  • Educational Institution

By Region

  • North America
  • EMEA (Europe, Middle East, Africa)
  • APAC (Asia Pacific)
  • Latin America

See Also