Introduction

This is the PSI Backend API Documentation.

This documentation aims to provide all the information you need to work with our API.

Authenticating requests

To authenticate requests, include an Authorization header with the value "Bearer {YOUR_BEARER_TOKEN}".

All authenticated endpoints are marked with a requires authentication badge in the documentation below.

Authentication

Authenticate

POST
https://api.psiproductfinder.de
/v2/auth

This endpoint allows you to authenticate and retrieve an access_token and a refresh_token. The access_token must be included in the header of every API request to access protected resources. You can log in using your standard PSI account credentials. However, to avoid potential issues caused by password changes of regular user accounts, we strongly recommend creating a dedicated Sub-Account for API access. You can set up a Sub-Account in your PSI account settings (https://www.psi-network.de/).

Headers

Content-Type
Example:
application/json
Accept
Example:
application/json

Body Parameters

Example request:
curl --request POST \
    "https://api.psiproductfinder.de/v2/auth" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"username\": \"demo@psi-network.de\",
    \"password\": \"password\"
}"
Example response:
{
    "access_token": "eyJ0eXAidemoV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJwcLmRlIiwiYXVkIjoicHNpcHJvZHVjdansmRlci5kZSIsImp0adIeoQzNjMwIiwiaWF0IjoxNzM3MDE5NTQ2LjE2OTkyMiwibmJmIjoxNzM3MDE5NTQ2LjE2OTkyMiwiZXhwIjoxNzM3MDE5NTQ2LjE2OTkyMiwicGF5bG9hZCI6eyJwc2lubyI6NDM2MzAsInVzZXJfaWQiOjEyNDcyOSwiZ3JvdXBzIjoiMTQiLCJlbWFpbCI6ImZyYW5rQHJoZWluc2NoYWZlLmRlIn19",
    "refresh_token": "07070512341eacdemo3a64267c377cdcf06501",
    "expires_in": 1737019546
}
{
    "errors": "Username or Password is wrong."
}

Refresh Token

POST
https://api.psiproductfinder.de
/v2/refresh

Your access_token is valid for the duration specified in the expires_in field of the authentication response (e.g., typically 1 hour). Once the token expires, you must generate a new one to continue accessing protected resources.

Headers

Content-Type
Example:
application/json
Accept
Example:
application/json

Body Parameters

Example request:
curl --request POST \
    "https://api.psiproductfinder.de/v2/refresh" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"username\": \"demo@psi-network.de\",
    \"refresh_token\": \"07070512341eacdemo3a64267c377cdcf06501\"
}"
Example response:
{
    "access_token": "eyJ0eXAidemoV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJwcLmRlIiwiYXVkIjoicHNpcHJvZHVjdansmRlci5kZSIsImp0adIeoQzNjMwIiwiaWF0IjoxNzM3MDE5NTQ2LjE2OTkyMiwibmJmIjoxNzM3MDE5NTQ2LjE2OTkyMiwiZXhwIjoxNzM3MDE5NTQ2LjE2OTkyMiwicGF5bG9hZCI6eyJwc2lubyI6NDM2MzAsInVzZXJfaWQiOjEyNDcyOSwiZ3JvdXBzIjoiMTQiLCJlbWFpbCI6ImZyYW5rQHJoZWluc2NoYWZlLmRlIn19",
    "expires_in": 1737020073
}

Product Controller

Get Entities

GET
https://api.psiproductfinder.de
/v2/products
requires authentication

The Get Entities endpoint allows you to retrieve all products associated with your PSI number. It returns all products that belong to your account, but you can customize the results using optional query parameters.

Headers

Authorization
Example:
Bearer {YOUR_BEARER_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json

Query Parameters

language
string
Must be one of:
  • de
  • en
Example:
en
locale
string
Must be one of:
  • de
  • en
Example:
en
filter
string
Example:
outdated
search
string
Example:
Suchen
page
number

Must be at least 1.

Example:
1
size
number

Must be at least 1. Must not be greater than 100.

Example:
24
Example request:
curl --request GET \
    --get "https://api.psiproductfinder.de/v2/products?language=en&locale=en&filter=outdated&search=Suchen&page=1&size=24" \
    --header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "code": 200,
    "status": "OK",
    "data": [],
    "meta": {}
}
{
    "code": "404",
    "status": "Not found",
    "message": "No products found."
}

