Skip to main content
POST
/
graphql#ListExternalEntities
List external entities
curl --request POST \
  --url 'https://clarus-api.com/graphql#ListExternalEntities' \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'X-Clarus-Subdomain: <api-key>' \
  --data '
{
  "query": "query($filter: ExternalEntityFilterType) { external_entities { all(filter: $filter) { edges { node { id code description entity_type external_system_reference1 integration { id name } } } } } }"
}
'
{
  "data": {
    "external_entities": {
      "all": {
        "edges": [
          {
            "node": {
              "id": "501",
              "code": "SHOP-SKU-1",
              "description": "Red Widget",
              "entity_type": "product",
              "external_system_reference1": "gid://shopify/Product/123",
              "integration": {
                "id": "12",
                "name": "Shopify"
              }
            }
          }
        ]
      }
    }
  }
}

Query Structure

query($filter: ExternalEntityFilterType) {
  external_entities {
    all(filter: $filter) {
      edges {
        node {
          id
          code
          description
          entity_type
          external_system_reference1
          integration { id name }
        }
      }
    }
  }
}

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

Available Filters

FilterInput TypeOperatorsDescription
entity_typeEntityTypeInputTypeeq, inEntity kind (enum input — carrier, product, shipping_rate, warehouse)
codeStringInputTypeeq, ilike, like, in, betweenDisplay code
descriptionStringInputTypeeq, ilike, like, in, betweenDescription
integration_idIdInputTypeeq, in, gt, gteq, lt, lteq, filledOwning integration ID
integration_nameStringInputTypeeq, ilike, like, in, betweenOwning integration name
external_system_reference1StringInputTypeeq, ilike, like, in, betweenPrimary external identifier
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: ExternalEntityFilterType) { external_entities { all(filter: $filter) { edges { node { id code description entity_type external_system_reference1 integration { id name } } } } } }"

variables
object

Query variables including the filter object

Example:
{
"filter": { "entity_type": { "eq": "product" } }
}

Response

Successful GraphQL response

data
object

Query result data

errors
object[]

GraphQL errors, if any