Skip to main content
POST
/
graphql#ListCustomers
List customers
curl --request POST \
  --url 'https://clarus-api.com/graphql#ListCustomers' \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'X-Clarus-Subdomain: <api-key>' \
  --data '
{
  "query": "query($filter: CustomerFilterType) { customers { all(filter: $filter) { edges { node { id code name shelf_life_min shelf_life_max external_system_reference1 } } } } }"
}
'
{
  "data": {
    "customers": {
      "all": {
        "edges": [
          {
            "node": {
              "id": "42",
              "code": "ACME",
              "name": "Acme Retail Ltd",
              "shelf_life_min": 30,
              "shelf_life_max": 365,
              "external_system_reference1": "CRM-1001"
            }
          }
        ]
      }
    }
  }
}

Query Structure

query($filter: CustomerFilterType) {
  customers {
    all(filter: $filter) {
      edges {
        node {
          id
          code
          name
          shelf_life_min
          shelf_life_max
          external_system_reference1
        }
      }
    }
  }
}

Filter Argument

All filters are passed inside the filter argument. Each filter field accepts an input object with operators (e.g. eq, ilike, from, to, between):
{
  "filter": {
    "code": {
      "ilike": "value"
    }
  }
}

Available Filters

FilterInput TypeOperatorsDescription
codeStringInputTypeeq, ilike, like, in, betweenCustomer code
nameStringInputTypeeq, ilike, like, in, betweenCustomer name
external_system_reference1StringInputTypeeq, ilike, like, in, betweenExternal reference
shelf_life_minIntegerInputTypeeq, gt, gteq, lt, lteq, betweenMinimum shelf life (days)
shelf_life_maxIntegerInputTypeeq, gt, gteq, lt, lteq, betweenMaximum shelf life (days)
pick_label_idIdInputTypeeq, in, gt, gteq, lt, lteq, filledPick label template ID
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: CustomerFilterType) { customers { all(filter: $filter) { edges { node { id code name shelf_life_min shelf_life_max external_system_reference1 } } } } }"

variables
object

Query variables including the filter object

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

Response

Successful GraphQL response

data
object
errors
object[]