From e20add19f0070b8e7e788449f7025368ad2190ae Mon Sep 17 00:00:00 2001 From: Simone Belotti Date: Tue, 11 Nov 2025 14:02:22 +0100 Subject: [PATCH 1/2] PP9-22326: services regeneration & compatibility matrix update --- README.md | 3 ++- swagger/PictureparkSwagger.json | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 02eabaee4..f7609ef0b 100644 --- a/README.md +++ b/README.md @@ -46,7 +46,8 @@ NPM package: `@picturepark/sdk-v1-pickers` | `11.13.x` | `11.13.x` | [11.13.x](https://github.com/Picturepark/Picturepark.SDK.TypeScript/tree/11.13.x) | `11.14.x` | `11.14.x` | [11.14.x](https://github.com/Picturepark/Picturepark.SDK.TypeScript/tree/11.14.x) | `11.15.x` | `11.15.x` | [11.15.x](https://github.com/Picturepark/Picturepark.SDK.TypeScript/tree/11.15.x) -| `11.16.x` | `11.16.x` | [master](https://github.com/Picturepark/Picturepark.SDK.TypeScript/tree/master) +| `11.16.x` | `11.16.x` | [master](https://github.com/Picturepark/Picturepark.SDK.TypeScript/tree/11.16.x) +| `11.17.x` | `11.17.x` | [master](https://github.com/Picturepark/Picturepark.SDK.TypeScript/tree/master) SDK Development diff --git a/swagger/PictureparkSwagger.json b/swagger/PictureparkSwagger.json index 97a4301c8..63e05dba6 100644 --- a/swagger/PictureparkSwagger.json +++ b/swagger/PictureparkSwagger.json @@ -3,7 +3,7 @@ "openapi": "3.0.0", "info": { "title": "Fotoware Alto API V1", - "description": "\r\n# Getting started\r\n\r\nWelcome to the reference for the Fotoware Alto REST API.\r\n\r\n> **Note:** The platform has been renamed from Fotoware Fotoware Alto to **Fotoware Alto**, but the project name remains **Fotoware**. You may encounter both names in documentation, code, and resources.\r\n\r\n## Client registration\r\nTo use the Fotoware Alto API, you need first to create a new API Client. You can create clients via an Identity Server (IDS) interface directly from Fotoware Alto.\r\n\r\nGo to `Settings` / `API Clients` (https://{{customerHost}}/Settings/APIClients) and create a new API Client based on your desired authentication flow.\r\n\r\n### Client attributes\r\n\r\n| Attribute | Description |\r\n| -------------- | ----------- |\r\n| **Allowed scopes** | Scopes which the client is allowed to access. Use can find scope name beside the respective API endpoints. |\r\n| **Redirect Uris** | Which URI's is IDS allowed to send the authentication information to. |\r\n| **Urls (masks) safe to load** | IDS has to load some information from the Fotoware Alto customer instance like customer terms of service or logos. This lists the paths which are safe to load by IDS. Usually similar to Redirect Uris. |\r\n| **Allowed CORS origins** | Adds to the list of origins allowed to access the IDS authentication API. |\r\n\r\n## Authentication\r\nThe authentication process is based on [OpenID Connect](http://openid.net/connect/).\r\n\r\nThe following OAuth 2.0 flows are supported:\r\n\r\n| Flow | Description |\r\n| ------------ | ----------- |\r\n| **Hybrid** | Interactive user authentication with server based validation |\r\n| **Password** | Server to server, create access tokens that do not expire |\r\n| **Authorization code** with PKCE | Interactive user authentication recommended for SPA's |\r\n| **Implicit** | Not recommended anymore, used mostly in legacy SPA's |\r\n\r\n### Examples\r\nExample authentication implementations can be found here:\r\n- Angular: https://github.com/Picturepark/Picturepark.SDK.TypeScript/tree/master/src/picturepark-sdk-v1-angular\r\n- HTML5 Fetch: https://github.com/Picturepark/Picturepark.SDK.TypeScript/tree/master/src/picturepark-sdk-v1-fetch\r\n- .NET: https://github.com/Picturepark/Picturepark.SDK.DotNet/tree/master/docs\r\n\r\n### Access token lifetime\r\nFor **Implicit**, **Hybrid** and **Authentication code** flows, the access tokens are short-lived (1 hour). You need to refresh your access token after it's expired.\r\nYou can silently refresh the token using a hidden Iframe in the browser: [Angular example](https://damienbod.com/2017/06/02/implementing-a-silent-token-renew-in-angular-for-the-openid-connect-implicit-flow/)\r\n\r\nFor the **Password** flow, you can create an access token that never expires.\r\nGo to `Settings` / `API Clients` in Fotoware Alto (https://{{customerHost}}/Settings/APIClients) and click on Tokens beside the respective client (or create a new client).\r\n\r\n**Attention: Adding long lived access tokens to a web application (adding token to Javascripts source code) will expose that token to anyone. Use with care and a very limited set of scopes.**\r\n\r\n### Urls\r\n\r\n- Live: https://ids-cp-ch.picturepark.com\r\n- Stage: https://identity.current-picturepark.com\r\n- POC: https://identity.poc-picturepark.com\r\n- Preview: https://identity.preview-picturepark.com\r\n\r\n## SDKs\r\nTo simplify building applications, SDKs for the following languages/frameworks are provided and released as open source under MIT license:\r\n\r\n- .NET\r\n - [https://github.com/Picturepark/Picturepark.SDK.DotNet](https://github.com/Picturepark/Picturepark.SDK.DotNet)\r\n - Supports .NET 4.5+ / .NET Standard 1.3+\r\n- JavaScript / TypeScript\r\n - [https://github.com/Picturepark/Picturepark.SDK.TypeScript](https://github.com/Picturepark/Picturepark.SDK.TypeScript)\r\n - Supports [Angular](https://angular.io/) 4.3+ / [HTML 5 Fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API)\r\n\r\n# Concepts\r\n\r\n## HTTP Requests\r\nTo perform API calls, you can specify the following HTTP headers:\r\n\r\n| HTTP Header | Value | Required |\r\n| ------------------------- | -------------------- | -------- |\r\n| Accept | application/json | Yes |\r\n| Authorization | Bearer {accessToken} | Yes |\r\n| Picturepark-CustomerAlias | Customer identifier | Yes |\r\n| Picturepark-Language | en / de | No |\r\n\r\n## Error responses\r\nErrors in Fotoware Alto API are returned using HTTP status codes, as well as a JSON error response object.\r\n\r\nHTTP status 4xx\r\n- Client errors (e.g. wrong data provided by client)\r\n\r\nHTTP status 5xx\r\n- Server errors (something went wrong on the server)\r\n\r\n## Request limits / quota\r\nTo protect the Fotoware Alto API you are limited in the number of API requests per interval.\r\n\r\nIf that limit is exceeded you will get an exception with HTTP status code 429 (Too many requests).\r\n\r\nIf you need more calls per interval, contact Fotoware Alto sales (sales@picturepark.com).\r\n\r\n## Permissions / Scopes\r\n\r\nIn order to be able to perform requests, you need the permissions.\r\n\r\n### User permissions\r\nThe authenticated user needs the permission in Fotoware Alto to perform the request.\r\n\r\n### Scopes\r\n\r\nAdditionally, your application needs to define which scopes are required.\r\n\r\nFor all the scopes requested by your application, the users need to confirm these in the consent screen.\r\n\r\n[List of scopes](#section/Authentication)\r\n\r\n\r\n# Search\r\n\r\nMost entities have a search endpoint to search and filter.\r\n\r\nFor list items and contents, the search and filters depend on the available schemas and search configurations.\r\n\r\n\r\n## Simple search\r\n\r\n([Elastic search query string reference](https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-query-string-query.html))\r\n\r\nWith the simple search a multi field query is executed.\r\n\r\nallow_leading_wildcard is disabled.\r\n\r\nThe applicable query string syntax can be found [here](https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-query-string-query.html).\r\n\r\nThe query is executed against all indexed schema fields with a boolean flag *SimpleSearch* set to `true`.\r\n\r\nRunning the query against multiple fields enables to put the searched fields under thight control and also to expand each query term to an OR clause (field1=\"value\" or field2=\"value\").\r\n\r\n\r\n## Filtering\r\n\r\nAvailable filters:\r\n\r\n- AndFilter\r\n- OrFilter\r\n- NotFilter\r\n- DateRangeFilter\r\n- NumericRangeFilter\r\n- ExistsFilter\r\n- PrefixFilter\r\n- TermFilter\r\n- TermsFilter\r\n- GeoBoundingBoxFilter\r\n- GeoDistanceFilter\r\n- NestedFilter\r\n- ChildFilter\r\n- ParentFilter", + "description": "\r\n# Getting started\r\n\r\nWelcome to the reference for the Fotoware Alto REST API.\r\n\r\n> **Note:** The platform has been renamed from Picturepark Content Platform to **Fotoware Alto**, but the project name remains **Picturepark**. You may encounter both names in documentation, code, and resources.\r\n\r\n## Client registration\r\nTo use the Fotoware Alto API, you need first to create a new API Client. You can create clients via an Identity Server (IDS) interface directly from Fotoware Alto.\r\n\r\nGo to `Settings` / `API Clients` (https://{{customerHost}}/Settings/APIClients) and create a new API Client based on your desired authentication flow.\r\n\r\n### Client attributes\r\n\r\n| Attribute | Description |\r\n| -------------- | ----------- |\r\n| **Allowed scopes** | Scopes which the client is allowed to access. Use can find scope name beside the respective API endpoints. |\r\n| **Redirect Uris** | Which URI's is IDS allowed to send the authentication information to. |\r\n| **Urls (masks) safe to load** | IDS has to load some information from the Fotoware Alto customer instance like customer terms of service or logos. This lists the paths which are safe to load by IDS. Usually similar to Redirect Uris. |\r\n| **Allowed CORS origins** | Adds to the list of origins allowed to access the IDS authentication API. |\r\n\r\n## Authentication\r\nThe authentication process is based on [OpenID Connect](http://openid.net/connect/).\r\n\r\nThe following OAuth 2.0 flows are supported:\r\n\r\n| Flow | Description |\r\n| ------------ | ----------- |\r\n| **Hybrid** | Interactive user authentication with server based validation |\r\n| **Password** | Server to server, create access tokens that do not expire |\r\n| **Authorization code** with PKCE | Interactive user authentication recommended for SPA's |\r\n| **Implicit** | Not recommended anymore, used mostly in legacy SPA's |\r\n\r\n### Examples\r\nExample authentication implementations can be found here:\r\n- Angular: https://github.com/Picturepark/Picturepark.SDK.TypeScript/tree/master/src/picturepark-sdk-v1-angular\r\n- HTML5 Fetch: https://github.com/Picturepark/Picturepark.SDK.TypeScript/tree/master/src/picturepark-sdk-v1-fetch\r\n- .NET: https://github.com/Picturepark/Picturepark.SDK.DotNet/tree/master/docs\r\n\r\n### Access token lifetime\r\nFor **Implicit**, **Hybrid** and **Authentication code** flows, the access tokens are short-lived (1 hour). You need to refresh your access token after it's expired.\r\nYou can silently refresh the token using a hidden Iframe in the browser: [Angular example](https://damienbod.com/2017/06/02/implementing-a-silent-token-renew-in-angular-for-the-openid-connect-implicit-flow/)\r\n\r\nFor the **Password** flow, you can create an access token that never expires.\r\nGo to `Settings` / `API Clients` in Fotoware Alto (https://{{customerHost}}/Settings/APIClients) and click on Tokens beside the respective client (or create a new client).\r\n\r\n**Attention: Adding long lived access tokens to a web application (adding token to Javascripts source code) will expose that token to anyone. Use with care and a very limited set of scopes.**\r\n\r\n### Urls\r\n\r\n- Live: https://ids-cp-ch.picturepark.com\r\n- Stage: https://identity.current-picturepark.com\r\n- POC: https://identity.poc-picturepark.com\r\n- Preview: https://identity.preview-picturepark.com\r\n\r\n## SDKs\r\nTo simplify building applications, SDKs for the following languages/frameworks are provided and released as open source under MIT license:\r\n\r\n- .NET\r\n - [https://github.com/Picturepark/Picturepark.SDK.DotNet](https://github.com/Picturepark/Picturepark.SDK.DotNet)\r\n - Supports .NET 4.5+ / .NET Standard 1.3+\r\n- JavaScript / TypeScript\r\n - [https://github.com/Picturepark/Picturepark.SDK.TypeScript](https://github.com/Picturepark/Picturepark.SDK.TypeScript)\r\n - Supports [Angular](https://angular.io/) 4.3+ / [HTML 5 Fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API)\r\n\r\n# Concepts\r\n\r\n## HTTP Requests\r\nTo perform API calls, you can specify the following HTTP headers:\r\n\r\n| HTTP Header | Value | Required |\r\n| ------------------------- | -------------------- | -------- |\r\n| Accept | application/json | Yes |\r\n| Authorization | Bearer {accessToken} | Yes |\r\n| Picturepark-CustomerAlias | Customer identifier | Yes |\r\n| Picturepark-Language | en / de | No |\r\n\r\n## Error responses\r\nErrors in Fotoware Alto API are returned using HTTP status codes, as well as a JSON error response object.\r\n\r\nHTTP status 4xx\r\n- Client errors (e.g. wrong data provided by client)\r\n\r\nHTTP status 5xx\r\n- Server errors (something went wrong on the server)\r\n\r\n## Request limits / quota\r\nTo protect the Fotoware Alto API you are limited in the number of API requests per interval.\r\n\r\nIf that limit is exceeded you will get an exception with HTTP status code 429 (Too many requests).\r\n\r\nIf you need more calls per interval, contact Fotoware Alto sales (sales@picturepark.com).\r\n\r\n## Permissions / Scopes\r\n\r\nIn order to be able to perform requests, you need the permissions.\r\n\r\n### User permissions\r\nThe authenticated user needs the permission in Fotoware Alto to perform the request.\r\n\r\n### Scopes\r\n\r\nAdditionally, your application needs to define which scopes are required.\r\n\r\nFor all the scopes requested by your application, the users need to confirm these in the consent screen.\r\n\r\n[List of scopes](#section/Authentication)\r\n\r\n\r\n# Search\r\n\r\nMost entities have a search endpoint to search and filter.\r\n\r\nFor list items and contents, the search and filters depend on the available schemas and search configurations.\r\n\r\n\r\n## Simple search\r\n\r\n([Elastic search query string reference](https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-query-string-query.html))\r\n\r\nWith the simple search a multi field query is executed.\r\n\r\nallow_leading_wildcard is disabled.\r\n\r\nThe applicable query string syntax can be found [here](https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-query-string-query.html).\r\n\r\nThe query is executed against all indexed schema fields with a boolean flag *SimpleSearch* set to `true`.\r\n\r\nRunning the query against multiple fields enables to put the searched fields under thight control and also to expand each query term to an OR clause (field1=\"value\" or field2=\"value\").\r\n\r\n\r\n## Filtering\r\n\r\nAvailable filters:\r\n\r\n- AndFilter\r\n- OrFilter\r\n- NotFilter\r\n- DateRangeFilter\r\n- NumericRangeFilter\r\n- ExistsFilter\r\n- PrefixFilter\r\n- TermFilter\r\n- TermsFilter\r\n- GeoBoundingBoxFilter\r\n- GeoDistanceFilter\r\n- NestedFilter\r\n- ChildFilter\r\n- ParentFilter", "contact": { "name": "Fotoware Alto sales", "url": "https://www.picturepark.com", From ec2fbdcdb8bc2fb477f151de54b201c11a7ba81d Mon Sep 17 00:00:00 2001 From: Simone Belotti Date: Tue, 11 Nov 2025 14:11:01 +0100 Subject: [PATCH 2/2] Readme file updated --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f7609ef0b..c6f2da514 100644 --- a/README.md +++ b/README.md @@ -46,7 +46,7 @@ NPM package: `@picturepark/sdk-v1-pickers` | `11.13.x` | `11.13.x` | [11.13.x](https://github.com/Picturepark/Picturepark.SDK.TypeScript/tree/11.13.x) | `11.14.x` | `11.14.x` | [11.14.x](https://github.com/Picturepark/Picturepark.SDK.TypeScript/tree/11.14.x) | `11.15.x` | `11.15.x` | [11.15.x](https://github.com/Picturepark/Picturepark.SDK.TypeScript/tree/11.15.x) -| `11.16.x` | `11.16.x` | [master](https://github.com/Picturepark/Picturepark.SDK.TypeScript/tree/11.16.x) +| `11.16.x` | `11.16.x` | [11.16.x](https://github.com/Picturepark/Picturepark.SDK.TypeScript/tree/11.16.x) | `11.17.x` | `11.17.x` | [master](https://github.com/Picturepark/Picturepark.SDK.TypeScript/tree/master) SDK Development