Get customer groups with paginated prices for a user or organisation

Returns customer groups accessible to the given user (direct + organisations + ancestor organisations) OR to the given organisation (direct + ancestor organisations), for the given store group. Exactly one of `user_id` or `organisation_id` must be provided. Product variant customer group prices for the given market are paginated and nested under their customer group.

GET/api/v1/{app_id}/customer-groups/store-groups/{store_group_id}/markets/{market_id}/prices
API
Auth
OpenAPI
auth-api
Updated
Apr 26, 2026

auth-api:GET:/api/v1/{app_id}/customer-groups/store-groups/{store_group_id}/markets/{market_id}/prices

Returns customer groups accessible to the given user (direct + organisations + ancestor organisations) OR to the given organisation (direct + ancestor organisations), for the given store group. Exactly one of user_id or organisation_id must be provided. Product variant customer group prices for the given market are paginated and nested under their customer group.

API ownership

  • API family: Auth API
  • Best for: Customer identity, session, token, cart, and wishlist flows.
  • Do not use from: Merchant admin data syncs or public catalog rendering.
  • Guide route: /apis/auth/latest

The OpenAPI contract defines the method, path, parameters, request body, and responses for this operation.

Operation

  • Method: GET
  • Path: /api/v1/\{app_id\}/customer-groups/store-groups/\{store_group_id\}/markets/\{market_id\}/prices
  • Summary: Get customer groups with paginated prices for a user or organisation
  • Description: Returns customer groups accessible to the given user (direct + organisations + ancestor organisations) OR to the given organisation (direct + ancestor organisations), for the given store group. Exactly one of user_id or organisation_id must be provided. Product variant customer group prices for the given market are paginated and nested under their customer group.
  • OpenAPI contract: auth-api
  • Operation ID: Not documented in the OpenAPI contract.

Operation key uses API family, method, and path because this OpenAPI contract does not publish an operation ID.

Parameters7 parameters
NameInRequiredTypeDescription
app_idpathYesstringuuid of the app
store_group_idpathYesstringuuid of the store group
market_idpathYesstringuuid of the market
user_idqueryNostringuuid of the user (mutually exclusive with organisation_id)
organisation_idqueryNostringuuid of the organisation (mutually exclusive with user_id)
pagequeryNointegerPage number
per_pagequeryNointegerNumber of prices per page
Request bodyNo documented body

Not documented in the OpenAPI contract.

Responses4 statuses
StatusDescriptionContent
200Customer groups with nested paginated pricesapplication/json (object)
400Invalid requestapplication/json (object)
401Unauthorized accessapplication/json (object)
500Internal server errorapplication/json (object)

200 - object

Customer Group Prices

PropertyTypeRequiredDetails
customer_groupsobject[]No-
pageintegerNo-
page_sizeintegerNo-
total_itemsintegerNo-
total_pagesintegerNo-
Customer Group Prices
PropertyTypeRequiredDetails
app_idstringNo-
created_atstringNo-
discount_percentageintegerNo-
discount_percentage_decimalsintegerNo-
idstringNo-
namestringNo-
pricesobject[]No-
slugstringNo-
store_group_idstringNo-
updated_atstringNo-
Customer Group Product Price
PropertyTypeRequiredDetails
created_atstringNo-
idstringNo-
price_amountnumberNo-
product_numberstringNo-
product_variant_idstringNo-
updated_atstringNo-
variant_numberstringNo-

Generated example (synthetic):

{
  "customer_groups": [
    {
      "app_id": "string",
      "created_at": "string",
      "discount_percentage": 0,
      "discount_percentage_decimals": 0,
      "id": "string",
      "name": "string",
      "prices": [
        {
          "created_at": null,
          "id": null,
          "price_amount": null,
          "product_number": null,
          "product_variant_id": null,
          "updated_at": null,
          "variant_number": null
        }
      ],
      "slug": "string",
      "store_group_id": "string",
      "updated_at": "string"
    }
  ],
  "page": 0,
  "page_size": 0,
  "total_items": 0,
  "total_pages": 0
}

400 - object

Error Message

PropertyTypeRequiredDetails
detailsstring[]No-
messagestringNo-
successbooleanNo-

Generated example (synthetic):

{
  "details": [
    "string"
  ],
  "message": "string",
  "success": false
}

401 - object

Error Message

PropertyTypeRequiredDetails
detailsstring[]No-
messagestringNo-
successbooleanNo-

Generated example (synthetic):

{
  "details": [
    "string"
  ],
  "message": "string",
  "success": false
}

500 - object

Error Message

PropertyTypeRequiredDetails
detailsstring[]No-
messagestringNo-
successbooleanNo-

Generated example (synthetic):

{
  "details": [
    "string"
  ],
  "message": "string",
  "success": false
}

Contract identity

Use these fields to confirm you are implementing the intended endpoint contract.

  • API family: Auth API
  • Method: GET
  • Path: /api/v1/\{app_id\}/customer-groups/store-groups/\{store_group_id\}/markets/\{market_id\}/prices
  • Operation ID: Not documented in the OpenAPI contract.
  • OpenAPI tag: Customer Groups
  • OpenAPI summary: Get customer groups with paginated prices for a user or organisation

Get customer groups with paginated prices for a user or organisation

# Get customer groups with paginated prices for a user or organisation Returns customer groups accessible to the given user (direct + organisations + ancestor organisations) OR to the given organisation (direct + ancestor organisations), for the given store group. Exactly one of `user_id` or `organisation_id` must be provided. Product variant customer group prices for the given market are paginated and nested under their customer group.
GET /api/v1/{app_id}/customer-groups/store-groups/{store_group_id}/markets/{market_id}/prices
Purpose