Create Entity

POST
https://api.psiproductfinder.de
/v2/products/store
requires authentication

To create a variant or translation, simply post a payload containing the required parameters. If you specify a language other than the default (en), a new translation for the specified language will be added.

Headers

Authorization
Example:
Bearer {YOUR_BEARER_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json

Body Parameters

Example request:
curl --request POST \
    "https://api.psiproductfinder.de/v2/products/store" \
    --header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"Demo Product\",
    \"product_number\": \"demo-001\",
    \"language\": \"en\",
    \"locale\": \"en\",
    \"master_product_number\": \"demo-001\",
    \"brand\": \"PSI-Demo\",
    \"description\": \"This is just a demo product\",
    \"tags\": \"demo1, demo2\",
    \"ean_code\": \"1234567890\",
    \"product_groups\": [
        \"05138008\",
        \"08094001\"
    ],
    \"certificates\": [
        \"CERT-04200000\"
    ],
    \"colors\": [
        \"CG-BLAK5\"
    ],
    \"color_description\": \"red\",
    \"country_origin\": \"CC-DE\",
    \"made_in\": \"CC-DE\",
    \"images\": [
        {
            \"src\": \"https:\\/\\/psiproductfinder.de\\/images\\/logo\\/logo.svg\",
            \"name\": \"Demo logo image\",
            \"description\": \"Custom description\"
        }
    ],
    \"delivery_time_max\": 3,
    \"delivery_time_min\": 1,
    \"finishings\": [
        {
            \"group\": \"FG-APPN11\",
            \"included\": true,
            \"description\": \"Demo application\"
        }
    ],
    \"finishings_information\": \"Finishing information\",
    \"legal_information\": \"Legal information\",
    \"material_description\": \"Material description\",
    \"materials\": [
        \"MG-ACRC7\"
    ],
    \"measurement_length\": 100,
    \"measurement_volume\": 10,
    \"measurement_height\": 150,
    \"measurement_width\": 135,
    \"measurement_information\": \"Measurement information\",
    \"weight_netto\": 10,
    \"weight_brutto\": 13,
    \"minimum_order_amount\": 1,
    \"packaging\": 2,
    \"price_ranges\": [
        {
            \"amount\": 1,
            \"price_ek\": 1.5,
            \"price_uvp\": 2
        },
        {
            \"amount\": 5,
            \"price_ek\": 1,
            \"price_uvp\": 1.5
        }
    ],
    \"price_ranges_information\": \"Price ranges information\",
    \"product_information\": \"Product information\",
    \"stock_available\": true,
    \"delivery_information\": \"Delivery information\",
    \"target_group\": \"Target group\",
    \"video\": \"https:\\/\\/www.youtube.com\\/watch?v=pCHJAj5oPu0\"
}"
Example response:
{
    "code": 200,
    "status": "OK",
    "message": "Product with identifier 'v-1b93b0c9' has been successfully created.",
    "data": {
        "product_id": "9df97825-f13f-44b0-a20f-126b463d25eb",
        "product_identifier": "p-9a33ae89",
        "selected_identifier": "v-1b93b0c9",
        "variant_id": "9df97825-f2c2-43ea-9f3d-e2b3c8a1ebf5",
        "variant_identifier": "v-1b93b0c9",
        "master_article_number": "43630S31463938362D64424946456578573178",
        "master_product_number": "1F986-dBIFEexW1x",
        "available_translations": [
            "en"
        ],
        "brand": null,
        "certificates": [],
        "color_description": null,
        "colors": [],
        "country_origin": null,
        "delivery_information": null,
        "delivery_time_max": null,
        "delivery_time_min": null,
        "description": null,
        "ean_code": null,
        "finishings_information": null,
        "finishings": [],
        "images": [],
        "legal_information": null,
        "made_in": null,
        "material_description": null,
        "materials": [],
        "measurement_height": null,
        "measurement_information": null,
        "measurement_length": null,
        "measurement_volume": null,
        "measurement_width": null,
        "minimum_order_amount": null,
        "name": "Demo Product",
        "packaging": null,
        "price_ranges_information": null,
        "price_ranges": [],
        "product_groups": [],
        "product_information": null,
        "product_number": "demo-001",
        "stock_available": false,
        "tags": null,
        "target_group": null,
        "video": null,
        "weight_brutto": null,
        "weight_netto": null
    }
}
{
    "code": 400,
    "status": "Bad Request",
    "errors": []
}

