Skip to main content

Update a product

PATCH https://pos.paysera.com/eapi/v1/products/{id}

Update an existing product's fields.

Authorization​

This endpoint requires a Personal Access Token, sent as a Bearer token.

To obtain one, your account needs API permission. Once granted, go to /user/settings in your POS account and create a personal access token.

Authorization Header Format:

Authorization: Bearer YOUR_ACCESS_TOKEN

Example:

Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...

For more details, see the Authentication section.

Parameters​

Path Parameters​

NameTypeRequiredDescription
idintegerβœ“The product ID

Request Body​

FieldTypeRequiredDescription
titleobjectMulti-language product title keyed by language code. Supported languages: lt, en, lv, et, pl.
priceobjectOnly included price fields will be updated.
activeboolean
measureUnitstring
taxIdintegerTax ID. Send null to reset to tenant default.
stockobjectOnly included stock fields will be updated.
categoryIdsarrayList of category IDs. Replaces all current categories. Send empty array to remove all.
productCodesarrayList of product codes. Replaces all current codes. Send empty array to remove all.
sellChannelsobjectToggle sell channel availability. Only included channels will be changed; omitted channels keep their current state.
typestringConvert product type β€” see details below
attributesobjectAllowed only when the product is (or will be) variable. Replaces the parent's attribute map. Removing a value here auto-deletes any variants referencing it…
variantsarrayAllowed only when the product is (or will be) variable. Replaces the variant list. Variants not included are auto-deleted. Variants are matched against…

type​

Convert product type:

  • Send variable together with attributes and variants to convert a simple product into a variable one (or to keep it variable).
  • Send simple to convert a variable product back to simple. All variants are deleted in the same transaction. attributes/variants MUST NOT accompany simple.

attributes​

Allowed only when the product is (or will be) variable. Replaces the parent's attribute map. Removing a value here auto-deletes any variants referencing it (atomic with the rest of the PATCH).

variants​

Allowed only when the product is (or will be) variable. Replaces the variant list. Variants not included are auto-deleted. Variants are matched against existing ones by sorted optionValueIds.

Errors​

This endpoint may return the following errors:

400 - Bad Request​

Invalid request

This error is resulted by incorrectly providing one of the parameters.

401 - Unauthorized​

Unauthorized

This error was produced by providing incorrect credentials.

403 - Forbidden​

Forbidden

This error indicates you don't have permission to access this resource.

404 - Not Found​

Product not found

This error indicates the requested resource was not found.

422 - Unprocessable Entity​

Unprocessable entity

429 - Too Many Requests​

You have exceeded the rate limit. Please try again in a minute.

500 - Internal Server Error​

Internal server error

Example​

Request​

PATCH https://pos.paysera.com/eapi/v1/products/{id}
Content-Type: application/json
Authorization: Bearer YOUR_ACCESS_TOKEN
{
"title": {
"lt": "Atnaujintas pavadinimas",
"en": "Updated title"
},
"price": {
"regular": "9.99",
"special": "7.99",
"cost": "4.50"
},
"active": true,
"measureUnit": "unit",
"taxId": 1,
"stock": {
"quantity": "10",
"manageStock": true,
"useWarehouses": true
},
"categoryIds": [
1,
2
],
"productCodes": [
{
"type": "ean",
"code": "1234567890123"
}
],
"sellChannels": {
"pos": true,
"api": true
},
"type": "simple",
"attributes": {
"5": [
10,
11
]
},
"variants": [
{
"optionValueIds": [
10,
20
],
"sku": "MED-EKO-500-RED-S",
"active": true,
"price": {
"regular": "9.99",
"special": "7.99",
"cost": "4.50"
},
"stock": {
"quantity": "5"
},
"productCodes": [
{
"type": "ean",
"code": "1234567890123"
}
],
"media": [
{
"url": "https://example.com/images/product.jpg",
"sort": 0
}
]
}
]
}

Response​

