Skip to main content

Listing Requests

Pharmacies can ask a shop to list a product they already carry. The Management API exposes the organisation inbox for those requests: list them, inspect the submitted fields, and record an accept or decline decision. Accept and decline record the decision only. They do not create catalog rows (Product, SKU, ShopProduct) and they do not push anything to Shopify or WooCommerce. All endpoints are scoped to the organisation that owns the API key. UIDs that belong to another organisation are treated as not found. Configuration of which fields a pharmacy must supply is done in the admin interface, not on this API.

Permissions

Listing-request endpoints are gated by two permissions:
  • listing_request:read — required for all read (GET) endpoints.
  • listing_request:write — required to accept or decline a request.
A key with listing_request:write is not automatically granted listing_request:read; add both if you need to read and write. Contact your RxScale account manager to adjust permissions. All requests authenticate with the X-API-Key header. See Authentication for details.

Request shape

There is no top-level pzn field. PZN is an ordinary extras key: a shop must configure a pzn extras requirement before a pharmacy can send one, and the value then appears under extras.pzn in the response. price_indication is an integer in minor units (cents), matching pharmacy SKU prices.
Attribute (attr.*) and PZN query filters are not available on the Management API in v1. They are admin-only. Filter here with shop_uid, pharmacy_uid, and status only.

List Listing Requests

Returns a paginated list of listing requests for the organisation. Required permission: listing_request:read
integer
default:"0"
Page number (0-indexed)
integer
default:"50"
Number of listing requests per page
string
Filter by shop UID. Unknown shops for this organisation return 404.
string
Filter by pharmacy UID
string
Filter by status. One of PENDING, ACCEPTED, DECLINED, or WITHDRAWN.

Example Request

Response

Get a Listing Request

Required permission: listing_request:read
string
required
Listing request UID

Example Request

Response

A missing UID, or a UID that belongs to another organisation, returns 404.

Accept a Listing Request

Records an accept decision. Does not create catalog products or push to a storefront. Required permission: listing_request:write
string
required
Listing request UID
string
Optional note stored with the decision

Example Request

Only PENDING requests can be accepted. A request that is already decided returns 400.

Decline a Listing Request

Records a decline decision. Required permission: listing_request:write
string
required
Listing request UID
string
Optional note stored with the decision

Example Request

Only PENDING requests can be declined. A request that is already decided returns 400.