@agravity/public 11.0.4 → 11.1.0
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/README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
# @agravity/public@11.0
|
|
1
|
+
# @agravity/public@11.1.0
|
|
2
2
|
|
|
3
3
|
<p>The Agravity Public API provides comprehensive access to digital asset management functionality for technical integrations, portals, and third-party applications. These endpoints are designed for programmatic access with API key authentication.</p><br/><h2>Access & Security</h2><br/><b>API key is required to access these endpoints.</b><br/><ul><li>API Key Authentication - Each request requires a valid API key in headers or parameters</li><li>Portal-Aware - Many endpoints support portal context for multi-tenant scenarios</li><li>Service-to-Service Communication - Designed for backend-to-backend integrations</li><li>Stable & Versioned - Public API versioning ensures backward compatibility</li></ul><h2>Core Features & Operations</h2><ul><li><strong>Asset Management</strong> - Create, retrieve, update assets with full metadata support; manage versions and publish assets</li><li><strong>Collection Management</strong> - Create and organize collections hierarchically; retrieve collection type definitions and structures</li><li><strong>Asset Operations</strong> - Retrieve asset blobs (thumbnails, optimized, original); rotate and resize images; find similar assets using AI reverse search</li><li><strong>Image Editing</strong> - Apply transformations to images with advanced parameters (resize, crop, filter, color space, DPI, quality, depth)</li><li><strong>Asset Publishing</strong> - Publish assets to various targets (Vimeo, CDN); manage published asset information</li><li><strong>Asset Versioning</strong> - Create, restore, and manage asset versions; track version history with descriptions</li><li><strong>Asset Relations</strong> - Create and manage relationships between assets with hierarchical or standard relations; organize assets into logical groups</li><li><strong>Asset Relation Types</strong> - Retrieve relation type definitions including hierarchical, sequential, and unique-per-asset configurations</li><li><strong>Full-Text Search</strong> - Search assets and collections with advanced filtering, facets, and sorting capabilities</li><li><strong>Collection Sharing</strong> - Create shared collections with expiration dates, password protection, and download limits</li><li><strong>Quick Shares</strong> - Create quick share links for rapid asset sharing with expiration management</li><li><strong>Portals</strong> - Full portal management with authentication, custom theming, and asset filtering</li><li><strong>Secure Upload</strong> - Secure file upload endpoints with validation and SAS token generation</li><li><strong>Download Management</strong> - Create ZIP packages of assets with format specifications; track download progress</li><li><strong>Download Formats</strong> - Define and apply custom image transformations and optimizations for downloads</li><li><strong>Authentication</strong> - Generate SAS tokens for container write access; retrieve user information</li><li><strong>Configuration</strong> - Access frontend configuration values and system settings</li><li><strong>Helper Tools</strong> - Get searchable items, filterable items, user-defined lists, and static defined lists</li><li><strong>Translations</strong> - Retrieve translations for all entities in multiple languages</li><li><strong>Deleted Entities Tracking</strong> - Track deleted assets, collections, and other entities by date</li></ul><h2>Available Endpoints by Category</h2><ul><li><strong>Asset Management</strong> - /assets, /assets/{id}, /assetsupload</li><li><strong>Asset Relations</strong> - /assetrelations, /assetrelations/{id} (create, read, update, delete asset relationships)</li><li><strong>Asset Relation Types</strong> - /assetrelationtypes, /assetrelationtypes/{id} (retrieve relation type definitions and configurations)</li><li><strong>Asset Operations</strong> - /assets/{id}/blobs, /assets/{id}/collections, /assets/{id}/tocollection, /assets/{id}/download, /assets/{id}/resize, /assets/{id}/imageedit, /assets/{id}/availability</li><li><strong>Asset Publishing</strong> - /assets/{id}/publish, /assets/{id}/publish/{pid}</li><li><strong>Asset Versioning</strong> - /assets/{id}/versions, /assets/{id}/versionsupload, /assets/{id}/versions/{vNr}/restore</li><li><strong>AI Operations</strong> - /ai/reverseassetsearch (find similar assets using image)</li><li><strong>Collection Management</strong> - /collections, /collections/{id}, /collections/{id}/ancestors, /collections/{id}/descendants, /collections/{id}/previews, /collectionsbynames</li><li><strong>Collection Types</strong> - /collectiontypes, /collectiontypes/{id}, /collectiontypesitems</li><li><strong>Search</strong> - /search, /search/facette, /searchadmin/status</li><li><strong>Saved Searches</strong> - /savedsearches</li><li><strong>Collection Sharing</strong> - /shared/{id}, /shared/{id}/zip, /quickshares/{id}</li><li><strong>Secure Upload</strong> - /secureupload/{id}, /secureupload/{id}/upload</li><li><strong>Portal Management</strong> - /portals/{id}, /portals/{id}/config, /portals/{id}/zip, /portals/{id}/assetids, /portalsenhancetoken, /portalssaveuserattributes</li><li><strong>Authentication</strong> - /auth/containerwrite/{containerName}, /auth/inbox, /auth/users/{id}</li><li><strong>Download Formats</strong> - /downloadformats, /downloadformats-shared</li><li><strong>Configuration</strong> - /config/frontend</li><li><strong>Static Defined Lists</strong> - /staticdefinedlists, /staticdefinedlists/{id}</li><li><strong>User-Defined Lists</strong> - /helper/userdefinedlists</li><li><strong>Helper Tools</strong> - /helper/searchableitemnames, /helper/searchableitems, /helper/filterableitems</li><li><strong>Translations</strong> - /translations/{id}, /translations/{id}/{property}, /translations/{id}/custom/{customField}</li><li><strong>Web App Data</strong> - /webappdata/{id}, /data/collectiontype/{id}</li><li><strong>Workspace Management</strong> - /workspaces, /workspaces/{id}</li><li><strong>General</strong> - /version, /deleted, /durable/{instanceId}, /public/view, /signalr/negotiate</li></ul><h2>Typical Use Cases</h2><ul><li>E-commerce platforms - Product image management and dynamic optimization</li><li>Marketing automation - Asset distribution across channels with version control</li><li>Portal systems - Multi-tenant asset galleries with custom theming and permissions</li><li>Headless CMS integration - Content delivery with dynamic transformations</li><li>Mobile applications - Asset retrieval with mobile-optimized formats</li><li>AI-powered workflows - Reverse image search and automatic metadata generation</li><li>Asset sharing platforms - Secure sharing with expiration and password protection</li><li>Digital distribution - ZIP creation and bulk download management</li><li>Multi-language content - Translation management across all assets and collections</li><li>Real-time monitoring - Deletion tracking and version history auditing</li></ul><h2>Key Capabilities</h2><ul><li>Full CRUD operations on assets, collections, and related entities</li><li>Asset relationship management with hierarchical and standard relations</li><li>Advanced image transformation with ImageMagick integration</li><li>AI-powered reverse image search for asset discovery</li><li>Multi-language support with translation dictionaries</li><li>Granular permission control and role-based access</li><li>Portal creation with custom authentication and theming</li><li>Hierarchical collection organization with dynamic filtering</li><li>Real-time search with faceted navigation and advanced filtering</li><li>Secure sharing with expiration and password protection</li><li>Blob storage integration with SAS token generation</li><li>Comprehensive asset versioning and restoration</li><li>SignalR support for real-time notifications</li></ul><h2>Authentication & Authorization</h2><p>All endpoints (except public share endpoints) require API key authentication. The API key can be provided:</p><ul><li>As query parameter: ?code=YOUR_API_KEY</li><li>As header: x-functions-key: YOUR_API_KEY</li></ul><p>Portal endpoints may have additional authentication methods (OAuth, Azure AD, Auth0, password) depending on portal configuration.</p><h2>Support</h2><p>For technical support or integration questions, contact <a href=\"mailto:support@agravity.io\">support@agravity.io</a> or visit <a href=\"https://agravity.io\">https://agravity.io</a>.</p><br/><p>Copyright © Agravity GmbH 2026. All Rights Reserved</p>
|
|
4
4
|
|
|
5
|
-
The version of the OpenAPI document: 11.0
|
|
5
|
+
The version of the OpenAPI document: 11.1.0
|
|
6
6
|
|
|
7
7
|
## Building
|
|
8
8
|
|
|
@@ -24,7 +24,7 @@ Navigate to the folder of your consuming project and run one of next commands.
|
|
|
24
24
|
_published:_
|
|
25
25
|
|
|
26
26
|
```console
|
|
27
|
-
npm install @agravity/public@11.0
|
|
27
|
+
npm install @agravity/public@11.1.0 --save
|
|
28
28
|
```
|
|
29
29
|
|
|
30
30
|
_without publishing (not recommended):_
|
|
@@ -33,6 +33,10 @@ export interface HttpGetAllUserDefinedListsRequestParams {
|
|
|
33
33
|
translations?: boolean;
|
|
34
34
|
/** The requested language of the response. If not matching it falls back to default language. */
|
|
35
35
|
acceptLanguage?: string;
|
|
36
|
+
/** A portal ID ignores permissions but the param coll_ids. */
|
|
37
|
+
portalId?: string;
|
|
38
|
+
/** A comma separated list of parent IDs of UDLs which should be fetched. */
|
|
39
|
+
collIds?: string;
|
|
36
40
|
}
|
|
37
41
|
|
|
38
42
|
export interface HttpGetAllowedFilterableItemsRequestParams {
|
|
@@ -96,11 +100,17 @@ export class PublicHelperToolsService extends BaseService {
|
|
|
96
100
|
): Observable<any> {
|
|
97
101
|
const translations = requestParameters?.translations;
|
|
98
102
|
const acceptLanguage = requestParameters?.acceptLanguage;
|
|
103
|
+
const portalId = requestParameters?.portalId;
|
|
104
|
+
const collIds = requestParameters?.collIds;
|
|
99
105
|
|
|
100
106
|
let localVarQueryParameters = new OpenApiHttpParams(this.encoder);
|
|
101
107
|
|
|
102
108
|
localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, 'translations', <any>translations, QueryParamStyle.Form, true);
|
|
103
109
|
|
|
110
|
+
localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, 'portal_id', <any>portalId, QueryParamStyle.Form, true);
|
|
111
|
+
|
|
112
|
+
localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, 'coll_ids', <any>collIds, QueryParamStyle.Form, true);
|
|
113
|
+
|
|
104
114
|
let localVarHeaders = this.defaultHeaders;
|
|
105
115
|
if (acceptLanguage !== undefined && acceptLanguage !== null) {
|
|
106
116
|
localVarHeaders = localVarHeaders.set('Accept-Language', String(acceptLanguage));
|
|
@@ -17,6 +17,8 @@ import { OpenApiHttpParams, QueryParamStyle } from '../query.params';
|
|
|
17
17
|
// @ts-ignore
|
|
18
18
|
import { AgravityErrorResponse } from '../model/agravityErrorResponse.pub.agravity';
|
|
19
19
|
// @ts-ignore
|
|
20
|
+
import { AzSearchOptions } from '../model/azSearchOptions.pub.agravity';
|
|
21
|
+
// @ts-ignore
|
|
20
22
|
import { SearchAdminStatus } from '../model/searchAdminStatus.pub.agravity';
|
|
21
23
|
// @ts-ignore
|
|
22
24
|
import { SearchFacet } from '../model/searchFacet.pub.agravity';
|
|
@@ -84,6 +86,17 @@ export interface HttpGlobalSearchRequestParams {
|
|
|
84
86
|
acceptLanguage?: string;
|
|
85
87
|
}
|
|
86
88
|
|
|
89
|
+
export interface HttpGlobalSearchPostRequestParams {
|
|
90
|
+
/** Search options for the request body. */
|
|
91
|
+
azSearchOptions: AzSearchOptions;
|
|
92
|
+
/** When default language should be returned and the translation dictionary is delivered. (Ignores the \"Accept-Language\" header) */
|
|
93
|
+
translations?: boolean;
|
|
94
|
+
/** The requested language of the response. If not matching it falls back to default language. */
|
|
95
|
+
acceptLanguage?: string;
|
|
96
|
+
/** This will expose the thumbnail asset blob incl. URL with SAS Token. */
|
|
97
|
+
expose?: boolean;
|
|
98
|
+
}
|
|
99
|
+
|
|
87
100
|
export interface HttpSearchAdminGetStatusRequestParams {
|
|
88
101
|
/** If the search should be redirected to a specific portal. */
|
|
89
102
|
portalId?: string;
|
|
@@ -209,7 +222,7 @@ export class PublicSearchManagementService extends BaseService {
|
|
|
209
222
|
}
|
|
210
223
|
|
|
211
224
|
/**
|
|
212
|
-
* This endpoint returns a configured max amount of results for search terms.
|
|
225
|
+
* This endpoint returns a configured max amount of results for search terms using query parameters.
|
|
213
226
|
* @endpoint get /search
|
|
214
227
|
* @param requestParameters
|
|
215
228
|
* @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
|
|
@@ -334,6 +347,102 @@ export class PublicSearchManagementService extends BaseService {
|
|
|
334
347
|
});
|
|
335
348
|
}
|
|
336
349
|
|
|
350
|
+
/**
|
|
351
|
+
* This endpoint returns a configured max amount of results for search options in the request body.
|
|
352
|
+
* @endpoint post /search
|
|
353
|
+
* @param requestParameters
|
|
354
|
+
* @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
|
|
355
|
+
* @param reportProgress flag to report request and response progress.
|
|
356
|
+
* @param options additional options
|
|
357
|
+
*/
|
|
358
|
+
public httpGlobalSearchPost(
|
|
359
|
+
requestParameters: HttpGlobalSearchPostRequestParams,
|
|
360
|
+
observe?: 'body',
|
|
361
|
+
reportProgress?: boolean,
|
|
362
|
+
options?: { httpHeaderAccept?: 'application/json'; context?: HttpContext; transferCache?: boolean }
|
|
363
|
+
): Observable<SearchResult>;
|
|
364
|
+
public httpGlobalSearchPost(
|
|
365
|
+
requestParameters: HttpGlobalSearchPostRequestParams,
|
|
366
|
+
observe?: 'response',
|
|
367
|
+
reportProgress?: boolean,
|
|
368
|
+
options?: { httpHeaderAccept?: 'application/json'; context?: HttpContext; transferCache?: boolean }
|
|
369
|
+
): Observable<HttpResponse<SearchResult>>;
|
|
370
|
+
public httpGlobalSearchPost(
|
|
371
|
+
requestParameters: HttpGlobalSearchPostRequestParams,
|
|
372
|
+
observe?: 'events',
|
|
373
|
+
reportProgress?: boolean,
|
|
374
|
+
options?: { httpHeaderAccept?: 'application/json'; context?: HttpContext; transferCache?: boolean }
|
|
375
|
+
): Observable<HttpEvent<SearchResult>>;
|
|
376
|
+
public httpGlobalSearchPost(
|
|
377
|
+
requestParameters: HttpGlobalSearchPostRequestParams,
|
|
378
|
+
observe: any = 'body',
|
|
379
|
+
reportProgress: boolean = false,
|
|
380
|
+
options?: { httpHeaderAccept?: 'application/json'; context?: HttpContext; transferCache?: boolean }
|
|
381
|
+
): Observable<any> {
|
|
382
|
+
const azSearchOptions = requestParameters?.azSearchOptions;
|
|
383
|
+
if (azSearchOptions === null || azSearchOptions === undefined) {
|
|
384
|
+
throw new Error('Required parameter azSearchOptions was null or undefined when calling httpGlobalSearchPost.');
|
|
385
|
+
}
|
|
386
|
+
const translations = requestParameters?.translations;
|
|
387
|
+
const acceptLanguage = requestParameters?.acceptLanguage;
|
|
388
|
+
const expose = requestParameters?.expose;
|
|
389
|
+
|
|
390
|
+
let localVarQueryParameters = new OpenApiHttpParams(this.encoder);
|
|
391
|
+
|
|
392
|
+
localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, 'translations', <any>translations, QueryParamStyle.Form, true);
|
|
393
|
+
|
|
394
|
+
localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, 'expose', <any>expose, QueryParamStyle.Form, true);
|
|
395
|
+
|
|
396
|
+
let localVarHeaders = this.defaultHeaders;
|
|
397
|
+
if (acceptLanguage !== undefined && acceptLanguage !== null) {
|
|
398
|
+
localVarHeaders = localVarHeaders.set('Accept-Language', String(acceptLanguage));
|
|
399
|
+
}
|
|
400
|
+
|
|
401
|
+
// authentication (function_key) required
|
|
402
|
+
localVarHeaders = this.configuration.addCredentialToHeaders('function_key', 'x-functions-key', localVarHeaders);
|
|
403
|
+
|
|
404
|
+
const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept(['application/json']);
|
|
405
|
+
if (localVarHttpHeaderAcceptSelected !== undefined) {
|
|
406
|
+
localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);
|
|
407
|
+
}
|
|
408
|
+
|
|
409
|
+
const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();
|
|
410
|
+
|
|
411
|
+
const localVarTransferCache: boolean = options?.transferCache ?? true;
|
|
412
|
+
|
|
413
|
+
// to determine the Content-Type header
|
|
414
|
+
const consumes: string[] = ['application/json'];
|
|
415
|
+
const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);
|
|
416
|
+
if (httpContentTypeSelected !== undefined) {
|
|
417
|
+
localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);
|
|
418
|
+
}
|
|
419
|
+
|
|
420
|
+
let responseType_: 'text' | 'json' | 'blob' = 'json';
|
|
421
|
+
if (localVarHttpHeaderAcceptSelected) {
|
|
422
|
+
if (localVarHttpHeaderAcceptSelected.startsWith('text')) {
|
|
423
|
+
responseType_ = 'text';
|
|
424
|
+
} else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
|
|
425
|
+
responseType_ = 'json';
|
|
426
|
+
} else {
|
|
427
|
+
responseType_ = 'blob';
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
let localVarPath = `/search`;
|
|
432
|
+
const { basePath, withCredentials } = this.configuration;
|
|
433
|
+
return this.httpClient.request<SearchResult>('post', `${basePath}${localVarPath}`, {
|
|
434
|
+
context: localVarHttpContext,
|
|
435
|
+
body: azSearchOptions,
|
|
436
|
+
params: localVarQueryParameters.toHttpParams(),
|
|
437
|
+
responseType: <any>responseType_,
|
|
438
|
+
...(withCredentials ? { withCredentials } : {}),
|
|
439
|
+
headers: localVarHeaders,
|
|
440
|
+
observe: observe,
|
|
441
|
+
...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),
|
|
442
|
+
reportProgress: reportProgress
|
|
443
|
+
});
|
|
444
|
+
}
|
|
445
|
+
|
|
337
446
|
/**
|
|
338
447
|
* This endpoint gives the status about the index and indexer.
|
|
339
448
|
* @endpoint get /searchadmin/status
|
|
@@ -13,6 +13,7 @@ export interface PortalFields {
|
|
|
13
13
|
name?: string | null;
|
|
14
14
|
detail_order?: number | null;
|
|
15
15
|
facet_order?: number | null;
|
|
16
|
+
orfilterable?: boolean | null;
|
|
16
17
|
labels?: { [key: string]: string } | null;
|
|
17
18
|
user_context?: PortalUserContext | null;
|
|
18
19
|
format?: string | null;
|
|
@@ -13,7 +13,7 @@ import { AzSearchOptions } from './azSearchOptions.pub.agravity';
|
|
|
13
13
|
|
|
14
14
|
export interface SearchResult {
|
|
15
15
|
data_result?: DataResult | null;
|
|
16
|
-
options?: AzSearchOptions
|
|
16
|
+
options?: AzSearchOptions;
|
|
17
17
|
facets?: Array<SearchFacet> | null;
|
|
18
18
|
count?: number | null;
|
|
19
19
|
}
|
package/package.json
CHANGED