Get Entity

GET
https://api.psiproductfinder.de
/v2/products/{identifier}
requires authentication

This endpoint is used to retrieve a specific product or variant. You can identify the entity using one of the following methods: Internal Identifier: A unique identifier generated from your master_product_number, PSI number, and product_number. Identifiers starting with p- refer to a master product, and identifiers starting with v- refer to a variant. Product Number: You can also use your custom product_number as an identifier. Note: If you request a master product (p-), the response will include all associated variants.

Headers

Authorization
Example:
Bearer {YOUR_BEARER_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL Parameters

identifier
string

required.

Example:
p-c2a1cf5x

Query Parameters

language
string
Must be one of:
  • de
  • en
Example:
en
locale
string
Must be one of:
  • de
  • en
Example:
en
Example request:
curl --request GET \
    --get "https://api.psiproductfinder.de/v2/products/p-c2a1cf5x?language=en&locale=en" \
    --header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "code": 400,
    "status": "Bad request"
}
{
    "code": 404,
    "status": "Not found",
    "message": "No product found with identifier 'v-demo'."
}
Headers
                                                            cache-control
                                                            : no-cache, private
                                                                                                                    content-type
                                                            : application/json
                                                                                                                    vary
                                                            : Origin
                                                         
{
    "message": "Server Error"
}

Update Entity

PATCH
https://api.psiproductfinder.de
/v2/products/update/{identifier}
requires authentication

To update variants and translations, you need to specify the variant_identifier (e.g., v-88c62663). For updating a translation, you must also include the language parameter.
All parameters available in the "Create Entity" endpoint can also be used when updating an entity, allowing for flexible modifications.

Headers

Authorization
Example:
Bearer {YOUR_BEARER_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL Parameters

identifier
string
Example:
v-88c62663

Body Parameters

Example request:
curl --request PATCH \
    "https://api.psiproductfinder.de/v2/products/update/v-88c62663" \
    --header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"Demo Product updated\",
    \"language\": \"en\",
    \"locale\": \"en\",
    \"description\": \"This is just a demo product - updated\"
}"
Example response:
{
    "code": 200,
    "status": "OK",
    "message": "Product with identifier 'v-88c62663' has been successfully updated.",
    "data": {
        "product_id": "9dfb33f7-03b7-4598-9178-9799e3710560",
        "product_identifier": "p-76ca02e6",
        "selected_identifier": "v-88c62663",
        "variant_id": "9dfb33f7-061d-4737-93fb-71e62bc9b25d",
        "variant_identifier": "v-88c62663",
        "master_article_number": "43630S64656D6F2D303031",
        "master_product_number": "1F43C-UQlQJ9yMwQ",
        "available_translations": [
            "en"
        ],
        "brand": "PSI-Demo",
        "certificates": [
            {
                "group": "CERT-04200000",
                "label": "Fair for life"
            }
        ],
        "color_description": "red",
        "colors": [
            {
                "group": "CG-BLAK5",
                "label": "Black"
            }
        ],
        "country_origin": null,
        "delivery_information": "Delivery information",
        "delivery_time_max": 3,
        "delivery_time_min": 1,
        "description": "This is just a demo product - updated",
        "ean_code": "1234567890",
        "finishings_information": "Finishing information",
        "finishings": [
            {
                "group": "FG-APPN11",
                "label": "Application",
                "description": "Demo application",
                "included": true
            }
        ],
        "images": [
            {
                "src": "https://psiproductfinder.de/images/logo/logo.svg",
                "name": "Demo logo image",
                "description": "Custom description"
            },
            {
                "src": null,
                "name": null,
                "description": null
            }
        ],
        "legal_information": "Legal information",
        "made_in": null,
        "material_description": "Material description",
        "materials": [
            {
                "group": "MG-ACRC7",
                "label": "Acrylic"
            }
        ],
        "measurement_height": 150,
        "measurement_information": "Measurement information",
        "measurement_length": 100,
        "measurement_volume": "10.00",
        "measurement_width": 135,
        "minimum_order_amount": 1,
        "name": "Demo Product updated",
        "packaging": 2,
        "price_ranges_information": "Price ranges information",
        "price_ranges": [
            {
                "amount": 1,
                "price_ek": 1.5,
                "price_uvp": 2
            },
            {
                "amount": 5,
                "price_ek": 1,
                "price_uvp": 1.5
            }
        ],
        "product_groups": [
            {
                "label": "Kitchen Items > Slicer",
                "group": "05138008"
            },
            {
                "label": "Beverages > Beer",
                "group": "08094001"
            }
        ],
        "product_information": "Product information",
        "product_number": "demo-001",
        "stock_available": true,
        "tags": "demo1, demo2",
        "target_group": "Target group",
        "video": "https://www.youtube.com/watch?v=pCHJAj5oPu0",
        "weight_brutto": 13,
        "weight_netto": 10
    }
}
{
    "code": 400,
    "status": "Bad Request",
    "message": []
}
{
    "code": 404,
    "status": "Not found",
    "message": "No product found with identifier 'sapiente'."
}

