---
title: "GET /api/admin/discovery/batch/{id}/detail"
method: GET
path: "/api/admin/discovery/batch/{id}/detail"
tags: ["Admin"]
---

# GET /api/admin/discovery/batch/{id}/detail

`GET /api/admin/discovery/batch/{id}/detail`

## Request

- Base URL: `https://www.revuo.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://www.revuo.ai/api/admin/discovery/batch/{id}/detail`
- Auth: none declared

## Path parameters

- `id` string, required

## Response `200`

OK

- BatchSessionDetailResponse
  - `session` BatchDiscoverySession, required
    - `id` string, nullable
    - `idCreated` string, date-time
    - `name` string, nullable, required
    - `seedUrls` string[], nullable
    - `maxDepth` integer
    - `maxProducts` integer
    - `status` 'pending' | 'running' | 'paused' | 'completed' | 'cancelled'
    - `isCategoryDiscovery` boolean
    - `targetCategoryId` string, nullable
    - `initialFeatureGroupIds` string[], nullable
    - `featureSuggestions` SuggestedFeatureGroup[], nullable
      - `tempId` string, nullable, required
      - `name` string, nullable, required
      - `slug` string, nullable, required
      - `description` string, nullable
      - `aiReasoning` string, nullable
      - `confidence` number, double
      - `status` 'pending' | 'approved' | 'modified' | 'rejected'
      - `features` SuggestedFeature[], nullable
        - `tempId` string, nullable, required
        - `name` string, nullable, required
        - `slug` string, nullable, required
        - `description` string, nullable
        - `dataType` 'boolean' | 'number' | 'text' | 'enum' | 'multiEnum'
        - `enumOptions` string[], nullable
        - `aiReasoning` string, nullable
        - `confidence` number, double
        - `status` 'pending' | 'approved' | 'modified' | 'rejected'
        - `createdFeatureId` string, nullable
      - `createdFeatureGroupId` string, nullable
    - `suggestionStatus` 'notApplicable' | 'pending' | 'generated' | 'reviewed' | 'featuresCreated'
    - `createdAt` string, date-time
    - `startedAt` string, date-time, nullable
    - `completedAt` string, date-time, nullable
    - `createdByVendorId` string, nullable
    - `totalQueued` integer
    - `totalProcessed` integer
    - `totalSucceeded` integer
    - `totalFailed` integer
    - `totalSkippedDuplicate` integer
    - `discoveredProductIds` string[], nullable
    - `notes` string, nullable
  - `queueItems` BatchDiscoveryQueueItem[], nullable
    - `id` string, nullable
    - `idCreated` string, date-time
    - `sessionId` string, nullable, required
    - `url` string, nullable, required
    - `normalizedUrl` string, nullable, required
    - `depth` integer
    - `status` 'pending' | 'processing' | 'succeeded' | 'failed' | 'skippedDuplicate'
    - `queuedAt` string, date-time
    - `processedAt` string, date-time, nullable
    - `productId` string, nullable
    - `discoveredFromProductId` string, nullable
    - `discoveredCompetitorUrls` string[], nullable
    - `errorMessage` string, nullable
    - `skipReason` string, nullable
  - `products` Product[], nullable
    - `id` string, nullable
    - `idCreated` string, date-time
    - `slug` string, nullable, required
    - `name` string, nullable, required
    - `tagline` string, nullable
    - `description` string, nullable
    - `websiteUrl` string, nullable, required
    - `logoUrl` string, nullable
    - `screenshotUrl` string, nullable
    - `foundedYear` integer, nullable
    - `companyName` string, nullable
    - `companyHq` string, nullable
    - `pricingModel` 'free' | 'freemium' | 'paid' | 'enterprise' | 'contactUs'
    - `pricingStartsAt` string, nullable
    - `categoryIds` string[], nullable
    - `status` 'draft' | 'published' | 'archived'
    - `claimedByVendorId` string, nullable
    - `claimedAt` string, date-time, nullable
    - `claimStatus` 'none' | 'pending' | 'approved'
    - `claimVerifiedVia` 'none' | 'domainMatch' | 'workEmailCode' | 'websiteToken' | 'manual'
    - `aiGeneratedAt` string, date-time, nullable
    - `day30AnalyticsEmailSentAt` string, date-time, nullable
    - `tier` 'free' | 'verified' | 'featured'
    - `tierAssignedAt` string, date-time, nullable
    - `stripeSubscriptionId` string, nullable
    - `tierGracePeriodEnd` string, date-time, nullable
    - `lastClaimVerificationAt` string, date-time, nullable
    - `websiteCheckFailures` string[], nullable
    - `genericityScore` number, double, nullable
    - `genericityScoredAt` string, date-time, nullable
    - `genericPhrases` string[], nullable
    - `backlinkVerified` boolean
    - `backlinkVerifiedAt` string, date-time, nullable
    - `ctaLabel` string, nullable
    - `ctaUrl` string, nullable
    - `badges` ProductBadge[], nullable
    - `aiFieldConfidence` object, nullable
    - `tldr` string, nullable
    - `ourTake` string, nullable
    - `prosAndCons` ProsAndCons
      - `pros` string[], nullable
      - `cons` string[], nullable
    - `knownLimitations` ProductLimitation[], nullable
      - `summary` string, nullable, required
      - `detail` string, nullable
      - `evidenceUrl` string, nullable, required
      - `source` 'userReview' | 'editorial' | 'capabilityGap' | 'externalSource'
      - `severity` 'minor' | 'notable' | 'significant'
      - `addedAt` string, date-time
    - `currentScore` number, double
    - `previousScore` number, double, nullable
    - `scoreHistory` ScoreHistoryEntry[], nullable
      - `date` string, date-time
      - `score` number, double
      - `breakdown` object, nullable
      - `methodologyVersion` string, nullable
    - `excludedFromRanking` boolean
    - `excludedFromRankingReason` string, nullable
    - `competitorProductIds` string[], nullable
    - `discoveredCompetitors` DiscoveredCompetitor[], nullable
      - `name` string, nullable, required
      - `url` string, nullable
      - `reason` string, nullable
      - `confidence` number, double
      - `matchedProductId` string, nullable
    - `isUnverified` boolean
    - `houseProduct` boolean
    - `claimEmailDomain` string, nullable
  - `statusCounts` object, nullable

## Other responses

- `default`: Error (any 4xx/5xx status), as an RFC 9457 problem document.

---

[API](https://skmtc.dev/revuo/apis/revuo-web.md) · [All operations](https://skmtc.dev/revuo/apis/revuo-web/llms.txt) · [OpenAPI document](https://skmtc.dev/revuo/apis/revuo-web/revisions/3889a7c540d3?raw)
