---
title: "List profile rows"
method: GET
path: "/api/v1/business/profile-rows"
tags: ["business"]
---

# List profile rows

`GET /api/v1/business/profile-rows`

## Request

- Base URL: `https://point11.ai`
- URL: `https://point11.ai/api/v1/business/profile-rows`
- 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 the rows of the organization's Profiles table: each brand business profile (active by default, or archived) with its customer (its stores' included), campaign, and version counts and its latest generation state, plus any first generation still running or failed that has no profile yet. A store's place profile is no row of its own: list a brand's stores with business_store_profile_summaries_get. Filter by search, sort, and page with nextCursor.

## Query parameters

- `limit` integer: Number of items to return (1–1000)
- `cursor` string: Opaque cursor returned as nextCursor by the previous page
- `lifecycleStatus` 'active' | 'archived'
- `search` string: Match the profile's name or website
- `sort` 'id' | 'url' | 'generationStatus' | 'customerCount' | 'campaignCount' | 'updatedAt': Sort column; omit for running and failed generations first, then newest
- `direction` 'asc' | 'desc'

## Headers

- `Point11-Organization` string, uuid

## Response `200`

Success.

- BusinessProfileRowsListResponse
  - `data` object[], required
    - `id` string, required
    - `profileId` string, uuid, nullable, required
    - `profileKey` string, nullable, required
    - `name` string, nullable, required
    - `url` string, required
    - `businessSummary` string, nullable, required
    - `subjectType` 'person' | 'business' | 'nonprofit' | 'public_institution' | 'product_or_offering', nullable, required
    - `customerCount` integer, required
    - `campaignCount` integer, required
    - `versionCount` integer, required
    - `providerCount` integer, required
    - `partial` boolean, required
    - `generatedAt` string, date-time, required
    - `updatedAt` string, date-time, required
    - `lifecycleStatus` 'active' | 'archived' | 'deleted', required
    - `archivedAt` string, date-time, nullable, required
    - `deletedAt` string, date-time, nullable, required
    - `artifactAvailable` boolean, required
    - `latestAttemptState` 'running' | 'succeeded' | 'failed' | 'cancelled' | 'partial', nullable, required
    - `generationProgress` object, nullable, required
      - `state` string, required
      - `label` string, required
      - `takingLonger` boolean, required
      - `executionStatus` 'waiting' | 'running', required
    - `publicSupportReference` string, nullable, required
  - `nextCursor` string, nullable, required
  - `totalCount` integer, required
  - `hasActiveGeneration` boolean, 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/5241805fe425?raw)
