Zoca Discovery API

The Discovery API from Zoca — 35 operation(s) for discovery.

Operations 35

GET /discovery/pre-onboarding Get pre-onboarding business data by placeId #
POST /discovery/aeo-reports Create an AEO/GEO visibility report audit run #
GET /discovery/aeo-reports/latest Get the latest AEO/GEO visibility audit data for a location #
GET /discovery/aeo-reports/{auditRunId} Get report-ready AEO/GEO visibility audit data #
GET /discovery/aeo-reports/{auditRunId}/raw Get raw AEO/GEO visibility audit data and artifact references #
POST /discovery/aeo-reports/{auditRunId}/custom-prompts Add a user custom prompt to an existing AEO report #
GET /discovery/multilocation/{businessEntityId}/overview Get network-wide Discovery overview for a multi-location business #
GET /discovery/multilocation/{businessEntityId}/keywords Get network keywords & rankings for a multi-location business #
GET /discovery/multilocation/{businessEntityId}/reviews-by-region Get reviews velocity by region for a multi-location business #
GET /discovery/multilocation/{businessEntityId}/location-health Get per-location Discovery health for a multi-location business #
GET /discovery/{locationEntityId}/impact-nudges Get impact nudges for a location entity #
GET /discovery/{locationEntityId}/gbp/metrics Get GBP analytics metrics for a location #
GET /discovery/{locationEntityId}/gbp/optimization-score Get GBP Optimization Score for a location #
GET /discovery/{locationEntityId}/website/metrics Get website metrics for a location #
GET /discovery/{locationEntityId}/keyword/performance/metrics Get zocaweb keyword performance KPI metrics #
GET /discovery/{locationEntityId}/keyword/performance/keywords Get zocaweb paginated keyword performance rows #
GET /discovery/{locationEntityId}/keyword/performance Get keyword performance for a location #
GET /discovery/{locationEntityId}/website/optimization-score Get Website Optimization Score for a location #
GET /discovery/{locationEntityId}/review/metrics Get review metrics for a location #
GET /discovery/{locationEntityId}/agent-journey/metrics Get agent journey metrics for a location #
GET /discovery/insights/new Get insights for a place (new version) #
GET /discovery/{locationEntityId}/tasks-done Get tasks done last week for a location #
GET /discovery/cx-report/{locationEntityId}/profile-completion Get CX report for a location #
GET /discovery/cx-report/{locationEntityId}/monthly-impressions Get keyword impression report for a location #
GET /discovery/{locationEntityId}/competitor/table Get competitor table data #
GET /discovery/{locationEntityId}/competitor/pie-chart Get competitor pie chart data #
GET /discovery/{locationEntityId}/competitor/gbp-audit Get GBP competitor audit #
GET /discovery/{locationEntityId}/website/dashboard-summary Get website dashboard summary for a location #
GET /discovery/{locationEntityId}/website/recent-activity Get recent activity feed for a location #
GET /discovery/{locationEntityId}/website/top-pages Get top pages by type for a location #
PUT /discovery/{locationEntityId}/gbp/update Update GBP profile data directly (no approval) #
GET /discovery/{locationEntityId}/audit/gbp-breakdown Get detailed GBP completion breakdown for the audit screen #
GET /discovery/{locationEntityId}/leadership-report-v1 Get v1 leadership report for a location #
POST /discovery/seo-predictor/analyze Analyze a URL for SEO + GEO predictions #
POST /discovery/seo-predictor/rescore Re-score with signal overrides #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/zoca-discovery-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

zoca-discovery-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Zoca Platform Discovery API
  description: 'The Zoca platform API behind the Zoca web app and mobile apps: scheduling, website generation, Google Business Profile, discovery/local SEO, social media, booking enquiries, offers, clients, staff, billing and the Zoca "brain" agent layer.'
  version: 3.20.10
  contact: {}
  x-apievangelist-note: Harvested verbatim from https://api.zoca.ai/swagger.json. The provider ships the default NestJS Swagger metadata (title "API Documentation", empty servers[]); title/description/servers were set by API Evangelist for identification and the unmodified original is preserved at openapi/_original/zoca-platform-swagger.json. Every path, operation, summary, parameter and response is exactly as published.
