---
title: "Get store customers (v2)"
method: GET
path: "/api/v1/discovery/store-customers-v2/{id}"
tags: ["discovery"]
---

# Get store customers (v2)

`GET /api/v1/discovery/store-customers-v2/{id}`

## Request

- Base URL: `https://point11.ai`
- URL: `https://point11.ai/api/v1/discovery/store-customers-v2/{id}`
- 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`)

Read one customer of a physical-location campaign as the campaign froze them (name, age, job, employer, city, home point, store) with the outcome of their conversations dated in the 30 days ending its results window's as-of day.

## Path parameters

- `id` string, uuid, required: The customer id (a `points[].customerId`).

## Query parameters

- `campaignId` string, uuid, required: Discovery campaign id.
- `dateRange` string, nullable: Result window: `all`, a preset id, or `yyyy-MM-dd..yyyy-MM-dd`. Omit for the campaign's default window.
- `segments` string[]: Narrows the read to these segments, ANDed: one `axis:id` per axis (any number of distinct `customer:` entries), in canonical axis order. Empty reads the whole dispatch.

## Headers

- `Point11-Organization` string, uuid

## Response `200`

Success.

- DiscoveryStoreCustomersGetV2Response
  - `customer` DiscoveryCustomer, required
    - `totalConversations` number, required
    - `mentioned` number, required
    - `won` number, required
    - `positive` number, required: Conversations whose target-brand record carried a positive tone.
    - `negative` number, required: Conversations whose target-brand record carried a negative tone.
    - `choices` object[], required: Every recorded choice, including repeated conversations.
      - `brand` string, required
      - `count` number, required
      - `isTarget` boolean, required
    - `customerId` string, required
    - `name` string, nullable, required
    - `age` number, nullable, required
    - `jobTitle` string, nullable, required
    - `employer` string, nullable, required
    - `city` string, nullable, required
    - `region` string, nullable, required
    - `latitude` number, nullable, required
    - `longitude` number, nullable, required
    - `locationKey` 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)
