Returns API Edit the file on GitHub
Returns API allows Skroutz Merchants to retrieve and manage their returns.
Returns API is currently under development.
Table of Contents
Setup
Obtaining an API token
In order to be able to use the API, you need to generate an API token from within Smart Cart settings page in merchant's panel (Merchants > Services > Skroutz Marketplace).
There can only be one active API key per shop at a certain time. Creating a new API key will expire any previous one.
The same API token used for the Orders API is used here.
Authorization
Pass in a valid API token in the Authorization header, prefixed with Bearer
as in the following curl example.
A specific Accept header is also required.
curl -X GET https://api.skroutz.gr/merchants/ecommerce/returns/R-111111-1111111 \ -H 'Accept: application/vnd.skroutz+json; version=3.0' \ -H 'Authorization: Bearer your_access_token_here'
Endpoints
Retrieve a single return
Fetch the details of a single return, identified by its return_code.(/smart_cart/orders_api#retrieve-a-single-order).
GET /merchants/ecommerce/returns/:return_code
Example
curl -X GET https://api.skroutz.gr/merchants/ecommerce/returns/R-111111-1111111 \ -H 'Accept: application/vnd.skroutz+json; version=3.0' \ -H 'Authorization: Bearer your_access_token_here'
Response
{
"return": {
"return_code": "R-111111-1111111",
"state": "returning",
"order_code": "DEMO-OPEN",
"created_at": "2026-01-01T10:00:00Z",
"courier_tracking_ids": ["DEMO-RET-TRACK-1", "DEMO-RET-TRACK-2"],
"courier": "ACS",
"returning_address": {
"street_name": "Demo Street",
"street_number": "1",
"zip": "11111",
"city": "Demo City",
"region": "Demo Region",
"country_code": "GR"
},
"return_line_items": [
{
"id": "DEMO-ITEM-1",
"product_name": "Demo Product",
"returning_quantity": 1,
"return_reason": "damaged_product",
"user_comment": "This is a demo comment explaining the return.",
"user_photos": [
"https://a.scdn.gr/demo/return_photo_1.jpg"
]
}
]
}
}Error handling
In case of errors, the response will have a representative HTTP status code
in the 4xx range. The body would contain an array of errors.
For example, if the requested return code does not exist (or does not belong to your shop),
you will get a 404 HTTP status code (Not Found):
{
"errors": [
{
"code": "not_found",
"messages": [
"Return not found"
]
}
]
}Test requests (sandbox)
The following demo return code is available on production for testing reasons.
It is safe to issue requests for the following demo return code multiple times for testing, since it does not reference any real data.
DEMO-RETURN
A demo return with a single returning line item, courier tracking ids and a returning address.
GET /merchants/ecommerce/returns/DEMO-RETURN
GET https://api.skroutz.gr/merchants/ecommerce/returns/DEMO-RETURN
View ResponseStatus: 200
{
"return": {
"return_code": "DEMO-RETURN",
"state": "pending",
"order_code": "DEMO-OPEN",
"created_at": "2026-01-01T10:00:00Z",
"courier_tracking_ids": [
"DEMO-RET-TRACK-1",
"DEMO-RET-TRACK-2"
],
"courier": "ACS",
"returning_address": {
"street_name": "Demo Shop",
"street_number": "7",
"zip": "18531",
"city": "Piraeus",
"region": "Attica",
"country_code": "GR"
},
"return_line_items": [
{
"id": "demo-rli-1",
"product_name": "Demo return item",
"returning_quantity": 1,
"return_reason": "damaged_product",
"user_comment": "Demo customer comment about the return",
"user_photos": [
"https://demo.scdn.gr/ds/ecommerce/return_request_line_item_images/demo-img-1.jpeg",
"https://demo.scdn.gr/ds/ecommerce/return_request_line_item_images/demo-img-2.jpeg"
]
}
]
}
}Return object attributes appendix
Return object
| Name | Type | Values | Description |
|---|---|---|---|
return_code |
String | Return Code | |
state |
String | pending_merchant_review, returning, pending_physical_review, returned, rejected, expired, cancelled |
Current lifecycle state of the return. One of the return states. |
order_code |
String | The code of the order this return belongs to. | |
created_at |
Date String in formatYYYY-MM-DDTHH:MM:SSZ |
Return creation date. | |
courier_tracking_ids |
Array of Strings | (Optional) | Tracking IDs |
courier |
String | (Optional) | Human-readable name of the courier (e.g. ACS). |
returning_address |
Object | (Optional) | Returning address — the address the merchant should receive the return at. |
return_line_items |
Array | Return line items — the products being returned. |
Return states
The state field is one of the following string values:
| State | Description |
|---|---|
pending_merchant_review |
The customer submitted a return request and the merchant needs to approve or reject it. |
returning |
The package is in transit back to the merchant. |
pending_physical_review |
The package arrived at the merchant and must perform physical inspection. |
returned |
The physical return is complete the package was delivered back to the merchant. |
rejected |
The return was rejected. |
expired |
The merchant never responded to the return request within the deadline. |
cancelled |
The return was cancelled. |
Returning address
Present only when the return has a shipment. All fields are strings.
| Name | Type | Description |
|---|---|---|
returning_address.street_name |
String | Street/road name |
returning_address.street_number |
String | Building number |
returning_address.zip |
String | Postal code |
returning_address.city |
String | City |
returning_address.region |
String | Region/state |
returning_address.country_code |
String | Country code (e.g. GR) |
Return line items
Each element of the return_line_items array represents one product line being returned.
| Name | Type | Values | Description |
|---|---|---|---|
id |
String | ID of the order line item being returned. | |
product_name |
String | Product display name. | |
returning_quantity |
Integer | How many units of this product the customer is returning. | |
return_reason |
String | faulty, wrong_product, withdrawal, damaged_product, expired_product, authenticity_doubt, delivery_issues, other (Optional) |
Reason the customer selected. |
user_comment |
String | (Optional) | Free-text comment left by the customer explaining the return. |
user_photos |
Array of Strings | Links (Optional) | Full URLs of photos uploaded by the customer as evidence. |