Skip to main content
POST
/
graphql#ListSuppliers
List suppliers
curl --request POST \
  --url 'https://clarus-api.com/graphql#ListSuppliers' \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'X-Clarus-Subdomain: <api-key>' \
  --data '
{
  "query": "query($filter: SupplierFilterType) { suppliers { all(filter: $filter) { edges { node { id code name description active external_system_reference1 address { id address_1 postcode } } } } } }"
}
'
{
  "data": {
    "suppliers": {
      "all": {
        "edges": [
          {
            "node": {
              "id": "14",
              "code": "ACME-SUP",
              "name": "Acme Supplies Ltd",
              "description": "Primary widget supplier",
              "active": true,
              "external_system_reference1": "SUP-001",
              "address": {
                "id": "880",
                "address_1": "10 Industrial Way",
                "postcode": "M1 2AB"
              }
            }
          }
        ]
      }
    }
  }
}

Query Structure

query($filter: SupplierFilterType) {
  suppliers {
    all(filter: $filter) {
      edges {
        node {
          id
          code
          name
          description
          active
          external_system_reference1
          address { id address_1 postcode }
        }
      }
    }
  }
}

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": {
    "id": {
      "eq": "value"
    }
  }
}

Available Filters

FilterInput TypeOperatorsDescription
idIdInputTypeeq, in, gt, gteq, lt, lteq, filledSupplier ID
codeStringInputTypeeq, ilike, like, in, betweenSupplier code
nameStringInputTypeeq, ilike, like, in, betweenSupplier name
descriptionStringInputTypeeq, ilike, like, in, betweenSupplier description
activeBooleanInputTypeeqWhether the supplier is active
external_system_reference1StringInputTypeeq, ilike, like, in, betweenExternal system reference
address_postcodeStringInputTypeeq, ilike, like, in, betweenSupplier address postcode
created_atDatetimeInputTypeeq, from, to, betweenCreation timestamp
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: SupplierFilterType) { suppliers { all(filter: $filter) { edges { node { id code name description active external_system_reference1 address { id address_1 postcode } } } } } }"

variables
object

Query variables including the filter object

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

Response

Successful GraphQL response

data
object

Query result data

errors
object[]

GraphQL errors, if any