Delete Entity

DELETE
https://api.psiproductfinder.de
/v2/products/delete/{identifier}
requires authentication

To delete a variant, translation, or product, you need to provide the identifier (e.g., p-88c62663 for a product or v-88c62663 for a variant). If you want to delete a translation in a language other than the default (English), you must also specify the language parameter.

Headers

Authorization
Example:
Bearer {YOUR_BEARER_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL Parameters

identifier
string
Example:
v-88c62663

Body Parameters

Example request:
curl --request DELETE \
    "https://api.psiproductfinder.de/v2/products/delete/v-88c62663" \
    --header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"language\": \"en\"
}"
Example response:
{
    "code": 200,
    "status": "success",
    "message": "Product with identifier ':identifier' has been successfully deleted."
}
{
    "code": "404",
    "status": "Not found",
    "message": "No translation found for the product with identifier 'v-88c62663' in locale 'en'."
}

Image Controller

Receive Identifier

GET
https://api.psiproductfinder.de
/v2/upload-identifier
requires authentication

To upload an image, the system requires a unique identifier for each image, which acts like an access token for the upload process. First, call the dedicated endpoint to generate the identifier. Once you have the identifier, use it to upload the image through the upload endpoint.

Headers

Authorization
Example:
Bearer {YOUR_BEARER_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json
Example request:
curl --request GET \
    --get "https://api.psiproductfinder.de/v2/upload-identifier" \
    --header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "identifier": "57842050-b8be-4a0a-9383-130b0fa4d84e"
}

Upload Image

POST
https://api.psiproductfinder.de
/v2/upload-image
requires authentication

To upload images directly to the Productfinder, use a multipart form upload. Each image requires a unique identifier, which can be obtained by calling the respective endpoint beforehand. Once the images are uploaded, the returned URLs can be used as image URLs and assigned to variants.

Headers

Authorization
Example:
Bearer {YOUR_BEARER_TOKEN}
Content-Type
Example:
multipart/form-data
Accept
Example:
application/json

Body Parameters

Example request:
curl --request POST \
    "https://api.psiproductfinder.de/v2/upload-image" \
    --header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "bookmark="\
    --form "identifier=57842050-demo-4a0a-9383-130b0fa4d84e"\
    --form "image=@/tmp/phpC4v5Gp" 
Example response:
{
    "filename": "42d0050d623c8ec4481539245c1e6de9.png",
    "absolute": "https://media.psiproductfinder.de/images/43630/42d0050d623c8ec4481539245c1e6de9.png"
}
{
    "message": "Validation failed.",
    "errors": {
        "image": [
            "The image field is required."
        ]
    }
}

Endpoints

POST v2/bookmarks/{bookmarkId}/contact

POST
https://api.psiproductfinder.de
/v2/bookmarks/{bookmarkId}/contact
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_BEARER_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL Parameters

bookmarkId
string
required
Example:
deserunt

Body Parameters

Example request:
curl --request POST \
    "https://api.psiproductfinder.de/v2/bookmarks/deserunt/contact" \
    --header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"identifier\": \"officiis\"
}"

