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
optional
Must be one of:
  • de
  • en
Example:
en
locale
string
optional
Must be one of:
  • de
  • en
Example:
en
filter
string
optional
Example:
outdated
search
string
optional
Example:
Suchen
page
number
optional

Must be at least 1.

Example:
1
size
number
optional

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

Example:
20
Example request:
curl --request GET \
    --get "https://api.psiproductfinder.de/v2/products?language=en&locale=en&filter=outdated&search=Suchen&page=1&size=20" \
    --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

Create an English product or add a German translation to an existing variant. For a translation, set language to de and use the existing variant's product_number. Language defaults to en; data returns the full product.
name, product_number and master_product_number are required. Group codes are listed in the PSI code spreadsheet.

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 a demo product\",
    \"tags\": \"demo, promotion\",
    \"ean_code\": \"4006381333931\",
    \"product_groups\": [
        \"05138008\",
        \"08094001\"
    ],
    \"certificates\": [
        \"CERT-04200000\"
    ],
    \"colors\": [
        \"CG-BLAK5\"
    ],
    \"color_description\": \"Black\",
    \"country_origin\": \"CC-DE\",
    \"made_in\": \"CC-DE\",
    \"images\": [
        {
            \"src\": \"https:\\/\\/psiproductfinder.de\\/images\\/logo\\/logo.svg\",
            \"name\": \"Demo product image\",
            \"description\": \"Front view of the product\"
        }
    ],
    \"delivery_time_max\": 3,
    \"delivery_time_min\": 1,
    \"finishings\": [
        {
            \"group\": \"FG-APPN11\",
            \"included\": false,
            \"description\": \"Demo application\"
        }
    ],
    \"finishings_information\": \"Screen printing available.\",
    \"legal_information\": \"Not suitable for children under 3.\",
    \"material_description\": \"Acrylic\",
    \"materials\": [
        \"MG-ACRC7\"
    ],
    \"measurement_length\": 100,
    \"measurement_volume\": 10,
    \"measurement_height\": 150,
    \"measurement_width\": 135,
    \"measurement_information\": \"Dimensions in millimetres.\",
    \"weight_netto\": 10,
    \"weight_brutto\": 13,
    \"minimum_order_amount\": 1,
    \"packaging\": 2,
    \"price_ranges\": [
        {
            \"amount\": 1,
            \"price_ek\": 1.5,
            \"price_uvp\": 2
        }
    ],
    \"price_ranges_information\": \"Prices in EUR, excluding VAT.\",
    \"product_information\": \"Reusable acrylic promotional product.\",
    \"stock_available\": true,
    \"delivery_information\": \"Ships within 3 business days.\",
    \"target_group\": \"Adults\",
    \"video\": \"https:\\/\\/example.com\\/demo-product.mp4\"
}"
Example response:
{
    "code": 200,
    "status": "OK",
    "message": "The product demo-001 has been successfully created.",
    "data": {
        "product_identifier": "p-demo",
        "variant_identifier": "v-demo",
        "product_number": "demo-001",
        "name": "Demo Product"
    }
}
{
    "code": 400,
    "status": "Bad Request",
    "message": "Validation failed.",
    "errors": {
        "name": [
            "The name field is required."
        ]
    }
}

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
optional
Must be one of:
  • de
  • en
Example:
en
locale
string
optional
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

Update a product or translation. Omitted fields remain unchanged. Use the variant identifier in the URL; set language to de to update its German translation. data returns the full product.
Non-empty relationship arrays replace existing values. An empty price_ranges array clears prices; other empty arrays are ignored. Fields marked English only cannot be changed on a translation.

Headers

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

URL Parameters

identifier
string

