@proveanything/smartlinks 1.0.2 → 1.0.4

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.
Files changed (37) hide show
  1. package/README.md +112 -62
  2. package/docs/assets/navigation.js +1 -1
  3. package/docs/assets/search.js +1 -1
  4. package/docs/documentation.json +970 -448
  5. package/docs/functions/appConfiguration.get.html +6 -0
  6. package/docs/functions/collection.get.html +5 -0
  7. package/docs/functions/initializeApi.html +5 -0
  8. package/docs/functions/product.get.html +6 -0
  9. package/docs/functions/product.getAll.html +5 -0
  10. package/docs/functions/proof.get.html +6 -0
  11. package/docs/functions/request.html +4 -0
  12. package/docs/index.html +6 -6
  13. package/docs/interfaces/AppConfigurationResponse.html +4 -4
  14. package/docs/interfaces/CollectionResponse.html +5 -5
  15. package/docs/interfaces/ErrorResponse.html +3 -3
  16. package/docs/interfaces/ProductResponse.html +5 -5
  17. package/docs/interfaces/ProofResponse.html +16 -0
  18. package/docs/modules/appConfiguration.html +2 -0
  19. package/docs/modules/collection.html +2 -0
  20. package/docs/modules/product.html +3 -0
  21. package/docs/modules/proof.html +2 -0
  22. package/docs/modules.html +7 -1
  23. package/package.json +1 -1
  24. package/src/api/appConfiguration.ts +22 -0
  25. package/src/api/collection.ts +16 -0
  26. package/src/api/index.ts +6 -0
  27. package/src/api/product.ts +35 -0
  28. package/src/api/proof.ts +22 -0
  29. package/src/http.ts +64 -0
  30. package/src/index.ts +5 -170
  31. package/src/types/appConfiguration.ts +12 -0
  32. package/src/types/collection.ts +14 -0
  33. package/src/types/error.ts +10 -0
  34. package/src/types/index.ts +8 -0
  35. package/src/types/product.ts +14 -0
  36. package/src/types/proof.ts +20 -0
  37. package/docs/classes/ApiClient.html +0 -35
package/src/index.ts CHANGED
@@ -1,171 +1,6 @@
1
- import fetch from 'cross-fetch';
1
+ // src/index.ts
2
+ // Top-level entrypoint of the npm package. Re-export initializeApi + all namespaces.
2
3
 
