GraphQL Queries (Read)

Fetch data with type-safe GraphQL queries

5 min read
Print this section

The GraphQL endpoint at /api/v1/graphql exposes 11 read queries: whoami, workOrders, workOrder(id), assets, asset(id), parts (with lowStock filter), part (by id or barcode), floorPlans(locationId), locations, vendors, customers.

Endpoint

POST https://freemaint.com/api/v1/graphql with Content-Type: application/json. Each query consumes 1 from your daily quota.

Example: list work orders

query { workOrders(limit: 10, status: "OPEN") { id title priority status assetId locationId dueDate } } Returns up to 200 rows; the default limit is 50.

Fetch one part (by id or barcode)

Fetch a single part by id or barcode, with part(id: N) or part(barcode: "CODE"). barcode matches the barcode, the QR code, the part number and the reference (case-insensitive, active parts only) โ€” the same matching the in-app scanner uses โ€” and returns null when nothing matches. Example: query { part(barcode: "ABC-123") { id name description partNumber quantity minQuantity maxStockLevel unitOfMeasure imageUrl area location { name } vendor { name website } } } The part also returns description, minQuantity, maxStockLevel, imageUrl and the nested location and vendor โ€” enough to fill a kiosk item screen in a single query. It also matches your own customReference, so an integration can find a part by the code it carries in your own system.

Available filters

  • workOrders(limit, status) โ€” limit 1-200, status string filter
  • assets(limit) โ€” limit 1-200
  • parts(limit, offset, lowStock, updatedSince) โ€” page with limit (1-200) plus offset; updatedSince returns only parts modified since that moment; lowStock=true returns only stocked items at or below minQuantity
  • locations, vendors, customers โ€” return up to 200 rows ordered by name
  • part(id, barcode) โ€” single-part lookup; barcode matches barcode, QR code, part number, reference and custom reference, ideal for scanners
  • floorPlans(locationId) โ€” floor plans of a location, with their markers (percentage x/y coordinates); lets a kiosk render where a part is stored

Schema introspection

Introspection is enabled โ€” point Apollo Sandbox or GraphiQL at /api/v1/graphql with your Bearer token to explore the full schema interactively.

Tip

Combine several queries in one request: { workOrders(limit:5){ id } assets(limit:5){ id } } โ€” it counts as a single quota hit.

Was this page helpful?