Skip to main content
POST
/
graphql#ListLocations
List locations
curl --request POST \
  --url 'https://clarus-api.com/graphql#ListLocations' \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'X-Clarus-Subdomain: <api-key>' \
  --data '
{
  "query": "query($filter: LocationsFilterType) { locations { all(filter: $filter) { edges { node { id code description active is_pickface zone aisle row column slot walk_sequence warehouse { id code name } } } } } }"
}
'
{
  "data": {
    "locations": {
      "all": {
        "edges": [
          {
            "node": {
              "id": "1",
              "code": "A-01-01-01",
              "description": "Aisle A, Row 1, Column 1, Slot 1",
              "active": true,
              "is_pickface": false,
              "zone": "A",
              "aisle": "01",
              "row": "01",
              "column": "01",
              "slot": "01",
              "walk_sequence": 1,
              "warehouse": {
                "id": "1",
                "code": "WH1",
                "name": "Main Warehouse"
              }
            }
          }
        ]
      }
    }
  }
}

Query Structure

query($filter: LocationsFilterType) {
  locations {
    all(filter: $filter) {
      edges {
        node {
          id
          code
          description
          active
          is_pickface
          zone
          aisle
          row
          column
          slot
          walk_sequence
          warehouse {
            id
            code
            name
          }
        }
      }
    }
  }
}

Filter Argument

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

Available Filters

FilterInput TypeOperatorsDescription
codeStringInputTypeeq, ilike, like, in, betweenLocation code
aisleStringInputTypeeq, ilike, like, in, betweenLocation aisle
warehouse_codeStringInputTypeeq, ilike, like, in, betweenFilter by warehouse code
zoneStringInputTypeeq, ilike, like, in, betweenLocation zone
storage_unit_type_idIdInputTypeeq, gt, gteq, lt, lteq, in, filledFilter by storage unit type
walk_sequenceIntegerInputTypeeq, gt, gteq, lt, lteq, betweenPick walk sequence

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: LocationsFilterType) { locations { all(filter: $filter) { edges { node { id code description active is_pickface zone aisle row column slot walk_sequence warehouse { id code name } } } } } }"

variables
object

Query variables including the filter object

Example:
{ "filter": { "code": { "ilike": "A-01" } } }

Response

Successful GraphQL response

data
object

Query result data

errors
object[]

GraphQL errors, if any