Skip to main content
POST
/
graphql#ListChargePrices
List charge prices
curl --request POST \
  --url 'https://clarus-api.com/graphql#ListChargePrices' \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'X-Clarus-Subdomain: <api-key>' \
  --data '
{
  "query": "query($filter: ChargePriceFilterType) { charge_prices { all(filter: $filter) { edges { node { id code name charge_type subtype unit_of_measure quantity price auto_charge description nominal_code } } } } }"
}
'
{
  "data": {
    "charge_prices": {
      "all": {
        "edges": [
          {
            "node": {
              "id": "1",
              "code": "PICK-STD",
              "name": "Standard Pick",
              "charge_type": "PICK",
              "subtype": null,
              "unit_of_measure": "item",
              "quantity": 1,
              "price": 0.5,
              "auto_charge": true,
              "description": null,
              "nominal_code": null
            }
          }
        ]
      }
    }
  }
}

Query Structure

query($filter: ChargePriceFilterType) {
  charge_prices {
    all(filter: $filter) {
      edges {
        node {
          id
          code
          name
          charge_type
          subtype
          unit_of_measure
          quantity
          price
          auto_charge
          description
          nominal_code
        }
      }
    }
  }
}

Filter Argument

All filters are passed inside the filter argument. Each filter field accepts an input object with operators:
{
  "filter": {
    "charge_type": {
      "eq": "PICK"
    }
  }
}

Available Filters

FilterInput TypeOperatorsDescription
idIdInputTypeeq, gt, gteq, lt, lteq, in, filledCharge price ID
codeStringInputTypeeq, ilike, like, in, betweenCharge price code
nameStringInputTypeeq, ilike, like, in, betweenCharge price name
charge_typeStringInputTypeeq, ilike, like, in, betweenType of charge
charge_card_idIdInputTypeeq, gt, gteq, lt, lteq, in, filledAssociated charge card

Filter Operators

Input TypeOperators
StringInputTypeeq (exact), ilike (case-insensitive partial), like (case-sensitive partial), in (array match), between (range)
IntegerInputTypeeq, gt, gteq, lt, lteq, between
DatetimeInputTypeeq, from, to, between
BooleanInputTypeeq (required)
IdInputTypeeq, gt, gteq, lt, lteq, in, filled

PICK-Only Conditions

The following fields are only applicable when charge_type is PICK. They allow you to define specific pricing rules for different picking scenarios:
FieldDescription
carrier_idSpecific carrier for carrier-based pick pricing
carrier_service_idSpecific carrier service level
order_type_idSpecific order type for order-type-based pricing

Unit of Measure Values

The unit_of_measure field supports 21 values across several categories. See charge configuration documentation for detailed descriptions of each. More fields and filters available via GraphQL introspection.

Authorizations

Authorization
string
header
required

OAuth 2.0 authentication. Use the client credentials or authorization code flow to obtain an access token.

X-Clarus-Subdomain
string
header
required

The subdomain/tenant name identifying which tenant's data to access. Required for all API requests.

Body

application/json
query
string<textarea>
required

GraphQL query string

Example:

"query($filter: ChargePriceFilterType) { charge_prices { all(filter: $filter) { edges { node { id code name charge_type subtype unit_of_measure quantity price auto_charge description nominal_code } } } } }"

variables
object

Query variables including the filter object

Example:
{
"filter": { "charge_type": { "eq": "PICK" } }
}

Response

Successful GraphQL response

data
object

Query result data

errors
object[]

GraphQL errors, if any