Skip to main content
POST
/
graphql#ListTasks
List tasks
curl --request POST \
  --url 'https://clarus-api.com/graphql#ListTasks' \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'X-Clarus-Subdomain: <api-key>' \
  --data '
{
  "query": "query($filter: TaskFilterType) { tasks { all(filter: $filter) { edges { node { id status subtype start_quantity confirmed_quantity created_at account { id code } warehouse { id code } product { id code } task_type { id code } location_from { id code } location_to { id code } } } } } }"
}
'
{
  "data": {
    "tasks": {
      "all": {
        "edges": [
          {
            "node": {
              "id": "1",
              "status": "AVAILABLE",
              "subtype": "standard",
              "start_quantity": 10,
              "confirmed_quantity": null,
              "created_at": "2026-03-10T08:00:00Z",
              "account": {
                "id": "1",
                "code": "ACME"
              },
              "warehouse": {
                "id": "1",
                "code": "WH1"
              },
              "product": {
                "id": "1024",
                "code": "WIDGET-RED-500"
              },
              "task_type": {
                "id": "3",
                "code": "PICK"
              },
              "location_from": {
                "id": "318",
                "code": "AISLE-04-BAY-12"
              },
              "location_to": {
                "id": "990",
                "code": "PACK-STATION-02"
              }
            }
          }
        ]
      }
    }
  }
}

Query Structure

query($filter: TaskFilterType) {
  tasks {
    all(filter: $filter) {
      edges {
        node {
          id
          status
          subtype
          start_quantity
          confirmed_quantity
          created_at
          account {
            id
            code
          }
          warehouse {
            id
            code
          }
          product {
            id
            code
          }
          task_type {
            id
            code
          }
          location_from {
            id
            code
          }
          location_to {
            id
            code
          }
        }
      }
    }
  }
}

Filter Argument

All filters are passed inside the filter argument. Each filter field accepts an input object with operators:
{
  "filter": {
    "status": {
      "eq": "AVAILABLE"
    },
    "task_type_code": {
      "eq": "PICK"
    }
  }
}

Available Filters

FilterInput TypeOperatorsDescription
statusStringInputTypeeq, ilike, like, in, betweenTask status (e.g., AVAILABLE, ALLOCATED, COMPLETED)
subtypeStringInputTypeeq, ilike, like, in, betweenTask subtype
task_type_codeStringInputTypeeq, ilike, like, in, betweenTask type code (PICK, DISP, RCV, PWAY, TRAN, REPLEN, LOAD, CONV)
account_idIdInputTypeeq, gt, gteq, lt, lteq, in, filledFilter by account ID
warehouse_idIdInputTypeeq, gt, gteq, lt, lteq, in, filledFilter by warehouse ID
product_idIdInputTypeeq, gt, gteq, lt, lteq, in, filledFilter by product ID
location_from_idIdInputTypeeq, gt, gteq, lt, lteq, in, filledFilter by source location ID
location_to_idIdInputTypeeq, gt, gteq, lt, lteq, in, filledFilter by destination location ID
user_idIdInputTypeeq, gt, gteq, lt, lteq, in, filledFilter by assigned user ID
goods_out_idIdInputTypeeq, gt, gteq, lt, lteq, in, filledFilter by goods out order ID
goods_in_receipt_line_idIdInputTypeeq, gt, gteq, lt, lteq, in, filledFilter by goods in receipt line ID
storage_unit_from_idIdInputTypeeq, gt, gteq, lt, lteq, in, filledFilter by source storage unit ID
load_idIdInputTypeeq, gt, gteq, lt, lteq, in, filledFilter by load ID
assigned_atDatetimeInputTypeeq, from, to, betweenFilter by assignment date
completed_atDatetimeInputTypeeq, from, to, betweenFilter by completion date
created_atDatetimeInputTypeeq, from, to, betweenFilter by creation date
priorityIntegerInputTypeeq, gt, gteq, lt, lteq, betweenFilter by priority
drop_sequenceIntegerInputTypeeq, gt, gteq, lt, lteq, betweenFilter by drop 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: TaskFilterType) { tasks { all(filter: $filter) { edges { node { id status subtype start_quantity confirmed_quantity created_at account { id code } warehouse { id code } product { id code } task_type { id code } location_from { id code } location_to { id code } } } } } }"

variables
object

Query variables including the filter object

Example:
{
"filter": {
"status": { "eq": "AVAILABLE" },
"task_type_code": { "eq": "PICK" }
}
}

Response

Successful GraphQL response

data
object

Query result data

errors
object[]

GraphQL errors, if any