Skip to content

List products

GET
/products
curl --request GET \
--url 'https://api.europlaybook.com/v1/products?limit=50&sku=TEA-001&archived=hide' \
--header 'Authorization: Bearer <token>'

Products ordered by SKU. ?sku= finds one product by its exact SKU (archived included).

cursor
Any of:
string

Opaque cursor from next_cursor of the previous page.

limit
Limit

Items per page (1-200).

integer
default: 50 >= 1 <= 200

Items per page (1-200).

sku
Any of:
string

Exact SKU (returns 0 or 1 product).

Examples

Example0
q
Any of:
string

Search in SKU, title and GTIN, or an exact identifier.

archived
Archived

Hide = active products only (default), only = archived only, all = both.

string
default: hide
Allowed values: hide only all

Hide = active products only (default), only = archived only, all = both.

confirmed
Any of:
boolean

Only products whose packaging is (not) confirmed.

OK

Media typeapplication/json
ProductPage
object
items
required
Items
Array<object>
ProductOut
object
id
required
Id
string format: uuid
sku
required
Sku

Your stock keeping unit; unique per account.

string
title
required
Title

Product name.

string
brand_name
required
Brand Name

Brand on the product.

string
gtin
Any of:
string
hs_code
required
Hs Code

Customs tariff code.

string
country_of_origin
required
Country Of Origin

ISO 3166-1 alpha-2.

string
net_weight_mg
Any of:
integer
status
required
Status

Archived products are kept for history.

string
Allowed values: active archived
is_kit
required
Is Kit

A bundle of other products (bill of materials).

boolean
is_electrical
required
Is Electrical

Electrical/electronic equipment (WEEE).

boolean
is_textile
required
Is Textile

Textile product (textiles EPR).

boolean
packaging_confirmed
required
Packaging Confirmed

Gate 1: a person confirmed this product’s packaging. Changing packaging (also through a proposal) clears it until someone confirms again in the portal.

boolean
confirmed_at
Any of:
string format: date-time
confirmation
required
ConfirmationOut

Gate 1 in detail (complements packaging_confirmed, which equals state confirmed when the packaging is unchanged).

object
state
required
State

None = never confirmed; confirmed = the packaging is what a person confirmed; changed = it was confirmed, but the packaging (own or inherited) differs now.

string
Allowed values: none confirmed changed
at
Any of:
string format: date-time
by
Any of:
string
group_id
Any of:
string format: uuid
archived_at
Any of:
string format: date-time
created_at
required
Created At
string format: date-time
updated_at
required
Updated At
string format: date-time
next_cursor
Any of:
string

Example

{
"items": [
{
"id": "0199f5a2-7c1e-7b4a-9d0e-3f6c2a1b8e44",
"sku": "TEA-001",
"title": "Green tea 100 g",
"brand_name": "Demo Garden",
"gtin": "8712345678906",
"hs_code": "090210",
"country_of_origin": "NL",
"net_weight_mg": 100000,
"status": "active",
"confirmation": {
"state": "none"
}
}
],
"next_cursor": "WyIwMTk5ZjVhMi03YzFlLTdiNGEtOWQwZS0zZjZjMmExYjhlNDQiXQ"
}

Bad Request

Media typeapplication/json
PublicErrorOut
object
detail
required
Detail

What went wrong, in English, for people and logs.

string
code
required
Code

Stable machine-readable error code; translate and branch on this.

string
params
Any of:
object
key
additional properties
any

Example

{
"detail": "This API key lacks the scope catalogue:write",
"code": "insufficient_scope",
"params": {
"required_scope": "catalogue:write"
}
}

Unauthorized

Media typeapplication/json
PublicErrorOut
object
detail
required
Detail

What went wrong, in English, for people and logs.

string
code
required
Code

Stable machine-readable error code; translate and branch on this.

string
params
Any of:
object
key
additional properties
any

Example

{
"detail": "This API key lacks the scope catalogue:write",
"code": "insufficient_scope",
"params": {
"required_scope": "catalogue:write"
}
}

Forbidden

Media typeapplication/json
PublicErrorOut
object
detail
required
Detail

What went wrong, in English, for people and logs.

string
code
required
Code

Stable machine-readable error code; translate and branch on this.

string
params
Any of:
object
key
additional properties
any

Example

{
"detail": "This API key lacks the scope catalogue:write",
"code": "insufficient_scope",
"params": {
"required_scope": "catalogue:write"
}
}

Not Found

Media typeapplication/json
PublicErrorOut
object
detail
required
Detail

What went wrong, in English, for people and logs.

string
code
required
Code

Stable machine-readable error code; translate and branch on this.

string
params
Any of:
object
key
additional properties
any

Example

{
"detail": "This API key lacks the scope catalogue:write",
"code": "insufficient_scope",
"params": {
"required_scope": "catalogue:write"
}
}

Conflict

Media typeapplication/json
PublicErrorOut
object
detail
required
Detail

What went wrong, in English, for people and logs.

string
code
required
Code

Stable machine-readable error code; translate and branch on this.

string
params
Any of:
object
key
additional properties
any

Example

{
"detail": "This API key lacks the scope catalogue:write",
"code": "insufficient_scope",
"params": {
"required_scope": "catalogue:write"
}
}

Unprocessable Content

Media typeapplication/json
PublicValidationErrorOut
object
detail
required
Detail

What went wrong, in English, for people and logs.

string
code
required
Code

Stable machine-readable error code; translate and branch on this.

string
params
Any of:
object
key
additional properties
any
errors
Errors

Per-field problems (pydantic format: loc, msg, type).

Array<object>
default:
object
key
additional properties
any

Example

{
"detail": "This API key lacks the scope catalogue:write",
"code": "insufficient_scope",
"params": {
"required_scope": "catalogue:write"
},
"errors": []
}

Too Many Requests

Media typeapplication/json
PublicErrorOut
object
detail
required
Detail

What went wrong, in English, for people and logs.

string
code
required
Code

Stable machine-readable error code; translate and branch on this.

string
params
Any of:
object
key
additional properties
any

Example

{
"detail": "This API key lacks the scope catalogue:write",
"code": "insufficient_scope",
"params": {
"required_scope": "catalogue:write"
}
}