@proveanything/smartlinks 1.15.0 → 1.15.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/collection.d.ts +69 -1
- package/dist/api/collection.js +94 -0
- package/dist/api/facets.d.ts +3 -1
- package/dist/api/facets.js +10 -0
- package/dist/docs/API_SUMMARY.md +47 -1
- package/dist/docs/PRODUCT_FACETS_SDK.md +43 -1
- package/dist/http.js +3 -1
- package/dist/index.d.ts +2 -2
- package/dist/openapi.yaml +258 -0
- package/dist/types/collection.d.ts +19 -0
- package/dist/types/facets.d.ts +8 -0
- package/docs/API_SUMMARY.md +47 -1
- package/docs/PRODUCT_FACETS_SDK.md +43 -1
- package/openapi.yaml +258 -0
- package/package.json +1 -1
package/dist/openapi.yaml
CHANGED
|
@@ -3337,6 +3337,63 @@ paths:
|
|
|
3337
3337
|
description: Unauthorized
|
|
3338
3338
|
404:
|
|
3339
3339
|
description: Not found
|
|
3340
|
+
/admin/collection/{collectionId}/domain:
|
|
3341
|
+
get:
|
|
3342
|
+
tags:
|
|
3343
|
+
- collection
|
|
3344
|
+
summary: "Get the managed-certificate status for a collection's custom domain (admin only)."
|
|
3345
|
+
operationId: collection_getDomainStatus
|
|
3346
|
+
security:
|
|
3347
|
+
- bearerAuth: []
|
|
3348
|
+
parameters:
|
|
3349
|
+
- name: collectionId
|
|
3350
|
+
in: path
|
|
3351
|
+
required: true
|
|
3352
|
+
schema:
|
|
3353
|
+
type: string
|
|
3354
|
+
responses:
|
|
3355
|
+
200:
|
|
3356
|
+
description: Success
|
|
3357
|
+
content:
|
|
3358
|
+
application/json:
|
|
3359
|
+
schema: {}
|
|
3360
|
+
400:
|
|
3361
|
+
description: Bad request
|
|
3362
|
+
401:
|
|
3363
|
+
description: Unauthorized
|
|
3364
|
+
404:
|
|
3365
|
+
description: Not found
|
|
3366
|
+
post:
|
|
3367
|
+
tags:
|
|
3368
|
+
- collection
|
|
3369
|
+
summary: Register a custom domain for a collection and provision its managed certificate (admin only).
|
|
3370
|
+
operationId: collection_registerDomain
|
|
3371
|
+
security:
|
|
3372
|
+
- bearerAuth: []
|
|
3373
|
+
parameters:
|
|
3374
|
+
- name: collectionId
|
|
3375
|
+
in: path
|
|
3376
|
+
required: true
|
|
3377
|
+
schema:
|
|
3378
|
+
type: string
|
|
3379
|
+
responses:
|
|
3380
|
+
200:
|
|
3381
|
+
description: Success
|
|
3382
|
+
content:
|
|
3383
|
+
application/json:
|
|
3384
|
+
schema: {}
|
|
3385
|
+
400:
|
|
3386
|
+
description: Bad request
|
|
3387
|
+
401:
|
|
3388
|
+
description: Unauthorized
|
|
3389
|
+
404:
|
|
3390
|
+
description: Not found
|
|
3391
|
+
requestBody:
|
|
3392
|
+
required: true
|
|
3393
|
+
content:
|
|
3394
|
+
application/json:
|
|
3395
|
+
schema:
|
|
3396
|
+
$ref: "#/components/schemas/DomainTarget"
|
|
3340
3397
|
/admin/collection/{collectionId}/facets:
|
|
3341
3398
|
get:
|
|
3342
3399
|
tags:
|
|
@@ -3372,6 +3429,11 @@ paths:
|
|
|
3372
3429
|
required: false
|
|
3373
3430
|
schema:
|
|
3374
3431
|
type: boolean
|
|
3432
|
+
- name: namespace
|
|
3433
|
+
in: query
|
|
3434
|
+
required: false
|
|
3435
|
+
schema:
|
|
3436
|
+
type: string
|
|
3375
3437
|
responses:
|
|
3376
3438
|
200:
|
|
3377
3439
|
description: Success
|
|
@@ -3417,6 +3479,33 @@ paths:
|
|
|
3417
3479
|
application/json:
|
|
3418
3480
|
schema:
|
|
3419
3481
|
$ref: "#/components/schemas/FacetDefinitionWriteInput"
|
|
3482
|
+
/admin/collection/{collectionId}/facets/namespaces:
|
|
3483
|
+
get:
|
|
3484
|
+
tags:
|
|
3485
|
+
- facets
|
|
3486
|
+
summary: facets.namespaces
|
|
3487
|
+
operationId: facets_namespaces
|
|
3488
|
+
security:
|
|
3489
|
+
- bearerAuth: []
|
|
3490
|
+
parameters:
|
|
3491
|
+
- name: collectionId
|
|
3492
|
+
in: path
|
|
3493
|
+
required: true
|
|
3494
|
+
schema:
|
|
3495
|
+
type: string
|
|
3496
|
+
responses:
|
|
3497
|
+
200:
|
|
3498
|
+
description: Success
|
|
3499
|
+
content:
|
|
3500
|
+
application/json:
|
|
3501
|
+
schema:
|
|
3502
|
+
$ref: "#/components/schemas/FacetNamespaceListResponse"
|
|
3503
|
+
400:
|
|
3504
|
+
description: Bad request
|
|
3505
|
+
401:
|
|
3506
|
+
description: Unauthorized
|
|
3507
|
+
404:
|
|
3508
|
+
description: Not found
|
|
3420
3509
|
/admin/collection/{collectionId}/facets/query:
|
|
3421
3510
|
post:
|
|
3422
3511
|
tags:
|
|
@@ -3871,6 +3960,60 @@ paths:
|
|
|
3871
3960
|
description: Unauthorized
|
|
3872
3961
|
404:
|
|
3873
3962
|
description: Not found
|
|
3963
|
+
/admin/collection/{collectionId}/hub:
|
|
3964
|
+
post:
|
|
3965
|
+
tags:
|
|
3966
|
+
- collection
|
|
3967
|
+
summary: Claim or rename the Hub subdomain for a collection (admin only).
|
|
3968
|
+
operationId: collection_claimHub
|
|
3969
|
+
security:
|
|
3970
|
+
- bearerAuth: []
|
|
3971
|
+
parameters:
|
|
3972
|
+
- name: collectionId
|
|
3973
|
+
in: path
|
|
3974
|
+
required: true
|
|
3975
|
+
schema:
|
|
3976
|
+
type: string
|
|
3977
|
+
responses:
|
|
3978
|
+
200:
|
|
3979
|
+
description: Success
|
|
3980
|
+
content:
|
|
3981
|
+
application/json:
|
|
3982
|
+
schema:
|
|
3983
|
+
$ref: "#/components/schemas/CollectionResponse"
|
|
3984
|
+
400:
|
|
3985
|
+
description: Bad request
|
|
3986
|
+
401:
|
|
3987
|
+
description: Unauthorized
|
|
3988
|
+
404:
|
|
3989
|
+
description: Not found
|
|
3990
|
+
/admin/collection/{collectionId}/hub/available:
|
|
3991
|
+
get:
|
|
3992
|
+
tags:
|
|
3993
|
+
- collection
|
|
3994
|
+
summary: Check whether a Hub subdomain name is available to claim (admin only).
|
|
3995
|
+
operationId: collection_checkHubAvailability
|
|
3996
|
+
security:
|
|
3997
|
+
- bearerAuth: []
|
|
3998
|
+
parameters:
|
|
3999
|
+
- name: collectionId
|
|
4000
|
+
in: path
|
|
4001
|
+
required: true
|
|
4002
|
+
schema:
|
|
4003
|
+
type: string
|
|
4004
|
+
responses:
|
|
4005
|
+
200:
|
|
4006
|
+
description: Success
|
|
4007
|
+
content:
|
|
4008
|
+
application/json:
|
|
4009
|
+
schema:
|
|
4010
|
+
$ref: "#/components/schemas/HubAvailabilityResponse"
|
|
4011
|
+
400:
|
|
4012
|
+
description: Bad request
|
|
4013
|
+
401:
|
|
4014
|
+
description: Unauthorized
|
|
4015
|
+
404:
|
|
4016
|
+
description: Not found
|
|
3874
4017
|
/admin/collection/{collectionId}/interactions:
|
|
3875
4018
|
get:
|
|
3876
4019
|
tags:
|
|
@@ -9205,6 +9348,52 @@ paths:
|
|
|
9205
9348
|
application/json:
|
|
9206
9349
|
schema:
|
|
9207
9350
|
$ref: "#/components/schemas/RequestUploadTokenOptions"
|
|
9351
|
+
/public/collection/by-domain/{domain}:
|
|
9352
|
+
get:
|
|
9353
|
+
tags:
|
|
9354
|
+
- collection
|
|
9355
|
+
summary: Resolve the collection for an explicit Hub domain (public endpoint).
|
|
9356
|
+
operationId: collection_getByDomain
|
|
9357
|
+
security: []
|
|
9358
|
+
parameters:
|
|
9359
|
+
- name: domain
|
|
9360
|
+
in: path
|
|
9361
|
+
required: true
|
|
9362
|
+
schema:
|
|
9363
|
+
type: string
|
|
9364
|
+
responses:
|
|
9365
|
+
200:
|
|
9366
|
+
description: Success
|
|
9367
|
+
content:
|
|
9368
|
+
application/json:
|
|
9369
|
+
schema:
|
|
9370
|
+
$ref: "#/components/schemas/CollectionResponse"
|
|
9371
|
+
400:
|
|
9372
|
+
description: Bad request
|
|
9373
|
+
401:
|
|
9374
|
+
description: Unauthorized
|
|
9375
|
+
404:
|
|
9376
|
+
description: Not found
|
|
9377
|
+
/public/collection/getByHub:
|
|
9378
|
+
get:
|
|
9379
|
+
tags:
|
|
9380
|
+
- collection
|
|
9381
|
+
summary: Resolve the collection for the current Hub domain (public endpoint).
|
|
9382
|
+
operationId: collection_getByHub
|
|
9383
|
+
security: []
|
|
9384
|
+
responses:
|
|
9385
|
+
200:
|
|
9386
|
+
description: Success
|
|
9387
|
+
content:
|
|
9388
|
+
application/json:
|
|
9389
|
+
schema:
|
|
9390
|
+
$ref: "#/components/schemas/CollectionResponse"
|
|
9391
|
+
400:
|
|
9392
|
+
description: Bad request
|
|
9393
|
+
401:
|
|
9394
|
+
description: Unauthorized
|
|
9395
|
+
404:
|
|
9396
|
+
description: Not found
|
|
9208
9397
|
/public/collection/getShortId/{shortId}:
|
|
9209
9398
|
get:
|
|
9210
9399
|
tags:
|
|
@@ -10680,6 +10869,11 @@ paths:
|
|
|
10680
10869
|
required: false
|
|
10681
10870
|
schema:
|
|
10682
10871
|
type: boolean
|
|
10872
|
+
- name: namespace
|
|
10873
|
+
in: query
|
|
10874
|
+
required: false
|
|
10875
|
+
schema:
|
|
10876
|
+
type: string
|
|
10683
10877
|
responses:
|
|
10684
10878
|
200:
|
|
10685
10879
|
description: Success
|
|
@@ -10693,6 +10887,32 @@ paths:
|
|
|
10693
10887
|
description: Unauthorized
|
|
10694
10888
|
404:
|
|
10695
10889
|
description: Not found
|
|
10890
|
+
/public/collection/{collectionId}/facets/namespaces:
|
|
10891
|
+
get:
|
|
10892
|
+
tags:
|
|
10893
|
+
- facets
|
|
10894
|
+
summary: facets.publicNamespaces
|
|
10895
|
+
operationId: facets_publicNamespaces
|
|
10896
|
+
security: []
|
|
10897
|
+
parameters:
|
|
10898
|
+
- name: collectionId
|
|
10899
|
+
in: path
|
|
10900
|
+
required: true
|
|
10901
|
+
schema:
|
|
10902
|
+
type: string
|
|
10903
|
+
responses:
|
|
10904
|
+
200:
|
|
10905
|
+
description: Success
|
|
10906
|
+
content:
|
|
10907
|
+
application/json:
|
|
10908
|
+
schema:
|
|
10909
|
+
$ref: "#/components/schemas/FacetNamespaceListResponse"
|
|
10910
|
+
400:
|
|
10911
|
+
description: Bad request
|
|
10912
|
+
401:
|
|
10913
|
+
description: Unauthorized
|
|
10914
|
+
404:
|
|
10915
|
+
description: Not found
|
|
10696
10916
|
/public/collection/{collectionId}/facets/query:
|
|
10697
10917
|
post:
|
|
10698
10918
|
tags:
|
|
@@ -10748,6 +10968,11 @@ paths:
|
|
|
10748
10968
|
required: false
|
|
10749
10969
|
schema:
|
|
10750
10970
|
type: boolean
|
|
10971
|
+
- name: namespace
|
|
10972
|
+
in: query
|
|
10973
|
+
required: false
|
|
10974
|
+
schema:
|
|
10975
|
+
type: string
|
|
10751
10976
|
responses:
|
|
10752
10977
|
200:
|
|
10753
10978
|
description: Success
|
|
@@ -18908,6 +19133,10 @@ components:
|
|
|
18908
19133
|
type: string
|
|
18909
19134
|
redirectUrl:
|
|
18910
19135
|
type: string
|
|
19136
|
+
hubName:
|
|
19137
|
+
type: string
|
|
19138
|
+
hubCustomDomain:
|
|
19139
|
+
type: string
|
|
18911
19140
|
shortId:
|
|
18912
19141
|
type: string
|
|
18913
19142
|
dark:
|
|
@@ -18942,6 +19171,16 @@ components:
|
|
|
18942
19171
|
- variants
|
|
18943
19172
|
- batches
|
|
18944
19173
|
- defaultAuthKitId
|
|
19174
|
+
HubAvailabilityResponse:
|
|
19175
|
+
type: object
|
|
19176
|
+
properties:
|
|
19177
|
+
available:
|
|
19178
|
+
type: boolean
|
|
19179
|
+
domain:
|
|
19180
|
+
type: string
|
|
19181
|
+
required:
|
|
19182
|
+
- available
|
|
19183
|
+
- domain
|
|
18945
19184
|
AppConfig:
|
|
18946
19185
|
type: object
|
|
18947
19186
|
properties:
|
|
@@ -20552,6 +20791,8 @@ components:
|
|
|
20552
20791
|
type: string
|
|
20553
20792
|
description:
|
|
20554
20793
|
type: string
|
|
20794
|
+
namespace:
|
|
20795
|
+
type: string
|
|
20555
20796
|
cardinality:
|
|
20556
20797
|
type: object
|
|
20557
20798
|
additionalProperties: true
|
|
@@ -20647,6 +20888,8 @@ components:
|
|
|
20647
20888
|
type: string
|
|
20648
20889
|
description:
|
|
20649
20890
|
type: string
|
|
20891
|
+
namespace:
|
|
20892
|
+
type: string
|
|
20650
20893
|
cardinality:
|
|
20651
20894
|
type: object
|
|
20652
20895
|
additionalProperties: true
|
|
@@ -20742,6 +20985,8 @@ components:
|
|
|
20742
20985
|
type: boolean
|
|
20743
20986
|
includeDeleted:
|
|
20744
20987
|
type: boolean
|
|
20988
|
+
namespace:
|
|
20989
|
+
type: string
|
|
20745
20990
|
query:
|
|
20746
20991
|
type: object
|
|
20747
20992
|
additionalProperties: true
|
|
@@ -20809,11 +21054,24 @@ components:
|
|
|
20809
21054
|
additionalProperties: true
|
|
20810
21055
|
reserved:
|
|
20811
21056
|
type: boolean
|
|
21057
|
+
namespace:
|
|
21058
|
+
type: string
|
|
20812
21059
|
PublicFacetListParams:
|
|
20813
21060
|
type: object
|
|
20814
21061
|
properties:
|
|
20815
21062
|
includeValues:
|
|
20816
21063
|
type: boolean
|
|
21064
|
+
namespace:
|
|
21065
|
+
type: string
|
|
21066
|
+
FacetNamespaceListResponse:
|
|
21067
|
+
type: object
|
|
21068
|
+
properties:
|
|
21069
|
+
namespaces:
|
|
21070
|
+
type: array
|
|
21071
|
+
items:
|
|
21072
|
+
type: string
|
|
21073
|
+
required:
|
|
21074
|
+
- namespaces
|
|
20817
21075
|
FacetGetParams:
|
|
20818
21076
|
type: object
|
|
20819
21077
|
properties:
|
|
@@ -41,6 +41,10 @@ export interface Collection {
|
|
|
41
41
|
groupTags?: string[];
|
|
42
42
|
/** Whether the collection has a custom domain */
|
|
43
43
|
redirectUrl?: string;
|
|
44
|
+
/** The claimed Hub subdomain prefix (e.g. "acme" → acme.mysmartlinks.app) */
|
|
45
|
+
hubName?: string;
|
|
46
|
+
/** The collection's bring-your-own custom Hub domain (e.g. "hub.acme.com") */
|
|
47
|
+
hubCustomDomain?: string;
|
|
44
48
|
/** The shortId of this collection */
|
|
45
49
|
shortId: string;
|
|
46
50
|
/** if dark mode is enabled for this collection */
|
|
@@ -59,6 +63,21 @@ export interface Collection {
|
|
|
59
63
|
export type CollectionResponse = Collection;
|
|
60
64
|
export type CollectionCreateRequest = Omit<Collection, 'id' | 'shortId'>;
|
|
61
65
|
export type CollectionUpdateRequest = Partial<Omit<Collection, 'id' | 'shortId'>>;
|
|
66
|
+
/**
|
|
67
|
+
* Which load balancer / certificate map a custom domain registration targets.
|
|
68
|
+
* - `"smartlinks"` (default): the id.smartlinks.app load balancer (legacy behaviour)
|
|
69
|
+
* - `"hub"`: the SmartLinks Hub load balancer
|
|
70
|
+
*/
|
|
71
|
+
export type DomainTarget = "smartlinks" | "hub";
|
|
72
|
+
/**
|
|
73
|
+
* Response from checking whether a Hub subdomain name is available.
|
|
74
|
+
*/
|
|
75
|
+
export interface HubAvailabilityResponse {
|
|
76
|
+
/** Whether the name can be claimed by this collection */
|
|
77
|
+
available: boolean;
|
|
78
|
+
/** The full domain that was checked (e.g. "acme.mysmartlinks.app") */
|
|
79
|
+
domain: string;
|
|
80
|
+
}
|
|
62
81
|
/**
|
|
63
82
|
* Configuration for an app module within a collection.
|
|
64
83
|
*/
|
package/dist/types/facets.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ export interface FacetDefinition {
|
|
|
6
6
|
key: string;
|
|
7
7
|
name: string;
|
|
8
8
|
description?: string | null;
|
|
9
|
+
namespace?: string | null;
|
|
9
10
|
cardinality?: "single" | "multi";
|
|
10
11
|
kind?: "system" | "custom";
|
|
11
12
|
hierarchical?: boolean;
|
|
@@ -46,6 +47,7 @@ export interface FacetDefinitionWriteInput {
|
|
|
46
47
|
key?: string;
|
|
47
48
|
name: string;
|
|
48
49
|
description?: string | null;
|
|
50
|
+
namespace?: string | null;
|
|
49
51
|
cardinality?: "single" | "multi";
|
|
50
52
|
kind?: "system" | "custom";
|
|
51
53
|
hierarchical?: boolean;
|
|
@@ -83,6 +85,7 @@ export interface FacetQueryRequest {
|
|
|
83
85
|
facetKeys?: string[];
|
|
84
86
|
includeEmpty?: boolean;
|
|
85
87
|
includeDeleted?: boolean;
|
|
88
|
+
namespace?: string | null;
|
|
86
89
|
query?: ProductQueryRequest["query"] & {
|
|
87
90
|
facetEquals?: Record<string, JsonValue | JsonValue[]>;
|
|
88
91
|
};
|
|
@@ -109,9 +112,14 @@ export interface FacetListParams {
|
|
|
109
112
|
includeDeleted?: boolean;
|
|
110
113
|
kind?: "system" | "custom";
|
|
111
114
|
reserved?: boolean;
|
|
115
|
+
namespace?: string;
|
|
112
116
|
}
|
|
113
117
|
export interface PublicFacetListParams {
|
|
114
118
|
includeValues?: boolean;
|
|
119
|
+
namespace?: string;
|
|
120
|
+
}
|
|
121
|
+
export interface FacetNamespaceListResponse {
|
|
122
|
+
namespaces: string[];
|
|
115
123
|
}
|
|
116
124
|
export interface FacetGetParams {
|
|
117
125
|
includeValues?: boolean;
|
package/docs/API_SUMMARY.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Smartlinks API Summary
|
|
2
2
|
|
|
3
|
-
Version: 1.15.
|
|
3
|
+
Version: 1.15.2 | Generated: 2026-07-05T07:39:20.416Z
|
|
4
4
|
|
|
5
5
|
This is a concise summary of all available API functions and types.
|
|
6
6
|
|
|
@@ -3606,6 +3606,8 @@ interface Collection {
|
|
|
3606
3606
|
} // User roles mapping with user IDs as keys and role names as values
|
|
3607
3607
|
groupTags?: string[] // Array of group tag names
|
|
3608
3608
|
redirectUrl?: string // Whether the collection has a custom domain
|
|
3609
|
+
hubName?: string
|
|
3610
|
+
hubCustomDomain?: string
|
|
3609
3611
|
shortId: string, // The shortId of this collection
|
|
3610
3612
|
dark?: boolean // if dark mode is enabled for this collection
|
|
3611
3613
|
primaryColor?: string
|
|
@@ -3618,6 +3620,14 @@ interface Collection {
|
|
|
3618
3620
|
}
|
|
3619
3621
|
```
|
|
3620
3622
|
|
|
3623
|
+
**HubAvailabilityResponse** (interface)
|
|
3624
|
+
```typescript
|
|
3625
|
+
interface HubAvailabilityResponse {
|
|
3626
|
+
available: boolean
|
|
3627
|
+
domain: string
|
|
3628
|
+
}
|
|
3629
|
+
```
|
|
3630
|
+
|
|
3621
3631
|
**AppConfig** (interface)
|
|
3622
3632
|
```typescript
|
|
3623
3633
|
interface AppConfig {
|
|
@@ -3657,6 +3667,8 @@ interface AppsConfigResponse {
|
|
|
3657
3667
|
|
|
3658
3668
|
**CollectionUpdateRequest** = `Partial<Omit<Collection, 'id' | 'shortId'>>`
|
|
3659
3669
|
|
|
3670
|
+
**DomainTarget** = `"smartlinks" | "hub"`
|
|
3671
|
+
|
|
3660
3672
|
### common
|
|
3661
3673
|
|
|
3662
3674
|
**IdField** = `'userId' | 'contactId'`
|
|
@@ -5027,6 +5039,7 @@ interface FacetDefinition {
|
|
|
5027
5039
|
key: string
|
|
5028
5040
|
name: string
|
|
5029
5041
|
description?: string | null
|
|
5042
|
+
namespace?: string | null
|
|
5030
5043
|
cardinality?: "single" | "multi"
|
|
5031
5044
|
kind?: "system" | "custom"
|
|
5032
5045
|
hierarchical?: boolean
|
|
@@ -5075,6 +5088,7 @@ interface FacetDefinitionWriteInput {
|
|
|
5075
5088
|
key?: string
|
|
5076
5089
|
name: string
|
|
5077
5090
|
description?: string | null
|
|
5091
|
+
namespace?: string | null
|
|
5078
5092
|
cardinality?: "single" | "multi"
|
|
5079
5093
|
kind?: "system" | "custom"
|
|
5080
5094
|
hierarchical?: boolean
|
|
@@ -5132,6 +5146,7 @@ interface FacetQueryRequest {
|
|
|
5132
5146
|
facetKeys?: string[]
|
|
5133
5147
|
includeEmpty?: boolean
|
|
5134
5148
|
includeDeleted?: boolean
|
|
5149
|
+
namespace?: string | null
|
|
5135
5150
|
query?: ProductQueryRequest["query"] & {
|
|
5136
5151
|
facetEquals?: Record<string, JsonValue | JsonValue[]>
|
|
5137
5152
|
}
|
|
@@ -5170,6 +5185,7 @@ interface FacetListParams {
|
|
|
5170
5185
|
includeDeleted?: boolean
|
|
5171
5186
|
kind?: "system" | "custom"
|
|
5172
5187
|
reserved?: boolean
|
|
5188
|
+
namespace?: string
|
|
5173
5189
|
}
|
|
5174
5190
|
```
|
|
5175
5191
|
|
|
@@ -5177,6 +5193,14 @@ interface FacetListParams {
|
|
|
5177
5193
|
```typescript
|
|
5178
5194
|
interface PublicFacetListParams {
|
|
5179
5195
|
includeValues?: boolean
|
|
5196
|
+
namespace?: string
|
|
5197
|
+
}
|
|
5198
|
+
```
|
|
5199
|
+
|
|
5200
|
+
**FacetNamespaceListResponse** (interface)
|
|
5201
|
+
```typescript
|
|
5202
|
+
interface FacetNamespaceListResponse {
|
|
5203
|
+
namespaces: string[]
|
|
5180
5204
|
}
|
|
5181
5205
|
```
|
|
5182
5206
|
|
|
@@ -8604,6 +8628,24 @@ Retrieves all Collections.
|
|
|
8604
8628
|
**getShortId**(shortId: string) → `Promise<CollectionResponse>`
|
|
8605
8629
|
Retrieve a collection by its shortId (public endpoint).
|
|
8606
8630
|
|
|
8631
|
+
**getByHub**() → `Promise<CollectionResponse>`
|
|
8632
|
+
Resolve the collection for the current Hub domain (public endpoint). The server derives the requesting domain from the request headers (`X-Source-Domain` / `X-Forwarded-Host` / `Host`), so no identifier is passed — this is the call a Hub frontend makes on load to find out which collection it is serving, whether it's reached via `{brand}.mysmartlinks.app` or a bring-your-own custom domain (e.g. `hub.acme.com`).
|
|
8633
|
+
|
|
8634
|
+
**getByDomain**(domain: string) → `Promise<CollectionResponse>`
|
|
8635
|
+
Resolve the collection for an explicit Hub domain (public endpoint). Unlike {@link getByHub}, the domain is passed explicitly rather than derived from request headers — use this for raw/cross-origin calls where the Hub frontend knows its own hostname (e.g. "erbauer.mysmartlinks.app").
|
|
8636
|
+
|
|
8637
|
+
**checkHubAvailability**(collectionId: string, name: string) → `Promise<HubAvailabilityResponse>`
|
|
8638
|
+
Check whether a Hub subdomain name is available to claim (admin only).
|
|
8639
|
+
|
|
8640
|
+
**claimHub**(collectionId: string, hubName: string) → `Promise<CollectionResponse>`
|
|
8641
|
+
Claim or rename the Hub subdomain for a collection (admin only). Maps `{hubName}.mysmartlinks.app` to the collection. If the collection already had a different hub name, the previous subdomain is released automatically.
|
|
8642
|
+
|
|
8643
|
+
**registerDomain**(collectionId: string, domain: string, target: DomainTarget = "smartlinks") → `Promise<any>`
|
|
8644
|
+
Register a custom domain for a collection and provision its managed certificate (admin only). `"smartlinks"` (the id.smartlinks.app load balancer). Pass `"hub"` to register a bring-your-own Hub domain.
|
|
8645
|
+
|
|
8646
|
+
**getDomainStatus**(collectionId: string, target: DomainTarget = "smartlinks") → `Promise<any>`
|
|
8647
|
+
Get the managed-certificate status for a collection's custom domain (admin only). or `"hub"` (uses `hubCustomDomain`)
|
|
8648
|
+
|
|
8607
8649
|
**getSettings**(collectionId: string, settingGroup: string, admin?: boolean) → `Promise<any>`
|
|
8608
8650
|
Retrieve a specific settings group for a collection. Public reads return the public view of the settings group. If the stored payload contains a top-level `admin` object, that block is omitted from public responses and included when `admin === true`.
|
|
8609
8651
|
|
|
@@ -8915,6 +8957,8 @@ Delete a crate for a collection (admin only). This performs a soft delete. ```ty
|
|
|
8915
8957
|
**query**(collectionId: string,
|
|
8916
8958
|
body: FacetQueryRequest) → `Promise<FacetQueryResponse>`
|
|
8917
8959
|
|
|
8960
|
+
**namespaces**(collectionId: string) → `Promise<FacetNamespaceListResponse>`
|
|
8961
|
+
|
|
8918
8962
|
**publicList**(collectionId: string,
|
|
8919
8963
|
params?: PublicFacetListParams) → `Promise<FacetListResponse>`
|
|
8920
8964
|
|
|
@@ -8932,6 +8976,8 @@ Delete a crate for a collection (admin only). This performs a soft delete. ```ty
|
|
|
8932
8976
|
**publicQuery**(collectionId: string,
|
|
8933
8977
|
body: FacetQueryRequest) → `Promise<FacetQueryResponse>`
|
|
8934
8978
|
|
|
8979
|
+
**publicNamespaces**(collectionId: string) → `Promise<FacetNamespaceListResponse>`
|
|
8980
|
+
|
|
8935
8981
|
### form
|
|
8936
8982
|
|
|
8937
8983
|
**get**(collectionId: string, formId: string, admin?: boolean) → `Promise<any>`
|
|
@@ -42,6 +42,21 @@ includeValues?: boolean
|
|
|
42
42
|
includeDeleted?: boolean
|
|
43
43
|
kind?: 'system' | 'custom'
|
|
44
44
|
reserved?: boolean
|
|
45
|
+
namespace?: string
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
When `namespace` is provided, returns facets matching that namespace plus global facets (`namespace: null`). Omit the param to return all facets.
|
|
49
|
+
|
|
50
|
+
### List namespaces
|
|
51
|
+
|
|
52
|
+
```ts
|
|
53
|
+
GET /api/v1/admin/collection/:collectionId/facets/namespaces
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Returns all distinct namespaces in use for the collection (excludes globals).
|
|
57
|
+
|
|
58
|
+
```ts
|
|
59
|
+
{ namespaces: string[] }
|
|
45
60
|
```
|
|
46
61
|
|
|
47
62
|
### Create facet definition
|
|
@@ -50,6 +65,8 @@ reserved?: boolean
|
|
|
50
65
|
POST /api/v1/admin/collection/:collectionId/facets
|
|
51
66
|
```
|
|
52
67
|
|
|
68
|
+
Pass `namespace` in the body to scope the facet to a domain (e.g. `"dpp"`, `"nutrition"`). Omit it to create a global facet.
|
|
69
|
+
|
|
53
70
|
### Get facet definition
|
|
54
71
|
|
|
55
72
|
```ts
|
|
@@ -146,6 +163,8 @@ Supported query filters now:
|
|
|
146
163
|
- `tags`
|
|
147
164
|
- `facetEquals`
|
|
148
165
|
|
|
166
|
+
Body also accepts `namespace` (optional) to scope aggregation to a namespace plus global facets.
|
|
167
|
+
|
|
149
168
|
## Public endpoints
|
|
150
169
|
|
|
151
170
|
### List facet definitions
|
|
@@ -158,6 +177,21 @@ Optional query params:
|
|
|
158
177
|
|
|
159
178
|
```ts
|
|
160
179
|
includeValues?: boolean
|
|
180
|
+
namespace?: string
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
When `namespace` is provided, returns facets matching that namespace plus global facets (`namespace: null`). Omit the param to return all facets.
|
|
184
|
+
|
|
185
|
+
### List namespaces
|
|
186
|
+
|
|
187
|
+
```ts
|
|
188
|
+
GET /api/v1/public/collection/:collectionId/facets/namespaces
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
Returns all distinct namespaces in use for the collection (excludes globals).
|
|
192
|
+
|
|
193
|
+
```ts
|
|
194
|
+
{ namespaces: string[] }
|
|
161
195
|
```
|
|
162
196
|
|
|
163
197
|
### Get facet definition
|
|
@@ -215,6 +249,7 @@ export interface FacetDefinition {
|
|
|
215
249
|
key: string
|
|
216
250
|
name: string
|
|
217
251
|
description?: string | null
|
|
252
|
+
namespace?: string | null
|
|
218
253
|
cardinality: 'single' | 'multi'
|
|
219
254
|
kind: 'system' | 'custom'
|
|
220
255
|
hierarchical: boolean
|
|
@@ -230,6 +265,7 @@ export interface FacetDefinitionWriteInput {
|
|
|
230
265
|
key?: string
|
|
231
266
|
name: string
|
|
232
267
|
description?: string | null
|
|
268
|
+
namespace?: string | null
|
|
233
269
|
cardinality?: 'single' | 'multi'
|
|
234
270
|
kind?: 'system' | 'custom'
|
|
235
271
|
hierarchical?: boolean
|
|
@@ -305,6 +341,7 @@ export interface FacetQueryRequest {
|
|
|
305
341
|
facetKeys?: string[]
|
|
306
342
|
includeEmpty?: boolean
|
|
307
343
|
includeDeleted?: boolean
|
|
344
|
+
namespace?: string | null
|
|
308
345
|
query?: {
|
|
309
346
|
search?: string
|
|
310
347
|
status?: string[]
|
|
@@ -326,6 +363,10 @@ export interface FacetBucket {
|
|
|
326
363
|
count: number
|
|
327
364
|
}
|
|
328
365
|
|
|
366
|
+
export interface FacetNamespaceListResponse {
|
|
367
|
+
namespaces: string[]
|
|
368
|
+
}
|
|
369
|
+
|
|
329
370
|
export interface FacetQueryResponse {
|
|
330
371
|
items: Array<{
|
|
331
372
|
facet: FacetDefinition
|
|
@@ -344,4 +385,5 @@ export interface FacetQueryResponse {
|
|
|
344
385
|
- treat facet definitions and facet values as collection-scoped resources
|
|
345
386
|
- use the facet API to manage definitions and values
|
|
346
387
|
- use product read/write routes to assign facet data onto products
|
|
347
|
-
- treat `label` and `category` as reserved system facets when present
|
|
388
|
+
- treat `label` and `category` as reserved system facets when present
|
|
389
|
+
- facets with `namespace: null` are global and appear in all contexts; namespaced facets belong to a specific domain (e.g. `"dpp"`, `"nutrition"`)
|