POST v2/products/translation

POST
https://api.psiproductfinder.de
/v2/products/translation
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_BEARER_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json
Example request:
curl --request POST \
    "https://api.psiproductfinder.de/v2/products/translation" \
    --header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

GET v2/user-histories

GET
https://api.psiproductfinder.de
/v2/user-histories
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_BEARER_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json

Body Parameters

Example request:
curl --request GET \
    --get "https://api.psiproductfinder.de/v2/user-histories" \
    --header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"email\": \"fay.velda@example.com\"
}"
Example response:
Headers
                                                            cache-control
                                                            : no-cache, private
                                                                                                                    content-type
                                                            : application/json
                                                                                                                    vary
                                                            : Origin
                                                         
{
    "message": "Server Error"
}

POST v2/user-histories

POST
https://api.psiproductfinder.de
/v2/user-histories
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_BEARER_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json

Body Parameters

Example request:
curl --request POST \
    "https://api.psiproductfinder.de/v2/user-histories" \
    --header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"email\": \"karley.hammes@example.org\",
    \"product_id\": \"rdbxrbcauaccboewxnmduwgftseqnvcaieghynjbqjvmcxxsglhhiws\",
    \"variant_id\": \"qzuyyfowmshtgmpmkxamtapmpbpvewgoseameiwpjkjuvxashugjfrdjyf\"
}"

GET v2/bookmarks

GET
https://api.psiproductfinder.de
/v2/bookmarks
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_BEARER_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json
Example request:
curl --request GET \
    --get "https://api.psiproductfinder.de/v2/bookmarks" \
    --header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
Headers
                                                            cache-control
                                                            : no-cache, private
                                                                                                                    content-type
                                                            : application/json
                                                                                                                    vary
                                                            : Origin
                                                         
{
    "message": "Server Error"
}

POST v2/bookmarks/store

POST
https://api.psiproductfinder.de
/v2/bookmarks/store
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_BEARER_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json

Body Parameters

Example request:
curl --request POST \
    "https://api.psiproductfinder.de/v2/bookmarks/store" \
    --header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"language\": \"de\",
    \"locale\": \"en\",
    \"description\": \"Autem nihil nostrum qui autem ut ut.\",
    \"headline\": \"possimus\",
    \"key\": \"minus\",
    \"keyvisual\": \"id\",
    \"name\": \"ullam\",
    \"show_as_slider\": true,
    \"show_on_supplier_detail\": false,
    \"show_request_all_button\": true,
    \"video\": \"https:\\/\\/blanda.com\\/totam-eveniet-aut-ipsam-ut-ut-cumque-neque.html\"
}"

GET v2/bookmarks/{bookmarkId}

GET
https://api.psiproductfinder.de
/v2/bookmarks/{bookmarkId}
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_BEARER_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL Parameters

bookmarkId
string
required
Example:
0004a030-2c25-11ec-b493-23defdd27f56
Example request:
curl --request GET \
    --get "https://api.psiproductfinder.de/v2/bookmarks/0004a030-2c25-11ec-b493-23defdd27f56" \
    --header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
Headers
                                                            cache-control
                                                            : no-cache, private
                                                                                                                    content-type
                                                            : application/json
                                                                                                                    vary
                                                            : Origin
                                                         
{
    "message": "Server Error"
}

PATCH v2/bookmarks/{bookmarkId}/update

PATCH
https://api.psiproductfinder.de
/v2/bookmarks/{bookmarkId}/update
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_BEARER_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL Parameters

bookmarkId
string
required
Example:
0004a030-2c25-11ec-b493-23defdd27f56

Body Parameters

Example request:
curl --request PATCH \
    "https://api.psiproductfinder.de/v2/bookmarks/0004a030-2c25-11ec-b493-23defdd27f56/update" \
    --header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"language\": \"en\",
    \"locale\": \"de\",
    \"description\": \"Suscipit exercitationem expedita corporis aut consequatur necessitatibus eum.\",
    \"headline\": \"recusandae\",
    \"key\": \"aspernatur\",
    \"keyvisual\": \"sequi\",
    \"name\": \"eligendi\",
    \"show_as_slider\": false,
    \"show_on_supplier_detail\": true,
    \"show_request_all_button\": true,
    \"video\": \"http:\\/\\/hyatt.com\\/accusamus-ab-repellendus-fuga-maxime-voluptatem-blanditiis-commodi\"
}"

