---
title: "List customer packs"
method: GET
path: "/api/v1/business/customer-packs"
tags: ["business"]
---

# List customer packs

`GET /api/v1/business/customer-packs`

## Request

- Base URL: `https://point11.ai`
- URL: `https://point11.ai/api/v1/business/customer-packs`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://auth.point11.ai/oauth2/authorize`, token URL `https://auth.point11.ai/oauth2/token`)

List Point11's ready-made audiences for one business profile, by family (Google Ads' audience segment types: affinity, in-market, life events and demographics, then business buyers): each pack's key, revision, family, name, description and buyer type, and how a creative test with it starts (first impressions, or the buying situation it states); how many prewritten people it holds, which business_customer_packs_apply makes customers of the profile with no model call; who its people are as a Manual Profile card (version 3) for this profile, or null with unavailableReason when the profile has no audience of the pack's buyer type or no customer mix yet; and the audience of the pack's name when one exists, with how many of this profile's customers in it can take part in research (eligibleCount). The card is drawn from the profile's current mix, so read it again after the profile changes.

## Query parameters

- `limit` integer: Number of items to return (1–1000)
- `cursor` string: Opaque cursor returned as nextCursor by the previous page
- `businessProfileId` string, uuid, required: The business profile the packs are drawn for

## Headers

- `Point11-Organization` string, uuid

## Response `200`

Success.

- BusinessCustomerPacksListResponse
  - `data` object[], required
    - `key` string, required
    - `revision` integer, required: Bumps whenever a change to the pack would make different people
    - `family` 'affinity' | 'in_market' | 'life_event' | 'demographic' | 'business', required: Google Ads' audience segment types: affinity, a sustained interest or shopping habit with no purchase implied; in_market, comparing options now; life_event, a timed transition; demographic, who someone is, their household or life stage. And business, a professional role in a company's purchase
    - `name` string, required: The pack's name, and the audience name its customers join
    - `description` string, required
    - `buyerType` 'consumer' | 'organization', required
    - `approach` 'first_impressions' | 'buying_scenario', required: How a creative test with the pack starts: reacting as themselves, or in the stated buying situation
    - `buyingSituation` string, nullable, required: The buying situation a creative test states; null unless approach is buying_scenario
    - `standbyCount` integer, required: How many prewritten people the pack holds: the most business_customer_packs_apply makes customers
    - `card` BusinessCard, nullable, required
      - `version` 3, required
      - `baseGenerationProfileId` string, required
      - `baseSourceHash` string, required
      - `profileName` string, required
      - `overrides` object, required
      - `employerAccounts` object[]
        - `name` string, required
        - `domain` string, nullable, required
      - `givenFacts` DiscoveryGivenFacts
        - `age` object
          - `value` number, nullable, required
          - `band` string, nullable, required
        - `location` object
          - `countryCode` string, required
          - `subdivisionCode` string, nullable, required
          - `locality` string, nullable
          - `postalCode` string, nullable
        - `household` union
          - object
            - `adults` integer, nullable, required
            - `children` integer, nullable, required
            - `pets` integer, nullable, required
          - object
            - `statement` string, required
        - `householdIncome` object
          - `value` number, nullable, required
          - `band` string, nullable, required
        - `jobTitle` string
        - `employer` string
        - `yearsInRole` object
          - `value` number, required
        - `companySize` object
          - `value` number, nullable, required
          - `band` string, nullable, required
        - `annualRevenue` object
          - `value` number, required
        - `stakeholders` string
        - `budget` string
        - `constraints` string
        - `situation` string
        - `trigger` string
        - `functionalNeed` string
        - `emotionalNeed` string
        - `socialNeed` string
        - `desiredOutcome` string
        - `labels` string[]
    - `unavailableReason` string, nullable, required
    - `audience` object, nullable, required
      - `id` string, uuid, required
      - `eligibleCount` integer, required
  - `nextCursor` string, nullable, required

## Other responses

- `400`: The input, query, or Idempotency-Key is invalid.
- `401`: The bearer is missing, expired, or not accepted.
- `403`: The credential lacks the operation's scope or role, or the operation needs a different door.
- `404`: The resource or organization does not exist for this caller.
- `405`: This path takes another HTTP method, named in `Allow`.
- `409`: The request conflicts with current state or with prior use of its Idempotency-Key.
- `413`: The request, or the answer it asks for, is too large; narrow it.
- `429`: The credential's rate budget is spent; retry after `Retry-After` seconds.
- `500`: An unexpected server failure; retry later. Only `request_id` identifies it.
- `503`: A dependency is temporarily unavailable; retry after `Retry-After` seconds.
- `default`: Another status a product answers for its own refusal (for example `415` for an unsupported attachment); branch on `code`.

---

[API](https://skmtc.dev/point11/apis/point11-api.md) · [All operations](https://skmtc.dev/point11/apis/point11-api/llms.txt) · [OpenAPI document](https://skmtc.dev/point11/apis/point11-api/revisions/36a84c7aca11?raw)