{
"id": 789,
"sku": "MED-EKO-500",
"type": "simple",
"active": true,
"title": {
"lt": "Produkto pavadinimas",
"en": "Product title"
},
"measureUnit": "unit",
"taxId": 1,
"price": {
"regular": "9.99",
"special": "7.99",
"cost": "4.50"
},
"stock": {
"quantity": "10",
"manageStock": true,
"useWarehouses": false
},
"categoryIds": [
1,
2
],
"productCodes": [
{
"type": "ean",
"code": "1234567890123"
}
],
"media": [
{
"url": "https://example.com/images/product.jpg",
"sort": 0
}
],
"sellChannels": {
"pos": true,
"api": true
},
"isPriceDynamic": false,
"isTitleDynamic": false,
"isShownInPinPadView": false,
"isShownInTouchView": true,
"createdAt": "2026-04-20T12:00:00Z",
"updatedAt": "2026-04-20T12:00:00Z",
"attributes": {
"5": [
10,
11
]
},
"optionGroups": [
{
"id": 5,
"title": {
"lt": "Dydis",
"en": "Size"
},
"values": [
{
"id": 10,
"title": {
"lt": "MaΕΎas",
"en": "Small"
}
}
]
}
],
"variants": [
{
"id": 7890,
"sku": "MED-EKO-500-RED-S",
"optionValueIds": [
10,
20
],
"active": true,
"price": {
"regular": "9.99",
"special": "7.99",
"cost": "4.50"
},
"stock": {
"quantity": "5"
},
"productCodes": [
{
"type": "ean",
"code": "1234567890123"
}
],
"media": [
{
"url": "https://example.com/images/product.jpg",
"sort": 0
}
]
}
]
}

AUTHORIZATION: HTTP

REQUEST

Base URL
https://pos.paysera.com
Body REQUIRED
{
"title": {
"lt": "Atnaujintas pavadinimas",
"en": "Updated title"
},
"price": {
"regular": "9.99",
"special": "7.99",
"cost": "4.50"
},
"active": true,
"measureUnit": "unit",
"taxId": 1,
"stock": {
"quantity": "10",
"manageStock": true,
"useWarehouses": true
},
"categoryIds": [
1,
2
],
"productCodes": [
{
"type": "ean",
"code": "1234567890123"
}
],
"sellChannels": {
"pos": true,
"api": true
},
"type": "simple",
"attributes": {
"5": [
10,
11
]
},
"variants": [
{
"optionValueIds": [
10,
20
],
"sku": "MED-EKO-500-RED-S",
"active": true,
"price": {
"regular": "9.99",
"special": "7.99",
"cost": "4.50"
},
"stock": {
"quantity": "5"
},
"productCodes": [
{
"type": "ean",
"code": "1234567890123"
}
],
"media": [
{
"url": "https://example.com/images/product.jpg",
"sort": 0
}
]
}
]
}

RESPONSE

Product updated successfully
{
"id": 789,
"sku": "MED-EKO-500",
"type": "simple",
"active": true,
"title": {
"lt": "Produkto pavadinimas",
"en": "Product title"
},
"measureUnit": "unit",
"taxId": 1,
"price": {
"regular": "9.99",
"special": "7.99",
"cost": "4.50"
},
"stock": {
"quantity": "10",
"manageStock": true,
"useWarehouses": false
},
"categoryIds": [
1,
2
],
"productCodes": [
{
"type": "ean",
"code": "1234567890123"
}
],
"media": [
{
"url": "https://example.com/images/product.jpg",
"sort": 0
}
],
"sellChannels": {
"pos": true,
"api": true
},
"isPriceDynamic": false,
"isTitleDynamic": false,
"isShownInPinPadView": false,
"isShownInTouchView": true,
"createdAt": "2026-04-20T12:00:00Z",
"updatedAt": "2026-04-20T12:00:00Z",
"attributes": {
"5": [
10,
11
]
},
"optionGroups": [
{
"id": 5,
"title": {
"lt": "Dydis",
"en": "Size"
},
"values": [
{
"id": 10,
"title": {
"lt": "MaΕΎas",
"en": "Small"
}
}
]
}
],
"variants": [
{
"id": 7890,
"sku": "MED-EKO-500-RED-S",
"optionValueIds": [
10,
20
],
"active": true,
"price": {
"regular": "9.99",
"special": "7.99",
"cost": "4.50"
},
"stock": {
"quantity": "5"
},
"productCodes": [
{
"type": "ean",
"code": "1234567890123"
}
],
"media": [
{
"url": "https://example.com/images/product.jpg",
"sort": 0
}
]
}
]
}