| name | quartzy |
| description | Query and manage Quartzy lab inventory, order requests, and webhooks. Use when the user asks about lab supplies, reagent inventory, placing orders, checking order status, or creating new order requests in Quartzy. |
| allowed-tools | Bash(quartzy:*) |
Quartzy Skill
Query and manage the lab's Quartzy inventory, order requests, and webhooks.
Configuration
The CLI reads from .env in the working directory:
Tool Location
quartzy
API Limitations
Important: The Quartzy API has significant limitations:
- Listing order requests only returns historical items (RECEIVED, CANCELLED) — pending/new requests are not returned
- Status filters are ignored by the list endpoint
- Creating, getting by ID, and updating status all work correctly
- To see pending requests, use the web UI: https://app.quartzy.com/groups/239714/requests?status[]=PENDING
Commands
Health Check
quartzy health
User Info
quartzy user
Labs
quartzy labs list [--page <N>]
quartzy labs get --id <UUID>
Inventory
quartzy inventory list [--page <N>]
quartzy inventory get --id <UUID>
quartzy inventory update --id <UUID> --quantity <VALUE>
Order Requests
quartzy order-requests list [--page <N>]
quartzy order-requests get --id <UUID>
quartzy order-requests create \
--type-id <UUID> \
--name <NAME> \
--vendor-name <NAME> \
--catalog-number <NUM> \
--price-amount <INT> \
--price-currency <CODE> \
--quantity <INT> \
[--vendor-product-id <UUID>] \
[--required-before <YYYY-MM-DD>] \
[--notes <TEXT>]
quartzy order-requests update --id <UUID> --status <STATUS>
Inventory Types
Use these type IDs when creating order requests:
| Type | ID |
|---|
| Antibody | 6860e5fb-40f0-4924-9061-1690f2f65def |
| Cell Line | 1564c547-a877-4a6f-8614-910d7b01b8b7 |
| Chemical | cd4aa642-7f42-4f45-ac2a-2a4b04a147ae |
| Enzyme - Restriction | f0f74a0a-81fa-45e3-a59e-36ebce7dbecd |
| General Supply | 8f404ec9-141e-48d4-9ea5-eecd65d91f38 |
quartzy types list [--name <NAME>] [--page <N>]
Webhooks
quartzy webhooks list [--page <N>]
quartzy webhooks get --id <UUID>
quartzy webhooks create \
--url <URL> \
[--name <NAME>] \
[--event-types <CSV>] \
[--is-enabled <true|false>]
quartzy webhooks update --id <UUID> --is-enabled <true|false>
Examples
User: "What's in our Quartzy inventory?"
quartzy inventory list
User: "Create an order request for 2 boxes of pipette tips from VWR"
quartzy order-requests create \
--type-id 8f404ec9-141e-48d4-9ea5-eecd65d91f38 \
--name "Pipette Tips 200uL" \
--vendor-name "VWR" \
--catalog-number "89079-478" \
--price-amount 4500 \
--price-currency USD \
--quantity 2
User: "Get details for order request abc-123"
quartzy order-requests get --id abc-123
User: "Mark order abc-123 as received"
quartzy order-requests update --id abc-123 --status RECEIVED
User: "Cancel order abc-123"
quartzy order-requests update --id abc-123 --status CANCELLED
User: "What inventory types do we have?"
quartzy types list
User: "Update the quantity of inventory item xyz to 5"
quartzy inventory update --id xyz --quantity 5
Notes
- All commands output JSON for easy parsing
- Lab and organization IDs default from .env; override with --lab-id or --organization-id
- Use
--token <TOKEN> flag to override the API token
- Pagination: use
--page N to navigate through results
- Price amount is in cents (e.g., 4500 = $45.00)
- The web UI shows "PENDING" status but the API uses "CREATED" for new requests