POST v2/bookmarks/{bookmarkId}/{variantIdentifier}/add

POST
https://api.psiproductfinder.de
/v2/bookmarks/{bookmarkId}/{variantIdentifier}/add
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_BEARER_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL Parameters

bookmarkId
string
required
Example:
0004a030-2c25-11ec-b493-23defdd27f56
variantIdentifier
string
required
Example:
ad

Body Parameters

Example request:
curl --request POST \
    "https://api.psiproductfinder.de/v2/bookmarks/0004a030-2c25-11ec-b493-23defdd27f56/ad/add" \
    --header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"language\": \"de\",
    \"locale\": \"de\",
    \"description\": \"Magnam maiores qui quis et adipisci exercitationem aut id.\",
    \"headline\": \"occaecati\",
    \"key\": \"molestiae\",
    \"keyvisual\": \"animi\",
    \"name\": \"est\",
    \"show_as_slider\": true,
    \"show_on_supplier_detail\": true,
    \"show_request_all_button\": false,
    \"video\": \"https:\\/\\/mraz.info\\/voluptas-earum-rem-aut-natus-et.html\"
}"

POST v2/bookmarks/{bookmarkId}/{variantIdentifier}/remove

POST
https://api.psiproductfinder.de
/v2/bookmarks/{bookmarkId}/{variantIdentifier}/remove
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_BEARER_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL Parameters

bookmarkId
string
required
Example:
0004a030-2c25-11ec-b493-23defdd27f56
variantIdentifier
string
required
Example:
dolor

Body Parameters

Example request:
curl --request POST \
    "https://api.psiproductfinder.de/v2/bookmarks/0004a030-2c25-11ec-b493-23defdd27f56/dolor/remove" \
    --header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"language\": \"en\",
    \"locale\": \"en\",
    \"description\": \"Deserunt culpa autem autem dolores.\",
    \"headline\": \"quas\",
    \"key\": \"velit\",
    \"keyvisual\": \"quam\",
    \"name\": \"eaque\",
    \"show_as_slider\": false,
    \"show_on_supplier_detail\": true,
    \"show_request_all_button\": true,
    \"video\": \"https:\\/\\/www.hodkiewicz.com\\/reprehenderit-nihil-inventore-aut-temporibus-et\"
}"

POST v2/bookmarks/{bookmarkId}/duplicate

POST
https://api.psiproductfinder.de
/v2/bookmarks/{bookmarkId}/duplicate
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_BEARER_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL Parameters

bookmarkId
string
required
Example:
0004a030-2c25-11ec-b493-23defdd27f56

Body Parameters

Example request:
curl --request POST \
    "https://api.psiproductfinder.de/v2/bookmarks/0004a030-2c25-11ec-b493-23defdd27f56/duplicate" \
    --header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"nihil\"
}"

DELETE v2/bookmarks/{bookmarkId}/destroy

DELETE
https://api.psiproductfinder.de
/v2/bookmarks/{bookmarkId}/destroy
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_BEARER_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL Parameters

bookmarkId
string
required
Example:
0004a030-2c25-11ec-b493-23defdd27f56
Example request:
curl --request DELETE \
    "https://api.psiproductfinder.de/v2/bookmarks/0004a030-2c25-11ec-b493-23defdd27f56/destroy" \
    --header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Product Group Controller

POST
https://api.psiproductfinder.de
/v2/productGroups/search
requires authentication

The Group Search allows you to query available group codes, which are also listed in the XLSX file (download). You can use the search parameter to filter results by a specific term and the locale parameter (en or de) to retrieve the corresponding results in your preferred language. This makes it easy to find and integrate group codes into your workflow.

Headers

Authorization
Example:
Bearer {YOUR_BEARER_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json

Body Parameters

Example request:
curl --request POST \
    "https://api.psiproductfinder.de/v2/productGroups/search" \
    --header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"locale\": \"en\",
    \"search\": \"Jackets\"
}"
Example response: