Skip to main content

Resources

Namespaces are organised by domain rather than by internal service.

client.operations.lots            client.compliance.licenses
client.operations.tunnels client.inventory.stock
client.operations.productionLogs client.environment.monitoring
client.operations.shiftLogs client.finance.invoices
client.operations.custody client.workforce.workers
client.operations.analytics client.safety.incidents

operations is nested a second level because it alone carries ~135 endpoints; a flat namespace that size is unusable in autocomplete.

Methods

await client.operations.lots.list({ page: 1, limit: 50 });  // GET  /v1/operations/lots
await client.operations.lots.get(id); // GET /v1/operations/lots/:id
await client.operations.lots.create(payload); // POST /v1/operations/lots
await client.operations.lots.update(id, patch); // PATCH …/:id
await client.operations.lots.remove(id); // DELETE …/:id

Irregular routes

Actions and nested collections:

await client.operations.lots.action('POST', `${id}/split`, { body });
const attachments = client.operations.lots.sub(`${id}/attachments`);

Anything not yet covered by a namespace — still gets retries, signing and idempotency:

await client.request('GET', '/operations/hash-chain/verify', { query: { tunnelId } });

Pagination

const { items, meta } = await client.operations.lots.list({ limit: 50 });

for await (const lot of client.operations.lots.list().autoPaging()) {}

const some = await client.operations.lots.list().toArray({ maxItems: 500 });