Variant identifier.

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\",
    \"product_number\": \"demo-001\",
    \"language\": \"en\",
    \"locale\": \"en\",
    \"master_product_number\": \"demo-001\",
    \"brand\": \"PSI Demo\",
    \"description\": \"This is a demo product\",
    \"tags\": \"demo, promotion\",
    \"ean_code\": \"4006381333931\",
    \"product_groups\": [
        \"05138008\",
        \"08094001\"
    ],
    \"certificates\": [
        \"CERT-04200000\"
    ],
    \"colors\": [
        \"CG-BLAK5\"
    ],
    \"color_description\": \"Black\",
    \"country_origin\": \"CC-DE\",
    \"made_in\": \"CC-DE\",
    \"images\": [
        {
            \"src\": \"https:\\/\\/psiproductfinder.de\\/images\\/logo\\/logo.svg\",
            \"name\": \"Demo product image\",
            \"description\": \"Front view of the product\"
        }
    ],
    \"delivery_time_max\": 3,
    \"delivery_time_min\": 1,
    \"finishings\": [
        {
            \"group\": \"FG-APPN11\",
            \"included\": false,
            \"description\": \"Demo application\"
        }
    ],
    \"finishings_information\": \"Screen printing available.\",
    \"legal_information\": \"Not suitable for children under 3.\",
    \"material_description\": \"Acrylic\",
    \"materials\": [
        \"MG-ACRC7\"
    ],
    \"measurement_length\": 100,
    \"measurement_volume\": 10,
    \"measurement_height\": 150,
    \"measurement_width\": 135,
    \"measurement_information\": \"Dimensions in millimetres.\",
    \"weight_netto\": 10,
    \"weight_brutto\": 13,
    \"minimum_order_amount\": 1,
    \"packaging\": 2,
    \"price_ranges\": [
        {
            \"amount\": 1,
            \"price_ek\": 1.5,
            \"price_uvp\": 2
        }
    ],
    \"price_ranges_information\": \"Prices in EUR, excluding VAT.\",
    \"product_information\": \"Reusable acrylic promotional product.\",
    \"stock_available\": true,
    \"delivery_information\": \"Ships within 3 business days.\",
    \"target_group\": \"Adults\",
    \"video\": \"https:\\/\\/example.com\\/demo-product.mp4\"
}"
Example response:
{
    "code": 200,
    "status": "OK",
    "message": "The product demo-001 has been successfully updated.",
    "data": {
        "product_identifier": "p-demo",
        "variant_identifier": "v-demo",
        "product_number": "demo-001",
        "name": "Demo Product"
    }
}
{
    "code": 400,
    "status": "Bad Request",
    "message": "Validation failed.",
    "errors": {
        "name": [
            "The name field is required."
        ]
    }
}
{
    "code": "404",
    "status": "Not found",
    "message": "No product found with identifier 'v-88c62663'."
}

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

Generate Upload UUID

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

Returns a UUID. The upload-image endpoint accepts it as optional input but does not validate or use it.

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

Upload an image as multipart form data. Use the returned absolute URL as images[].src. There is no daily upload limit; each variant accepts up to 5 images.

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-b8be-4a0a-9383-130b0fa4d84e"\
    --form "image=@/tmp/php91mpoprq7ipv8JbrJKi" 
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:
et

Body Parameters

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

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\": \"vmurphy@example.net\"
}"
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\": \"zaria18@example.com\",
    \"product_id\": \"ekukkagxbnaglwgfpsmtzwvtwihznwkbfqhkrpzbiexf\",
    \"variant_id\": \"moozusqvigskerpcyy\"
}"

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\": \"a\",
    \"locale\": \"en_ZA\",
    \"description\": \"Sapiente id consequuntur in veritatis architecto.\",
    \"headline\": \"dolore\",
    \"key\": \"repellat\",
    \"keyvisual\": \"ut\",
    \"name\": \"ea\",
    \"show_as_slider\": true,
    \"show_on_supplier_detail\": false,
    \"show_request_all_button\": false
}"

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 "{
    \"description\": \"Est non velit laboriosam doloribus recusandae animi perferendis animi.\",
    \"headline\": \"rerum\",
    \"key\": \"et\",
    \"keyvisual\": \"aperiam\",
    \"name\": \"sit\",
    \"show_as_slider\": false,
    \"show_on_supplier_detail\": false,
    \"show_request_all_button\": false
}"

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:
consequatur

Body Parameters

Example request:
curl --request POST \
    "https://api.psiproductfinder.de/v2/bookmarks/0004a030-2c25-11ec-b493-23defdd27f56/consequatur/add" \
    --header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"description\": \"Ut quis sit error eum.\",
    \"headline\": \"amet\",
    \"key\": \"impedit\",
    \"keyvisual\": \"tempora\",
    \"name\": \"impedit\",
    \"show_as_slider\": true,
    \"show_on_supplier_detail\": false,
    \"show_request_all_button\": false
}"

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:
omnis

Body Parameters

Example request:
curl --request POST \
    "https://api.psiproductfinder.de/v2/bookmarks/0004a030-2c25-11ec-b493-23defdd27f56/omnis/remove" \
    --header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"description\": \"Quam nam sit voluptas vero est.\",
    \"headline\": \"perspiciatis\",
    \"key\": \"id\",
    \"keyvisual\": \"inventore\",
    \"name\": \"est\",
    \"show_as_slider\": true,
    \"show_on_supplier_detail\": false,
    \"show_request_all_button\": true
}"

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\": \"ut\"
}"

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"

GET v2/commands/{secret}/{command}

GET
https://api.psiproductfinder.de
/v2/commands/{secret}/{command}
requires authentication

Headers

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

URL Parameters

secret
string
required
Example:
iure
command
string
required
Example:
occaecati
Example request:
curl --request GET \
    --get "https://api.psiproductfinder.de/v2/commands/iure/occaecati" \
    --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
{
    "error": "denied."
}

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: