Skip to content

Commit f82938b

Browse files
Merge branch 'main' of github.com:adobe/spacecat-api-service into feat/serenity-init
2 parents 9b49b25 + 1b8108c commit f82938b

9 files changed

Lines changed: 823 additions & 106 deletions

File tree

.github/workflows/e2e-tests.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,12 @@ jobs:
1414

1515
steps:
1616
- name: Checkout code
17-
uses: actions/checkout@v5
17+
uses: actions/checkout@v6
1818
with:
1919
persist-credentials: 'false'
2020

2121
- name: Set up Node
22-
uses: actions/setup-node@v5
22+
uses: actions/setup-node@v6
2323
with:
2424
node-version-file: '.nvmrc'
2525

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
## [1.488.1](https://github.com/adobe/spacecat-api-service/compare/v1.488.0...v1.488.1) (2026-05-11)
2+
3+
4+
### Bug Fixes
5+
6+
* enable category filtering in filter-dimensions ([#2356](https://github.com/adobe/spacecat-api-service/issues/2356)) ([37938ef](https://github.com/adobe/spacecat-api-service/commit/37938ef3758879e76e0de16d451caf22b01647e3))
7+
18
# [1.488.0](https://github.com/adobe/spacecat-api-service/compare/v1.487.0...v1.488.0) (2026-05-11)
29

310

docs/openapi/api.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -500,6 +500,8 @@ paths:
500500
$ref: './llmo-api.yaml#/llmo-agentic-traffic-weeks'
501501
/sites/{siteId}/agentic-traffic/movers:
502502
$ref: './llmo-api.yaml#/llmo-agentic-traffic-movers'
503+
/org/{spaceCatId}/brands/{brandId}/brand-presence/filter-dimensions:
504+
$ref: './llmo-api.yaml#/brand-presence-filter-dimensions'
503505
/org/{spaceCatId}/brands/{brandId}/brand-presence/prompt-execution-status:
504506
$ref: './llmo-api.yaml#/brand-presence-prompt-execution-status'
505507
/org/{spaceCatId}/brands/{brandId}/brand-presence/url-inspector/stats:

docs/openapi/llmo-api.yaml

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3275,6 +3275,53 @@ llmo-agentic-traffic-movers:
32753275
- ims_key: []
32763276
- scoped_api_key: []
32773277

3278+
brand-presence-filter-dimensions:
3279+
parameters: *url-inspector-common-params
3280+
get:
3281+
tags:
3282+
- llmo
3283+
summary: Filter dimensions for the Brand Presence config dashboard
3284+
description: |
3285+
Returns the distinct brands, categories, topics, regions, origins, page intents,
3286+
and prompt stats available for the given organization. Used to populate the
3287+
filter dropdowns in the Brand Presence configuration view.
3288+
3289+
Brand scoping is driven by the `brandId` path segment:
3290+
* `brands/{brandId}` → filter by that specific brand
3291+
* `brands/all` → aggregate across all brands (filterByBrandId = null)
3292+
3293+
Use `siteId` to further narrow brand options to those linked to a specific site.
3294+
Use `categoryId` to scope the returned topics and prompt count to a single category.
3295+
operationId: getBrandPresenceFilterDimensions
3296+
parameters:
3297+
- name: siteId
3298+
in: query
3299+
required: false
3300+
description: Optional site UUID to narrow brand options to those linked to the site
3301+
schema: { type: string, format: uuid }
3302+
- name: categoryId
3303+
in: query
3304+
required: false
3305+
description: Optional category UUID to scope topics and prompt count to a single category
3306+
schema: { type: string, format: uuid }
3307+
responses:
3308+
'200':
3309+
description: Filter dimensions for the Brand Presence config view
3310+
content:
3311+
application/json:
3312+
schema:
3313+
$ref: './schemas.yaml#/BrandPresenceFilterDimensions'
3314+
'400': { $ref: './responses.yaml#/400' }
3315+
'401': { $ref: './responses.yaml#/401' }
3316+
'403': { $ref: './responses.yaml#/403' }
3317+
'500': { $ref: './responses.yaml#/500' }
3318+
'503':
3319+
description: PostgREST / mysticat not configured for this deployment
3320+
security:
3321+
- api_key: []
3322+
- ims_key: []
3323+
- scoped_api_key: []
3324+
32783325
brand-presence-prompt-execution-status:
32793326
parameters: *url-inspector-common-params
32803327
get:

docs/openapi/schemas.yaml

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8503,6 +8503,61 @@ UrlInspectorFilterDimensions:
85038503
label: { type: string }
85048504
required: [id, label]
85058505
required: [categories, regions, content_types]
8506+
8507+
BrandPresenceFilterOption:
8508+
type: object
8509+
description: A single id/label option for a filter dropdown
8510+
properties:
8511+
id: { type: string }
8512+
label: { type: string }
8513+
required: [id, label]
8514+
8515+
BrandPresenceFilterDimensions:
8516+
type: object
8517+
description: |
8518+
Filter dimensions for the Brand Presence configuration view.
8519+
Each dimension is an array of id/label pairs except `stats`.
8520+
properties:
8521+
brands:
8522+
type: array
8523+
description: Brands accessible for the organization (and optionally a specific site).
8524+
items:
8525+
$ref: '#/BrandPresenceFilterOption'
8526+
categories:
8527+
type: array
8528+
description: Prompt categories configured for the organization.
8529+
items:
8530+
$ref: '#/BrandPresenceFilterOption'
8531+
topics:
8532+
type: array
8533+
description: Topics for the organization, optionally scoped to a category.
8534+
items:
8535+
$ref: '#/BrandPresenceFilterOption'
8536+
regions:
8537+
type: array
8538+
description: Available region codes.
8539+
items:
8540+
$ref: '#/BrandPresenceFilterOption'
8541+
origins:
8542+
type: array
8543+
description: Prompt origin values (e.g. `human`, `ai`).
8544+
items:
8545+
$ref: '#/BrandPresenceFilterOption'
8546+
page_intents:
8547+
type: array
8548+
description: Page intent values derived from the brand's prompt data.
8549+
items:
8550+
$ref: '#/BrandPresenceFilterOption'
8551+
stats:
8552+
type: object
8553+
description: Aggregate statistics for the current filter scope.
8554+
properties:
8555+
distinct_prompt_count:
8556+
type: integer
8557+
description: Number of distinct prompts matching the current filter scope.
8558+
required: [distinct_prompt_count]
8559+
required: [brands, categories, topics, regions, origins, page_intents, stats]
8560+
85068561
WebhookAccepted:
85078562
type: object
85088563
properties:

0 commit comments

Comments
 (0)