servers:
- url: https://api.zoca.ai
  description: Production
tags:
- name: Discovery
paths:
  /discovery/pre-onboarding:
    get:
      operationId: t_value
      parameters:
      - name: placeId
        required: true
        in: query
        description: Google Place ID
        schema:
          type: string
      responses:
        '200':
          description: Pre-onboarding business snapshot
      summary: Get pre-onboarding business data by placeId
      tags:
      - Discovery
  /discovery/aeo-reports:
    post:
      operationId: t_value
      parameters: []
      responses:
        '200':
          description: Queued AEO audit run
      summary: Create an AEO/GEO visibility report audit run
      tags:
      - Discovery
  /discovery/aeo-reports/latest:
    get:
      operationId: t_value
      parameters: []
      responses:
        '200':
          description: Latest AEO report data, or null when no run exists
      summary: Get the latest AEO/GEO visibility audit data for a location
      tags:
      - Discovery
  /discovery/aeo-reports/{auditRunId}:
    get:
      operationId: t_value
      parameters: []
      responses:
        '200':
          description: AEO report data
      summary: Get report-ready AEO/GEO visibility audit data
      tags:
      - Discovery
  /discovery/aeo-reports/{auditRunId}/raw:
    get:
      operationId: t_value
      parameters: []
      responses:
        '200':
          description: Raw AEO report data
      summary: Get raw AEO/GEO visibility audit data and artifact references
      tags:
      - Discovery
  /discovery/aeo-reports/{auditRunId}/custom-prompts:
    post:
      operationId: t_value
      parameters: []
      responses:
        '202':
          description: Custom prompt accepted and queued for measurement
      summary: Add a user custom prompt to an existing AEO report
      tags:
      - Discovery
  /discovery/multilocation/{businessEntityId}/overview:
    get:
      description: Resolves every location of the business and aggregates funnel steps, Google/AI visibility, and content totals across the network.
      operationId: t_value
      parameters:
      - name: businessEntityId
        required: true
        in: path
        description: Business entity UUID
        schema:
          example: c65a879b-bf21-4b5c-ace5-51992c4a1e62
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/e'
      summary: Get network-wide Discovery overview for a multi-location business
      tags:
      - Discovery
  /discovery/multilocation/{businessEntityId}/keywords:
    get:
      description: Unions tracked keywords across every location, with per-keyword average position, volume, delta, and top-3 location counts.
      operationId: t_value
      parameters:
      - name: businessEntityId
        required: true
        in: path
        description: Business entity UUID
        schema:
          example: c65a879b-bf21-4b5c-ace5-51992c4a1e62
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/e'
      summary: Get network keywords & rankings for a multi-location business
      tags:
      - Discovery
  /discovery/multilocation/{businessEntityId}/reviews-by-region:
    get:
      description: Groups locations by region (state / administrative area) with new reviews this period and a review-count-weighted average rating.
      operationId: t_value
      parameters:
      - name: businessEntityId
        required: true
        in: path
        description: Business entity UUID
        schema:
          example: c65a879b-bf21-4b5c-ace5-51992c4a1e62
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/e'
      summary: Get reviews velocity by region for a multi-location business
      tags:
      - Discovery
  /discovery/multilocation/{businessEntityId}/location-health:
    get:
      description: One row per location with GBP completeness, reviews, keyword rankings, AI mention rate, and most-recent Google post.
      operationId: t_value
      parameters:
      - name: businessEntityId
        required: true
        in: path
        description: Business entity UUID
        schema:
          example: c65a879b-bf21-4b5c-ace5-51992c4a1e62
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/e'
      summary: Get per-location Discovery health for a multi-location business
      tags:
      - Discovery
  /discovery/{locationEntityId}/impact-nudges:
    get:
      operationId: t_value
      parameters: []
      responses:
        '200':
          description: Returns impact nudges snapshot badges
      summary: Get impact nudges for a location entity
      tags:
      - Discovery
  /discovery/{locationEntityId}/gbp/metrics:
    get:
      description: Retrieves comprehensive GBP metrics including profile views, search appearances, direction requests, and phone calls with time series data and period-over-period comparisons.
      operationId: t_value
      parameters:
      - name: locationEntityId
        required: true
        in: path
        description: Location entity UUID
        schema:
          example: c65a879b-bf21-4b5c-ace5-51992c4a1e62
      responses:
        '200':
          description: Successfully retrieved GBP metrics
          content:
            application/json:
              schema:
                example:
                  overall:
                    percentageChange: 18
                    trend: up
                  metrics:
                    profileViews:
                      label: Profile Views
                      icon: https://ik.imagekit.io/zoca/app/assets/icons/profile-views.png
                      total: 847
                      previousTotal: 756
                      delta:
                        absolute: 91
                        percentage: 12
                        trend: up
                      timeSeries:
                      - date: '2025-12-22'
                        value: 118
                      - date: '2025-12-23'
                        value: 121
                      - date: '2025-12-24'
                        value: 109
                      - date: '2025-12-25'
                        value: 96
                      - date: '2025-12-26'
                        value: 132
                      - date: '2025-12-27'
                        value: 141
                      - date: '2025-12-28'
                        value: 130
                    searchAppearances:
                      label: Website Clicks
                      icon: https://ik.imagekit.io/zoca/app/assets/icons/search-appearances.png
                      total: 2100
                      previousTotal: 1707
                      delta:
                        absolute: 393
                        percentage: 23
                        trend: up
                      timeSeries: []
                    directionRequests:
                      label: Direction Requests
                      icon: https://ik.imagekit.io/zoca/app/assets/icons/direction-requests.png
                      total: 156
                      previousTotal: 144
                      delta:
                        absolute: 12
                        percentage: 8
                        trend: up
                      timeSeries: []
                    phoneCalls:
                      label: Phone Calls
                      icon: https://ik.imagekit.io/zoca/app/assets/icons/phone-calls.png
                      total: 89
                      previousTotal: 77
                      delta:
                        absolute: 12
                        percentage: 15
                        trend: up
                      timeSeries: []
        '400':
          description: Bad request - invalid date format or parameters
      summary: Get GBP analytics metrics for a location
      tags:
      - Discovery
  /discovery/{locationEntityId}/gbp/optimization-score:
    get:
      description: Retrieves the GBP optimization score (zocaScore) indicating how well the Google Business Profile is optimized (0-100). The score is calculated dynamically using insights data.
      operationId: t_value
      parameters:
      - name: locationEntityId
        required: true
        in: path
        description: Location entity UUID
        schema:
          example: c65a879b-bf21-4b5c-ace5-51992c4a1e62
      responses:
        '200':
          description: Successfully retrieved GBP optimization score (zocaScore)
          content:
            application/json:
              schema:
                example:
                  score: 65
                  maxScore: 100
                  metadata:
                    lastUpdated: '2025-01-07T00:00:00Z'
                    category: GBP_OPTIMIZATION
                    confidence: high
        '400':
          description: Bad request - invalid location entity ID
        '404':
          description: Location or placeId not found for the given location entity ID
      summary: Get GBP Optimization Score for a location
      tags:
      - Discovery
  /discovery/{locationEntityId}/website/metrics:
    get:
      description: Retrieves comprehensive website metrics including visitors, page views, average time on site, and leads with period-over-period comparisons.
      operationId: t_value
      parameters:
      - name: locationEntityId
        required: true
        in: path
        description: Location entity UUID
        schema:
          example: c65a879b-bf21-4b5c-ace5-51992c4a1e62
      responses:
        '200':
          description: Successfully retrieved website metrics
          content:
            application/json:
              schema:
                example:
                  overall:
                    percentageChange: 10
                    trend: up
                  metrics:
                    totalVisitors:
                      label: Total Visitors
                      total: 100
                      previousTotal: 80
                      delta:
                        absolute: 20
                        percentage: 25
                        trend: up
                      timeSeries:
                      - date: '2025-06-30'
                        value: 43
                      - date: '2025-07-07'
                        value: 31
                      - date: '2025-07-14'
                        value: 28
                      - date: '2025-07-21'
                        value: 26
                    pageViews:
                      label: Total Visitors
                      total: 100
                      previousTotal: 80
                      delta:
                        absolute: 20
                        percentage: 25
                        trend: up
                      timeSeries:
                      - date: '2025-06-30'
                        value: 43
                      - date: '2025-07-07'
                        value: 31
                      - date: '2025-07-14'
                        value: 28
                      - date: '2025-07-21'
                        value: 26
                    averageTimeSpent:
                      label: Total Visitors
                      total: 100
                      previousTotal: 80
                      delta:
                        absolute: 20
                        percentage: 25
                        trend: up
                      timeSeries:
                      - date: '2025-06-30'
                        value: 43
                      - date: '2025-07-07'
                        value: 31
                      - date: '2025-07-14'
                        value: 28
                      - date: '2025-07-21'
                        value: 26
                    leads:
                      label: Total Visitors
                      total: 100
                      previousTotal: 80
                      delta:
                        absolute: 20
                        percentage: 25
                        trend: up
                      timeSeries:
                      - date: '2025-06-30'
                        value: 43
                      - date: '2025-07-07'
                        value: 31
                      - date: '2025-07-14'
                        value: 28
                      - date: '2025-07-21'
                        value: 26
        '400':
          description: Bad request - invalid date format or parameters
      summary: Get website metrics for a location
      tags:
      - Discovery
  /discovery/{locationEntityId}/keyword/performance/metrics:
    get:
      description: Returns KPI counts for the zocaweb keyword performance cards.
      operationId: t_value
      parameters: []
      responses:
        '200':
          description: ''
      summary: Get zocaweb keyword performance KPI metrics
      tags:
      - Discovery
  /discovery/{locationEntityId}/keyword/performance/keywords:
    get:
      description: Returns backend-paginated keyword rows for a selected KPI bucket.
      operationId: t_value
      parameters: []
      responses:
        '200':
          description: ''
      summary: Get zocaweb paginated keyword performance rows
      tags:
      - Discovery
  /discovery/{locationEntityId}/keyword/performance:
    get:
      description: Retrieves comprehensive keyword ranking performance metrics
      operationId: t_value
      parameters:
      - name: limit
        required: false
        in: query
        description: 'Items per page (default: 20, max: 50)'
        schema:
          type: number
      - name: page
        required: false
        in: query
        description: 'Page number (default: 1)'
        schema:
          type: number
      - name: locationEntityId
        required: true
        in: path
        description: Location entity UUID
        schema:
          example: c65a879b-bf21-4b5c-ace5-51992c4a1e62
      responses:
        '200':
          description: Successfully retrieved keyword performance metrics
          content:
            application/json:
              schema:
                example:
                  totalKeywords: 50
                  keywordsImprovedPercentage: 50
                  averageRankImprovementPercentage: 42.5
                  top3Percentage: 42
                  page: 1
                  limit: 20
                  totalPages: 3
                  keywords:
                    total: 50
                    items:
                    - keyword: facial near me
                      joiningRank: 21
                      currentRank: 1
                      rankDelta: 20
                    - keyword: hydrafacial near me
                      joiningRank: 18
                      currentRank: 1
                      rankDelta: 17
        '400':
          description: Bad request - invalid date format or parameters
      summary: Get keyword performance for a location
      tags:
      - Discovery
  /discovery/{locationEntityId}/website/optimization-score:
    get:
      description: Retrieves the Website optimization score indicating how well the Website is optimized (0-100).
      operationId: t_value
      parameters:
      - name: locationEntityId
        required: true
        in: path
        description: Location entity UUID
        schema:
          example: c65a879b-bf21-4b5c-ace5-51992c4a1e62
      responses:
        '200':
          description: Successfully retrieved Website optimization score
          content:
            application/json:
              schema:
                example:
                  score: 94
                  maxScore: 100
                  metadata:
                    lastUpdated: '2025-12-29T00:00:00Z'
                    category: WEBSITE_OPTIMIZATION
                    confidence: high
                    factors:
                      profileCompleteness: 98
                      postFrequency: 92
                      reviewResponseRate: 95
                      photoQuality: 90
        '400':
          description: Bad request - invalid location entity ID
      summary: Get Website Optimization Score for a location
      tags:
      - Discovery
  /discovery/{locationEntityId}/review/metrics:
    get:
      description: Retrieves comprehensive review performance metrics including reviews received, automated invites, app invites, and QR scans with period-over-period comparisons.
      operationId: t_value
      parameters:
      - name: locationEntityId
        required: true
        in: path
        description: Location entity UUID
        schema:
          example: c65a879b-bf21-4b5c-ace5-51992c4a1e62
      responses:
        '200':
          description: Successfully retrieved review metrics
          content:
            application/json:
              schema:
                example:
                  overall:
                    percentageChange: 8
                    trend: up
                  metrics:
                    reviewsReceived:
                      label: Reviews Received
                      icon: https://ik.imagekit.io/zoca/app/assets/icons/speech-bubble.png
                      total: 23
                      previousTotal: 21
                      delta:
                        absolute: 2
                        percentage: 8
                        trend: up
                    automatedInvites:
                      label: Automated Invites
                      icon: https://ik.imagekit.io/zoca/app/assets/icons/automated.png
                      total: 30
                      previousTotal: 25
                      delta:
                        absolute: 5
                        percentage: 20
                        trend: up
                    appInvites:
                      label: App Invites
                      icon: https://ik.imagekit.io/zoca/app/assets/icons/app.png
                      total: 24
                      previousTotal: 16
                      delta:
                        absolute: 8
                        percentage: 50
                        trend: up
                    qrScans:
                      label: QR Scans
                      icon: https://ik.imagekit.io/zoca/app/assets/icons/qr-code.png
                      total: 24
                      previousTotal: 9
                      delta:
                        absolute: 15
                        percentage: 167
                        trend: up
        '400':
          description: Bad request - invalid date format or parameters
      summary: Get review metrics for a location
      tags:
      - Discovery
  /discovery/{locationEntityId}/agent-journey/metrics:
    get:
      description: Retrieves comprehensive agent journey metrics including hours saved, tasks done, task categories, and key achievements with period-over-period comparisons.
      operationId: t_value
      parameters:
      - name: locationEntityId
        required: true
        in: path
        description: Location entity UUID
        schema:
          example: c65a879b-bf21-4b5c-ace5-51992c4a1e62
      responses:
        '200':
          description: Successfully retrieved agent journey metrics
          content:
            application/json:
              schema:
                example:
                  overall:
                    hoursSaved:
                      value: 23.3
                      text: $1123 worth of work
                    tasksDone:
                      value: 20
                      text: Since you joined
                  taskCategories:
                    gbpTasks: 9
                    websiteTasks: 6
                    reviewTasks: 5
                  metrics:
                    tasksLastWeek:
                      label: Tasks last week
                      total: 20
                    rating:
                      label: Rating
                      total: 45
                    reviews:
                      label: Search Rank
                      total: 3
                    gbpScore:
                      label: GBP Score
                      total: 89
        '400':
          description: Bad request - invalid date format or parameters
      summary: Get agent journey metrics for a location
      tags:
      - Discovery
  /discovery/insights/new:
    get:
      description: Retrieves insights for a placeId using cached data. Rank extraction must be completed first via extractPrimaryCategoryRank endpoint. This endpoint directly computes insights without triggering rank extraction.
      operationId: t_value
      parameters:
      - name: processId
        required: false
        in: query
        description: Optional process ID. If not provided, will be retrieved from database
        schema:
          type: string
      - name: placeId
        required: true
        in: query
        description: Google Maps placeId of the business
        schema:
          type: string
      responses:
        '200':
          description: Successfully retrieved insights
          content:
            application/json:
              schema:
                example:
                  status: 200
                  data:
                    insights: {}
                    zocaScoreData: {}
                    processId: uuid-here
        '400':
          description: Bad request - missing placeId or invalid parameters
        '500':
          description: Internal server error - rank extraction data not ready or other error
      summary: Get insights for a place (new version)
      tags:
      - Discovery
  /discovery/{locationEntityId}/tasks-done:
    get:
      description: Retrieves the number of tasks done last week for a location
      operationId: t_value
      parameters:
      - name: locationEntityId
        required: true
        in: path
        description: Location entity UUID
        schema:
          example: c65a879b-bf21-4b5c-ace5-51992c4a1e62
      responses:
        '200':
          description: Successfully retrieved tasks done last week
          content:
            application/json:
              schema:
                example:
                  totalCount: 20
                  tasksLastWeek: 20
                  gbpCount: 20
                  reviewsCount: 20
                  websiteCount: 20
        '400':
          description: Bad request - invalid location entity ID
      summary: Get tasks done last week for a location
      tags:
      - Discovery
  /discovery/cx-report/{locationEntityId}/profile-completion:
    get:
      description: Retrieves the CX report for a location
      operationId: t_value
      parameters:
      - name: locationEntityId
        required: true
        in: path
        description: Location entity UUID
        schema:
          example: c65a879b-bf21-4b5c-ace5-51992c4a1e62
      responses:
        '200':
          description: Successfully retrieved CX report
          content:
            application/json:
              schema:
                example:
                  locationData: {}
                  keywordImpression: []
                  keywordDemand:
                    data: []
                    meta: {}
                  keywordRanking: {}
        '400':
          description: Bad request - invalid location entity ID
      summary: Get CX report for a location
      tags:
      - Discovery
  /discovery/cx-report/{locationEntityId}/monthly-impressions:
    get:
      description: Retrieves a paginated keyword impression report with hero metrics (total impressions, new search terms, growth, active terms) and a keyword list with three-month comparison (current month, last month, onboarding month).
      operationId: t_value
      parameters:
      - name: limit
        required: false
        in: query
        description: 'Keywords per page (default: 20)'
        schema:
          example: 20
      - name: page
        required: false
        in: query
        description: 'Page number (1-indexed, default: 1)'
        schema:
          example: 1
      - name: locationEntityId
        required: true
        in: path
        description: Location entity UUID
        schema:
          example: c65a879b-bf21-4b5c-ace5-51992c4a1e62
      responses:
        '200':
          description: Successfully retrieved keyword impression report
          content:
            application/json:
              schema:
                example:
                  data:
                    locationData:
                      name: Hair Salon Hoboken
                      address: 123 Main St, Hoboken, NJ 07030
                      phone: 201-555-1234
                      website: https://www.hairsalonhoboken.com
                      email: info@hairsalonhoboken.com
                      hours: Mon-Fri 9:00-18:00
                    deviceClickBreakdown:
                      desktopClicks: 300
                      mobileClicks: 700
                      totalClicks: 1000
                      desktopPercentage: 30
                      mobilePercentage: 70
                    totalImpressions: 1000
                    newSearchTerms:
                      total: 10
                      keywords:
                      - hair salon hoboken
                      - balayage near me
                    growthVsLastMonth: 15.5
                    activeSearchTerms: 85
                    keywords:
                    - keyword: hair salon hoboken
                      count:
                        currentMonth: 150
                        lastMonth: 100
                        onboardingMonth: 50
                    onboardingDate: '2025-10-02'
                    keywordRankingPerformance:
                      totalKeywords: 10
                      keywordsImprovedPercentage: 70
                      averageRankImprovementPercentage: 3.5
                      top3Percentage: 30
                      keywords:
                        total: 10
                        items:
                        - keyword: hair salon hoboken
                          joiningRank: 8
                          currentRank: 3
                          rankDelta: 5
                  pagination:
                    total: 100
                    page: 1
                    limit: 20
                    pages: 5
        '400':
          description: Bad request - invalid location entity ID
      summary: Get keyword impression report for a location
      tags:
      - Discovery
  /discovery/{locationEntityId}/competitor/table:
    get:
      description: Retrieves competitor data from the local pack for creating a comparative analysis table.
      operationId: t_value
      parameters:
      - name: cached
        required: false
        in: query
        description: 'Use cached data (default: true)'
        schema:
          type: boolean
      responses:
        '200':
          description: Successfully retrieved competitor table data
        '404':
          description: No competitor data available for this entity
      summary: Get competitor table data
      tags:
      - Discovery
  /discovery/{locationEntityId}/competitor/pie-chart:
    get:
      description: Retrieves competitor data for generating pie chart visualization with revenue share analysis.
      operationId: t_value
      parameters:
      - name: cached
        required: false
        in: query
        description: 'Use cached data (default: true)'
        schema:
          type: boolean
      responses:
        '200':
          description: Successfully retrieved competitor pie chart data
        '404':
          description: No competitor data available for this entity
      summary: Get competitor pie chart data
      tags:
      - Discovery
  /discovery/{locationEntityId}/competitor/gbp-audit:
    get:
      description: Retrieves GBP competitor audit data including competition factor score and mapped insights.
      operationId: t_value
      parameters: []
      responses:
        '200':
          description: Successfully retrieved GBP competitor audit data
        '404':
          description: No competitor data available for this entity
      summary: Get GBP competitor audit
      tags:
      - Discovery
  /discovery/{locationEntityId}/website/dashboard-summary:
    get:
      description: 'Returns headline stats: leads (with delta), visitors (with delta), booking clicks, and pages live.'
      operationId: t_value
      parameters:
      - name: locationEntityId
        required: true
        in: path
        description: Location entity UUID
        schema:
          example: c65a879b-bf21-4b5c-ace5-51992c4a1e62
      responses:
        '200':
          description: Successfully retrieved dashboard summary
          content:
            application/json:
              schema:
                example:
                  leads:
                    total: 24
                    delta: 6
                    deltaPercentage: 33.3
                    trend: UP
                  visitors:
                    total: 842
                    delta: 90
                    deltaPercentage: 12
                    trend: UP
                  bookingClicks:
                    total: 67
                  pagesLive:
                    total: 18
        '400':
          description: Bad request - invalid date format or parameters
      summary: Get website dashboard summary for a location
      tags:
      - Discovery
  /discovery/{locationEntityId}/website/recent-activity:
    get:
      description: Returns a chronological feed of recent entity events from the updates system.
      operationId: t_value
      parameters:
      - name: locationEntityId
        required: true
        in: path
        description: Location entity UUID
        schema:
          example: c65a879b-bf21-4b5c-ace5-51992c4a1e62
      responses:
        '200':
          description: Successfully retrieved recent activity
          content:
            application/json:
              schema:
                example:
                  activities:
                  - type: NEW_LEAD_WITH_SERVICE
                    title: New lead captured
                    description: Contact form on Gel Manicure page
                    feature: Website
                    timestamp: '2026-03-29T14:00:00Z'
      summary: Get recent activity feed for a location
      tags:
      - Discovery
  /discovery/{locationEntityId}/website/top-pages:
    get:
      description: Returns page-type performance breakdown (services, home, other) with views, unique views, booking clicks, and trend.
      operationId: t_value
      parameters:
      - name: locationEntityId
        required: true
        in: path
        description: Location entity UUID
        schema:
          example: c65a879b-bf21-4b5c-ace5-51992c4a1e62
      responses:
        '200':
          description: Successfully retrieved top pages
          content:
            application/json:
              schema:
                example:
                  pages:
                  - pageType: services
                    label: Services
                    views: 312
                    uniqueViews: 278
                    bookNowClicks: 67
                    trend:
                      deltaPercentage: 24
                      direction: UP
                  - pageType: home
                    label: Home
                    views: 174
                    uniqueViews: 156
                    bookNowClicks: 12
                    trend:
                      deltaPercentage: 9
                      direction: UP
        '400':
          

# --- truncated at 32 KB (35 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/zoca/refs/heads/main/openapi/zoca-discovery-api-openapi.yml