Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.nomos.energy/llms.txt

Use this file to discover all available pages before exploring further.

Every list endpoint supports filtering through query parameters in the form filter[<field>][<operator>]=<value>. Multiple filters combine with AND.
curl -G "https://api.nomos.energy/customers" \
  -H "Authorization: Bearer ${ACCESS_TOKEN}" \
  --data-urlencode "filter[type][eq]=residential" \
  --data-urlencode "filter[created_at][gte]=2024-01-01T00:00:00Z"
The endpoint reference lists each filterable field and which operators it accepts. Available operators are determined by the field’s type. Filters that name an unknown field or use a disallowed operator are silently ignored, so a typo’d field name returns the unfiltered list rather than an error.

Operators by field type

OperatorDescriptionExample
eqExact matchfilter[email][eq]=john@example.com
neNot equalfilter[status][ne]=cancelled
inComma-separated listfilter[status][in]=active,pending
is_nullNull check (true/false)filter[deleted_at][is_null]=true
containsCase-insensitive containsfilter[last_name][contains]=mueller
starts_withCase-insensitive prefixfilter[email][starts_with]=john
ends_withCase-insensitive suffixfilter[email][ends_with]=@example.com

Common patterns

Filter by date range

curl -G "https://api.nomos.energy/subscriptions" \
  -H "Authorization: Bearer ${ACCESS_TOKEN}" \
  --data-urlencode "filter[created_at][gte]=2024-01-01T00:00:00Z" \
  --data-urlencode "filter[created_at][lte]=2024-01-31T23:59:59Z"

Filter by multiple values

curl -G "https://api.nomos.energy/customers" \
  -H "Authorization: Bearer ${ACCESS_TOKEN}" \
  --data-urlencode "filter[status][in]=active,pending"

Search by substring

curl -G "https://api.nomos.energy/customers" \
  -H "Authorization: Bearer ${ACCESS_TOKEN}" \
  --data-urlencode "filter[last_name][contains]=mueller"

Exclude terminated records

curl -G "https://api.nomos.energy/subscriptions" \
  -H "Authorization: Bearer ${ACCESS_TOKEN}" \
  --data-urlencode "filter[terminated_at][is_null]=true"

Combine with pagination

Pass the same filter parameters with each page when paginating:
curl -G "https://api.nomos.energy/subscriptions" \
  -H "Authorization: Bearer ${ACCESS_TOKEN}" \
  --data-urlencode "filter[status][eq]=active" \
  --data-urlencode "limit=20" \
  --data-urlencode "cursor=${NEXT_PAGE}"
Malformed filter syntax or invalid values return 400 BAD_REQUEST with a message naming the offending parameter. See Errors for the full envelope.