3
- ///////////////////////////
4
- // Schema Interfaces
5
- ///////////////////////////
6
-
7
- /**
8
- * Represents a Collection object.
9
- */
10
- export interface CollectionResponse {
11
- /** Unique identifier for the collection */
12
- id: string;
13
- /** Machine‐readable name of the collection */
14
- name: string;
15
- /** Human‐readable title of the collection */
16
- title: string;
17
- /** URL to the collection’s logo image */
18
- logoImage: string;
19
- }
20
-
21
- /**
22
- * Represents a Product Item object.
23
- */
24
- export interface ProductResponse {
25
- /** Unique identifier for the product */
26
- id: string;
27
- /** Name of the product */
28
- name: string;
29
- /** Detailed description of the product */
30
- description: string;
31
- /** URL to the product’s hero image */
32
- heroImage: string;
33
- }
34
-
35
- /**
36
- * Represents an App Configuration object.
37
- */
38
- export interface AppConfigurationResponse {
39
- /** Unique identifier for the app configuration */
40
- id: string;
41
- /** Name of the app configuration */
42
- name: string;
43
- /** Key‐value pairs representing configuration settings */
44
- settings?: Record<string, any>;
45
- }
46
-
47
- /**
48
- * Represents a standardized error response.
49
- */
50
- export interface ErrorResponse {
51
- /** Numeric error code */
52
- code: number;
53
- /** Human‐readable error message */
54
- message: string;
55
- }
56
-
57
- ///////////////////////////
58
- // ApiClient Class
59
- ///////////////////////////
60
-
61
- /**
62
- * ApiClient for the Smartlinks API.
63
- * Supports both browser (native fetch) and Node (using cross-fetch).
64
- */
65
- export class ApiClient {
66
- private baseURL: string;
67
- private apiKey?: string;
68
- private bearerToken?: string;
69
-
70
- /**
71
- * Creates an instance of ApiClient.
72
- * @param baseURL - The base URL of the Smartlinks API (e.g., https://smartlinks.app/api/v1)
73
- * @param apiKey - (Optional) API key for X-API-Key header
74
- * @param bearerToken - (Optional) Bearer token for AUTHORIZATION header
75
- *
76
- * @example
77
- * // With both API key and bearer token
78
- * const client = new ApiClient(
79
- * 'https://smartlinks.app/api/v1',
80
- * 'your-api-key',
81
- * 'your-bearer-token'
82
- * );
83
- *
84
- * // With only API key
85
- * const client = new ApiClient(
86
- * 'https://smartlinks.app/api/v1',
87
- * 'your-api-key'
88
- * );
89
- *
90
- * // With only bearer token
91
- * const client = new ApiClient(
92
- * 'https://smartlinks.app/api/v1',
93
- * undefined,
94
- * 'your-bearer-token'
95
- * );
96
- */
97
- constructor(baseURL: string, apiKey?: string, bearerToken?: string) {
98
- this.baseURL = baseURL.replace(/\/+$/, ''); // Trim trailing slash
99
- this.apiKey = apiKey;
100
- this.bearerToken = bearerToken;
101
- }
102
-
103
- /**
104
- * Retrieves a single Collection by its ID.
105
- * @param collectionId - Identifier of the collection
106
- * @returns Promise resolving to a CollectionResponse object
107
- * @throws ErrorResponse if the request fails
108
- */
109
- public async getCollection(collectionId: string): Promise<CollectionResponse> {
110
- const path = `/public/collection/${encodeURIComponent(collectionId)}`;
111
- return this.request<CollectionResponse>(path);
112
- }
113
-
114
- /**
115
- * Retrieves a single Product Item by Collection ID and Product ID.
116
- * @param collectionId - Identifier of the parent collection
117
- * @param productId - Identifier of the product item
118
- * @returns Promise resolving to a ProductResponse object
119
- * @throws ErrorResponse if the request fails
120
- */
121
- public async getProductItem(collectionId: string, productId: string): Promise<ProductResponse> {
122
- const path = `/public/collection/${encodeURIComponent(collectionId)}/product/${encodeURIComponent(productId)}`;
123
- return this.request<ProductResponse>(path);
124
- }
125
-
126
- /**
127
- * Retrieves a single App Configuration by Collection ID and App ID.
128
- * @param collectionId - Identifier of the parent collection
129
- * @param appId - Identifier of the app configuration
130
- * @returns Promise resolving to an AppConfigurationResponse object
131
- * @throws ErrorResponse if the request fails
132
- */
133
- public async getAppConfiguration(collectionId: string, appId: string): Promise<AppConfigurationResponse> {
134
- const path = `/public/collection/${encodeURIComponent(collectionId)}/app/${encodeURIComponent(appId)}`;
135
- return this.request<AppConfigurationResponse>(path);
136
- }
137
-
138
- /**
139
- * Internal helper to perform a GET request and parse JSON.
140
- * @param path - The path (relative to baseURL) to request
141
- * @returns Promise resolving to the parsed JSON of type T
142
- * @throws Error if network error or a non-2xx response is returned
143
- */
144
- private async request<T>(path: string): Promise<T> {
145
- const url = `${this.baseURL}${path}`;
146
- const headers: Record<string, string> = {
147
- 'Content-Type': 'application/json',
148
- };
149
- if (this.apiKey) {
150
- headers['X-API-Key'] = this.apiKey;
151
- }
152
- if (this.bearerToken) {
153
- headers['AUTHORIZATION'] = `Bearer ${this.bearerToken}`;
154
- }
155
-
156
- const response = await fetch(url, { method: 'GET', headers });
157
-
158
- if (!response.ok) {
159
- // Attempt to parse error body; if it fails, throw generic
160
- let errorBody: ErrorResponse;
161
- try {
162
- errorBody = (await response.json()) as ErrorResponse;
163
- } catch {
164
- throw new Error(`Request failed with status ${response.status}`);
165
- }
166
- throw new Error(`Error ${errorBody.code}: ${errorBody.message}`);
167
- }
168
-
169
- return (await response.json()) as T;
170
- }
171
- }
4
+ export { initializeApi, request } from "./http"
5
+ export * from "./api"
6
+ export * from "./types"
@@ -0,0 +1,12 @@
1
+ // src/types/appConfiguration.ts
2
+ /**
3
+ * Represents an App Configuration object.
4
+ */
5
+ export interface AppConfigurationResponse {
6
+ /** Unique identifier for the app configuration */
7
+ id: string
8
+ /** Name of the app configuration */
9
+ name: string
10
+ /** Key-value pairs representing configuration settings */
11
+ settings?: Record<string, any>
12
+ }
@@ -0,0 +1,14 @@
1
+ // src/types/collection.ts
2
+ /**
3
+ * Represents a Collection object.
4
+ */
5
+ export interface CollectionResponse {
6
+ /** Unique identifier for the collection */
7
+ id: string
8
+ /** Machine-readable name of the collection */
9
+ name: string
10
+ /** Human-readable title of the collection */
11
+ title: string
12
+ /** URL to the collection’s logo image */
13
+ logoImage: string
14
+ }
@@ -0,0 +1,10 @@
1
+ // src/types/error.ts
2
+ /**
3
+ * Represents a standardized error response.
4
+ */
5
+ export interface ErrorResponse {
6
+ /** Numeric error code */
7
+ code: number
8
+ /** Human-readable error message */
9
+ message: string
10
+ }
@@ -0,0 +1,8 @@
1
+ // src/types/index.ts
2
+ // Re-export all type modules so consumers can import types directly
3
+
4
+ export * from "./collection"
5
+ export * from "./product"
6
+ export * from "./proof"
7
+ export * from "./appConfiguration"
8
+ export * from "./error"
@@ -0,0 +1,14 @@
1
+ // src/types/product.ts
2
+ /**
3
+ * Represents a Product Item object.
4
+ */
5
+ export interface ProductResponse {
6
+ /** Unique identifier for the product */
7
+ id: string
8
+ /** Name of the product */
9
+ name: string
10
+ /** Detailed description of the product */
11
+ description: string
12
+ /** URL to the product’s hero image */
13
+ heroImage: string
14
+ }
@@ -0,0 +1,20 @@
1
+ // src/types/proof.ts
2
+ /**
3
+ * Represents a Proof object.
4
+ */
5
+ export interface ProofResponse {
6
+ /** Unique identifier for the collection */
7
+ collectionId: string
8
+ /** Creation timestamp */
9
+ createdAt: string
10
+ /** Unique identifier for the proof */
11
+ id: string
12
+ /** Unique identifier for the product */
13
+ productId: string
14
+ /** Unique identifier for the token */
15
+ tokenId: string
16
+ /** Unique identifier for the user */
17
+ userId: string
18
+ /** Arbitrary key-value pairs for proof values */
19
+ values: Record<string, any>
20
+ }
@@ -1,35 +0,0 @@
1
- <!DOCTYPE html><html class="default" lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>ApiClient | @proveanything/smartlinks</title><meta name="description" content="Documentation for @proveanything/smartlinks"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@proveanything/smartlinks</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">@proveanything/smartlinks</a></li><li><a href="ApiClient.html">ApiClient</a></li></ul><h1>Class ApiClient</h1></div><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><p>ApiClient for the Smartlinks API.
2
- Supports both browser (native fetch) and Node (using cross-fetch).</p>
3
- </div><div class="tsd-comment tsd-typography"></div></section><aside class="tsd-sources"><ul><li>Defined in index.ts:65</li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-index-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex="0"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-chevronSmall"></use></svg> Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Constructors</h3><div class="tsd-index-list"><a href="ApiClient.html#constructor" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-512"></use></svg><span>constructor</span></a>
4
- </div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Properties</h3><div class="tsd-index-list"><a href="ApiClient.html#apiKey" class="tsd-index-link tsd-is-private"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>api<wbr/>Key?</span></a>
5
- <a href="ApiClient.html#baseURL" class="tsd-index-link tsd-is-private"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>baseURL</span></a>
6
- <a href="ApiClient.html#bearerToken" class="tsd-index-link tsd-is-private"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>bearer<wbr/>Token?</span></a>
7
- </div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Methods</h3><div class="tsd-index-list"><a href="ApiClient.html#getAppConfiguration" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>get<wbr/>App<wbr/>Configuration</span></a>
8
- <a href="ApiClient.html#getCollection" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>get<wbr/>Collection</span></a>
9
- <a href="ApiClient.html#getProductItem" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>get<wbr/>Product<wbr/>Item</span></a>
10
- <a href="ApiClient.html#request" class="tsd-index-link tsd-is-private"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>request</span></a>
11
- </div></section></div></details></section></section><section class="tsd-panel-group tsd-member-group"><h2>Constructors</h2><section class="tsd-panel tsd-member"><a id="constructor" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>constructor</span><a href="#constructor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="constructor.new_ApiClient" class="tsd-anchor"></a><span class="tsd-kind-constructor-signature">new <wbr/>Api<wbr/>Client</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">baseURL</span>, <span class="tsd-kind-parameter">apiKey</span><span class="tsd-signature-symbol">?</span>, <span class="tsd-kind-parameter">bearerToken</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="ApiClient.html" class="tsd-signature-type tsd-kind-class">ApiClient</a><a href="#constructor.new_ApiClient" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Creates an instance of ApiClient.</p>
12
- </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">baseURL</span>: <span class="tsd-signature-type">string</span></span><div class="tsd-comment tsd-typography"><p>The base URL of the Smartlinks API (e.g., <a href="https://smartlinks.app/api/v1">https://smartlinks.app/api/v1</a>)</p>
13
- </div><div class="tsd-comment tsd-typography"></div></li><li><span><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">apiKey</span>: <span class="tsd-signature-type">string</span></span><div class="tsd-comment tsd-typography"><p>(Optional) API key for X-API-Key header</p>
14
- </div><div class="tsd-comment tsd-typography"></div></li><li><span><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">bearerToken</span>: <span class="tsd-signature-type">string</span></span><div class="tsd-comment tsd-typography"><p>(Optional) Bearer token for AUTHORIZATION header</p>
15
- </div><div class="tsd-comment tsd-typography"></div></li></ul></div><h4 class="tsd-returns-title">Returns <a href="ApiClient.html" class="tsd-signature-type tsd-kind-class">ApiClient</a></h4><div class="tsd-comment tsd-typography"><h4>Example</h4><pre><code class="language-ts"><span class="hl-3">// With both API key and bearer token</span><br/><span class="hl-6">const</span><span class="hl-1"> </span><span class="hl-7">client</span><span class="hl-1"> = </span><span class="hl-6">new</span><span class="hl-1"> </span><span class="hl-0">ApiClient</span><span class="hl-1">(</span><br/><span class="hl-1"> </span><span class="hl-2">&#39;https://smartlinks.app/api/v1&#39;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-2">&#39;your-api-key&#39;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-2">&#39;your-bearer-token&#39;</span><br/><span class="hl-1">);</span><br/><br/><span class="hl-3">// With only API key</span><br/><span class="hl-6">const</span><span class="hl-1"> </span><span class="hl-7">client</span><span class="hl-1"> = </span><span class="hl-6">new</span><span class="hl-1"> </span><span class="hl-0">ApiClient</span><span class="hl-1">(</span><br/><span class="hl-1"> </span><span class="hl-2">&#39;https://smartlinks.app/api/v1&#39;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-2">&#39;your-api-key&#39;</span><br/><span class="hl-1">);</span><br/><br/><span class="hl-3">// With only bearer token</span><br/><span class="hl-6">const</span><span class="hl-1"> </span><span class="hl-7">client</span><span class="hl-1"> = </span><span class="hl-6">new</span><span class="hl-1"> </span><span class="hl-0">ApiClient</span><span class="hl-1">(</span><br/><span class="hl-1"> </span><span class="hl-2">&#39;https://smartlinks.app/api/v1&#39;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-6">undefined</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-2">&#39;your-bearer-token&#39;</span><br/><span class="hl-1">);</span>
16
- </code><button>Copy</button></pre>
17
- </div><aside class="tsd-sources"><ul><li>Defined in index.ts:97</li></ul></aside></li></ul></section></section><section class="tsd-panel-group tsd-member-group"><h2>Properties</h2><section class="tsd-panel tsd-member tsd-is-private"><a id="apiKey" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagPrivate">Private</code> <code class="tsd-tag ts-flagOptional">Optional</code> <span>api<wbr/>Key</span><a href="#apiKey" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">api<wbr/>Key</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><ul><li>Defined in index.ts:67</li></ul></aside></section><section class="tsd-panel tsd-member tsd-is-private"><a id="baseURL" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagPrivate">Private</code> <span>baseURL</span><a href="#baseURL" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">baseURL</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><ul><li>Defined in index.ts:66</li></ul></aside></section><section class="tsd-panel tsd-member tsd-is-private"><a id="bearerToken" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagPrivate">Private</code> <code class="tsd-tag ts-flagOptional">Optional</code> <span>bearer<wbr/>Token</span><a href="#bearerToken" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">bearer<wbr/>Token</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><ul><li>Defined in index.ts:68</li></ul></aside></section></section><section class="tsd-panel-group tsd-member-group"><h2>Methods</h2><section class="tsd-panel tsd-member"><a id="getAppConfiguration" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>get<wbr/>App<wbr/>Configuration</span><a href="#getAppConfiguration" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="getAppConfiguration.getAppConfiguration-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">get<wbr/>App<wbr/>Configuration</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">collectionId</span>, <span class="tsd-kind-parameter">appId</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/AppConfigurationResponse.html" class="tsd-signature-type tsd-kind-interface">AppConfigurationResponse</a><span class="tsd-signature-symbol">&gt;</span><a href="#getAppConfiguration.getAppConfiguration-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Retrieves a single App Configuration by Collection ID and App ID.</p>
18
- </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">collectionId</span>: <span class="tsd-signature-type">string</span></span><div class="tsd-comment tsd-typography"><p>Identifier of the parent collection</p>
19
- </div><div class="tsd-comment tsd-typography"></div></li><li><span><span class="tsd-kind-parameter">appId</span>: <span class="tsd-signature-type">string</span></span><div class="tsd-comment tsd-typography"><p>Identifier of the app configuration</p>
20
- </div><div class="tsd-comment tsd-typography"></div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/AppConfigurationResponse.html" class="tsd-signature-type tsd-kind-interface">AppConfigurationResponse</a><span class="tsd-signature-symbol">&gt;</span></h4><p>Promise resolving to an AppConfigurationResponse object</p>
21
- <div class="tsd-comment tsd-typography"><h4>Throws</h4><p>ErrorResponse if the request fails</p>
22
- </div><aside class="tsd-sources"><ul><li>Defined in index.ts:133</li></ul></aside></li></ul></section><section class="tsd-panel tsd-member"><a id="getCollection" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>get<wbr/>Collection</span><a href="#getCollection" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="getCollection.getCollection-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">get<wbr/>Collection</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">collectionId</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/CollectionResponse.html" class="tsd-signature-type tsd-kind-interface">CollectionResponse</a><span class="tsd-signature-symbol">&gt;</span><a href="#getCollection.getCollection-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Retrieves a single Collection by its ID.</p>
23
- </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">collectionId</span>: <span class="tsd-signature-type">string</span></span><div class="tsd-comment tsd-typography"><p>Identifier of the collection</p>
24
- </div><div class="tsd-comment tsd-typography"></div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/CollectionResponse.html" class="tsd-signature-type tsd-kind-interface">CollectionResponse</a><span class="tsd-signature-symbol">&gt;</span></h4><p>Promise resolving to a CollectionResponse object</p>
25
- <div class="tsd-comment tsd-typography"><h4>Throws</h4><p>ErrorResponse if the request fails</p>
26
- </div><aside class="tsd-sources"><ul><li>Defined in index.ts:109</li></ul></aside></li></ul></section><section class="tsd-panel tsd-member"><a id="getProductItem" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>get<wbr/>Product<wbr/>Item</span><a href="#getProductItem" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="getProductItem.getProductItem-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">get<wbr/>Product<wbr/>Item</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">collectionId</span>, <span class="tsd-kind-parameter">productId</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/ProductResponse.html" class="tsd-signature-type tsd-kind-interface">ProductResponse</a><span class="tsd-signature-symbol">&gt;</span><a href="#getProductItem.getProductItem-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Retrieves a single Product Item by Collection ID and Product ID.</p>
27
- </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">collectionId</span>: <span class="tsd-signature-type">string</span></span><div class="tsd-comment tsd-typography"><p>Identifier of the parent collection</p>
28
- </div><div class="tsd-comment tsd-typography"></div></li><li><span><span class="tsd-kind-parameter">productId</span>: <span class="tsd-signature-type">string</span></span><div class="tsd-comment tsd-typography"><p>Identifier of the product item</p>
29
- </div><div class="tsd-comment tsd-typography"></div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/ProductResponse.html" class="tsd-signature-type tsd-kind-interface">ProductResponse</a><span class="tsd-signature-symbol">&gt;</span></h4><p>Promise resolving to a ProductResponse object</p>
30
- <div class="tsd-comment tsd-typography"><h4>Throws</h4><p>ErrorResponse if the request fails</p>
31
- </div><aside class="tsd-sources"><ul><li>Defined in index.ts:121</li></ul></aside></li></ul></section><section class="tsd-panel tsd-member tsd-is-private"><a id="request" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagPrivate">Private</code> <span>request</span><a href="#request" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures tsd-is-private"><li class="tsd-signature tsd-anchor-link"><a id="request.request-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">request</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="ApiClient.html#request.request-1.T">T</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">path</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="ApiClient.html#request.request-1.T">T</a><span class="tsd-signature-symbol">&gt;</span><a href="#request.request-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Internal helper to perform a GET request and parse JSON.</p>
32
- </div><section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span><a id="request.request-1.T" class="tsd-anchor"></a><span class="tsd-kind-type-parameter">T</span></span></li></ul></section><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">path</span>: <span class="tsd-signature-type">string</span></span><div class="tsd-comment tsd-typography"><p>The path (relative to baseURL) to request</p>
33
- </div><div class="tsd-comment tsd-typography"></div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="ApiClient.html#request.request-1.T">T</a><span class="tsd-signature-symbol">&gt;</span></h4><p>Promise resolving to the parsed JSON of type T</p>
34
- <div class="tsd-comment tsd-typography"><h4>Throws</h4><p>Error if network error or a non-2xx response is returned</p>
35
- </div><aside class="tsd-sources"><ul><li>Defined in index.ts:144</li></ul></aside></li></ul></section></section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-index-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><h4 class="uppercase">Member Visibility</h4><form><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-private" name="private"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Private</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></form></div><div class="tsd-theme-toggle"><h4 class="uppercase">Theme</h4><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-index-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>On This Page</h3></summary><div class="tsd-accordion-details"><a href="#constructor" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-512"></use></svg><span>constructor</span></a><a href="#apiKey" class="tsd-is-private"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>api<wbr/>Key</span></a><a href="#baseURL" class="tsd-is-private"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>baseURL</span></a><a href="#bearerToken" class="tsd-is-private"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>bearer<wbr/>Token</span></a><a href="#getAppConfiguration" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>get<wbr/>App<wbr/>Configuration</span></a><a href="#getCollection" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>get<wbr/>Collection</span></a><a href="#getProductItem" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>get<wbr/>Product<wbr/>Item</span></a><a href="#request" class="tsd-is-private"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>request</span></a></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1"></use></svg><span>@proveanything/smartlinks</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base=".."><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>