Skip to main content
POST
/
graphql#ListWarehouses
List warehouses
curl --request POST \
  --url 'https://clarus-api.com/graphql#ListWarehouses' \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'X-Clarus-Subdomain: <api-key>' \
  --data '
{
  "query": "query($filter: WarehouseFilterType) { warehouses { all(filter: $filter) { edges { node { id code name consolidate_pick_enabled loading_validation_setting opening_times_enabled address { address_1 address_2 address_3 address_4 postcode country_code } } } } } }"
}
'
{
  "data": {
    "warehouses": {
      "all": {
        "edges": [
          {
            "node": {
              "id": "1",
              "code": "WH1",
              "name": "Main Warehouse",
              "consolidate_pick_enabled": false,
              "loading_validation_setting": "none",
              "opening_times_enabled": false,
              "address": {
                "address_1": "123 Warehouse Lane",
                "address_2": null,
                "address_3": "Manchester",
                "address_4": "Greater Manchester",
                "postcode": "M1 1AA",
                "country_code": "GB"
              }
            }
          }
        ]
      }
    }
  }
}

Query Structure

query($filter: WarehouseFilterType) {
  warehouses {
    all(filter: $filter) {
      edges {
        node {
          id
          code
          name
          consolidate_pick_enabled
          loading_validation_setting
          opening_times_enabled
          address {
            address_1
            address_2
            address_3
            address_4
            postcode
            country_code
          }
        }
      }
    }
  }
}

Filter Argument

All filters are passed inside the filter argument. Each filter field accepts an input object with operators:
{
  "filter": {
    "code": {
      "ilike": "WH1"
    }
  }
}

Available Filters

FilterInput TypeOperatorsDescription
codeStringInputTypeeq, ilike, like, in, betweenWarehouse code
nameStringInputTypeeq, ilike, like, in, betweenWarehouse name
site_idIdInputTypeeq, gt, gteq, lt, lteq, in, filledFilter by site ID

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
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: WarehouseFilterType) { warehouses { all(filter: $filter) { edges { node { id code name consolidate_pick_enabled loading_validation_setting opening_times_enabled address { address_1 address_2 address_3 address_4 postcode country_code } } } } } }"

variables
object

Query variables including the filter object

Example:
{ "filter": { "code": { "ilike": "WH1" } } }

Response

Successful GraphQL response

data
object

Query result data

errors
object[]

GraphQL errors, if any