Returns customer groups accessible to the given user (direct + organisations + ancestor organisations) OR to the given organisation (direct + ancestor organisations), for the given store group.

Required inputs

app_id path store_group_id path market_id path

Primary response

200 ยท Customer groups with nested paginated prices

Operation key

auth-api:GET:/api/v1/{app_id}/customer-groups/store-groups/{store_group_id}/markets/{market_id}/prices

## API ownership - API family: Auth API - Best for: Customer identity, session, token, cart, and wishlist flows. - Do not use from: Merchant admin data syncs or public catalog rendering. - Guide route: [/apis/auth/latest](/apis/auth/latest) The OpenAPI contract defines the method, path, parameters, request body, and responses for this operation. ## Operation - Method: `GET` - Path: `/api/v1/{app_id}/customer-groups/store-groups/{store_group_id}/markets/{market_id}/prices` - Summary: Get customer groups with paginated prices for a user or organisation - Description: Returns customer groups accessible to the given user (direct + organisations + ancestor organisations) OR to the given organisation (direct + ancestor organisations), for the given store group. Exactly one of `user_id` or `organisation_id` must be provided. Product variant customer group prices for the given market are paginated and nested under their customer group. - OpenAPI contract: auth-api - Operation ID: Not documented in the OpenAPI contract. - Stable operation key: `auth-api:GET:/api/v1/{app_id}/customer-groups/store-groups/{store_group_id}/markets/{market_id}/prices` Operation key uses API family, method, and path because this OpenAPI contract does not publish an operation ID. ## Parameters | Name | In | Required | Type | Description | | --- | --- | --- | --- | --- | | app_id | path | Yes | string | uuid of the app | | store_group_id | path | Yes | string | uuid of the store group | | market_id | path | Yes | string | uuid of the market | | user_id | query | No | string | uuid of the user (mutually exclusive with organisation_id) | | organisation_id | query | No | string | uuid of the organisation (mutually exclusive with user_id) | | page | query | No | integer | Page number | | per_page | query | No | integer | Number of prices per page | ## Request body Not documented in the OpenAPI contract. ## Responses | Status | Description | Content | | --- | --- | --- | | 200 | Customer groups with nested paginated prices | application/json (object) | | 400 | Invalid request | application/json (object) | | 401 | Unauthorized access | application/json (object) | | 500 | Internal server error | application/json (object) | ### 200 - object #### Customer Group Prices | Property | Type | Required | Details | | --- | --- | --- | --- | | `customer_groups` | object[] | No | - | | `page` | integer | No | - | | `page_size` | integer | No | - | | `total_items` | integer | No | - | | `total_pages` | integer | No | - | ##### Customer Group Prices | Property | Type | Required | Details | | --- | --- | --- | --- | | `app_id` | string | No | - | | `created_at` | string | No | - | | `discount_percentage` | integer | No | - | | `discount_percentage_decimals` | integer | No | - | | `id` | string | No | - | | `name` | string | No | - | | `prices` | object[] | No | - | | `slug` | string | No | - | | `store_group_id` | string | No | - | | `updated_at` | string | No | - | ##### Customer Group Product Price | Property | Type | Required | Details | | --- | --- | --- | --- | | `created_at` | string | No | - | | `id` | string | No | - | | `price_amount` | number | No | - | | `product_number` | string | No | - | | `product_variant_id` | string | No | - | | `updated_at` | string | No | - | | `variant_number` | string | No | - | **Generated example (synthetic):** ```json { "customer_groups": [ { "app_id": "string", "created_at": "string", "discount_percentage": 0, "discount_percentage_decimals": 0, "id": "string", "name": "string", "prices": [ { "created_at": null, "id": null, "price_amount": null, "product_number": null, "product_variant_id": null, "updated_at": null, "variant_number": null } ], "slug": "string", "store_group_id": "string", "updated_at": "string" } ], "page": 0, "page_size": 0, "total_items": 0, "total_pages": 0 } ``` ### 400 - object #### Error Message | Property | Type | Required | Details | | --- | --- | --- | --- | | `details` | string[] | No | - | | `message` | string | No | - | | `success` | boolean | No | - | **Generated example (synthetic):** ```json { "details": [ "string" ], "message": "string", "success": false } ``` ### 401 - object #### Error Message | Property | Type | Required | Details | | --- | --- | --- | --- | | `details` | string[] | No | - | | `message` | string | No | - | | `success` | boolean | No | - | **Generated example (synthetic):** ```json { "details": [ "string" ], "message": "string", "success": false } ``` ### 500 - object #### Error Message | Property | Type | Required | Details | | --- | --- | --- | --- | | `details` | string[] | No | - | | `message` | string | No | - | | `success` | boolean | No | - | **Generated example (synthetic):** ```json { "details": [ "string" ], "message": "string", "success": false } ``` ## Contract identity Use these fields to confirm you are implementing the intended endpoint contract. - API family: Auth API - Method: `GET` - Path: `/api/v1/{app_id}/customer-groups/store-groups/{store_group_id}/markets/{market_id}/prices` - Operation ID: Not documented in the OpenAPI contract. - Stable operation key: `auth-api:GET:/api/v1/{app_id}/customer-groups/store-groups/{store_group_id}/markets/{market_id}/prices` - OpenAPI tag: Customer Groups - OpenAPI summary: Get customer groups with paginated prices for a user or organisation