List HHD flows
curl --request POST \
--url 'https://clarus-api.com/graphql#ListHhdFlows' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Clarus-Subdomain: <api-key>' \
--data '
{
"query": "query($filter: RfFlowFilterType) { rf_flows { all(filter: $filter) { edges { node { id code name flow_type is_default slug implementation_id created_at } } } } }"
}
'import requests
url = "https://clarus-api.com/graphql#ListHhdFlows"
payload = { "query": "query($filter: RfFlowFilterType) { rf_flows { all(filter: $filter) { edges { node { id code name flow_type is_default slug implementation_id created_at } } } } }" }
headers = {
"Authorization": "Bearer <token>",
"X-Clarus-Subdomain": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
Authorization: 'Bearer <token>',
'X-Clarus-Subdomain': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
query: 'query($filter: RfFlowFilterType) { rf_flows { all(filter: $filter) { edges { node { id code name flow_type is_default slug implementation_id created_at } } } } }'
})
};
fetch('https://clarus-api.com/graphql#ListHhdFlows', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": {
"rf_flows": {
"all": {
"edges": [
{
"node": {
"id": "1",
"code": "PICK_STANDARD",
"name": "Standard Pick Flow",
"flow_type": "standard",
"is_default": false,
"slug": "pick-standard",
"implementation_id": "1",
"created_at": "2026-01-10T12:00:00Z"
}
}
]
}
}
}
}{
"error": "<string>"
}HHD Flows
List HHD flows
Retrieve handheld device (HHD) flows using GraphQL. Supports filtering by code, name, type, implementation, and default status. (HHD flows are known internally as RF flows.)
POST
/
graphql#ListHhdFlows
List HHD flows
curl --request POST \
--url 'https://clarus-api.com/graphql#ListHhdFlows' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Clarus-Subdomain: <api-key>' \
--data '
{
"query": "query($filter: RfFlowFilterType) { rf_flows { all(filter: $filter) { edges { node { id code name flow_type is_default slug implementation_id created_at } } } } }"
}
'import requests
url = "https://clarus-api.com/graphql#ListHhdFlows"
payload = { "query": "query($filter: RfFlowFilterType) { rf_flows { all(filter: $filter) { edges { node { id code name flow_type is_default slug implementation_id created_at } } } } }" }
headers = {
"Authorization": "Bearer <token>",
"X-Clarus-Subdomain": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
Authorization: 'Bearer <token>',
'X-Clarus-Subdomain': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
query: 'query($filter: RfFlowFilterType) { rf_flows { all(filter: $filter) { edges { node { id code name flow_type is_default slug implementation_id created_at } } } } }'
})
};
fetch('https://clarus-api.com/graphql#ListHhdFlows', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": {
"rf_flows": {
"all": {
"edges": [
{
"node": {
"id": "1",
"code": "PICK_STANDARD",
"name": "Standard Pick Flow",
"flow_type": "standard",
"is_default": false,
"slug": "pick-standard",
"implementation_id": "1",
"created_at": "2026-01-10T12:00:00Z"
}
}
]
}
}
}
}{
"error": "<string>"
}Query Structure
query($filter: RfFlowFilterType) {
rf_flows {
all(filter: $filter) {
edges {
node {
id
code
name
flow_type
is_default
slug
implementation_id
created_at
}
}
}
}
}
Note: HHD flows are exposed under therf_flowsGraphQL field andRfFlowFilterTypefilter type.
Filter Argument
All filters are passed inside thefilter argument. Each field accepts an input object with operators.
Available Filters
| Filter | Input Type | Operators | Description |
|---|---|---|---|
code | StringInputType | eq, ilike, like, in, between | Flow code |
name | StringInputType | eq, ilike, like, in, between | Flow name |
flow_type | FlowTypeInputType | eq | standard, task, or loading |
implementation_id | IdInputType | eq, in, filled | HHD implementation |
implementation_code | StringInputType | eq, ilike, like, in, between | HHD implementation code |
is_default | BooleanInputType | eq | Default flow status |
slug | StringInputType | eq, ilike, like, in, between | Flow slug |
Authorizations
OAuth 2.0 authentication. Use the client credentials or authorization code flow to obtain an access token.
FlowAuthorization Code
- Authorization URL
- https://clarus-api.com/oauth/authorize
- Token URL
- https://clarus-api.com/oauth/token
FlowClient Credentials
- Token URL
- https://clarus-api.com/oauth/token
The subdomain/tenant name identifying which tenant's data to access. Required for all API requests.
Body
application/json
GraphQL query string
Example:
"query($filter: RfFlowFilterType) { rf_flows { all(filter: $filter) { edges { node { id code name flow_type is_default slug implementation_id created_at } } } } }"
Query variables including the filter object
Show child attributes
Show child attributes
Example:
{
"filter": { "flow_type": { "eq": "standard" } }
}

