Partial Reference — Full Docs Coming Soon

API Reference

SteadStack exposes a RESTful API for all operations. Build custom integrations, automate workflows, or connect your own tools.

Authentication

All API requests require a Firebase Authentication ID token passed as a Bearer token in the Authorization header.

// Get a Firebase ID token
const token = await firebase.auth().currentUser.getIdToken();

// Include it in every request
fetch('https://steadstack.com/api/sites', {
  headers: {
    'Authorization': `Bearer ${token}`,
    'Content-Type': 'application/json',
  },
});

Multi-tenant Scoping

All data is automatically scoped to your tenant based on the authenticated user. You cannot access data belonging to other tenants. Site-specific data requires passing a siteId query parameter or header.

Base URL

https://steadstack.com/api

All endpoint paths below are relative to this base URL.

Endpoints

MethodEndpointDescription
GET/auth/meGet current user profile
POST/auth/loginAuthenticate user
POST/auth/signupCreate new account and tenant
GET/sitesList all sites for tenant
POST/sitesCreate a new site
GET/animalsList animals (filterable by group, status)
POST/animalsCreate an animal record
GET/animals/groupsList animal groups
GET/tasks/templatesList task templates
POST/tasks/templatesCreate a task template
GET/tasks/runlistsList runlists
POST/tasks/runlists/:id/generateGenerate task occurrences
GET/tasks/occurrencesList task occurrences (by date)
PATCH/tasks/occurrences/:id/completeComplete a task occurrence
GET/inventory/itemsList inventory items
POST/inventory/itemsCreate an inventory item
GET/inventory/balancesGet site inventory balances
GET/purchasing/ordersList purchase orders
POST/purchasing/ordersCreate a purchase order
POST/purchasing/receipts/:id/postPost a receipt (updates inventory + ledger)
GET/accounting/accountsList chart of accounts
GET/accounting/transactionsList ledger transactions
POST/accounting/journal-entriesCreate a journal entry
POST/accounting/journal-entries/:id/postPost journal entry to ledger
GET/accounting/reports/trial-balanceGenerate trial balance report
GET/accounting/reports/income-statementGenerate income statement
GET/accounting/reports/balance-sheetGenerate balance sheet
GET/contactsList contacts (filterable by type)
POST/contactsCreate a contact
GET/eventsList operational events
POST/eventsCreate an event

This is a partial endpoint reference.

Full documentation with request/response schemas, authentication examples, and a try-it console is on the roadmap. In the meantime, reach out via the contact form for API access or integration help.

Response Format

All responses return JSON. Successful responses include a success flag and a data object.

Success Response

{
  "success": true,
  "data": {
    "sites": [
      {
        "id": "abc123",
        "name": "North Ranch",
        "acreage": 640
      }
    ]
  }
}

Error Response

{
  "success": false,
  "error": "Validation failed",
  "details": [
    {
      "field": "name",
      "message": "Name is required"
    }
  ]
}

Building something with our API?

We'd love to hear what you're building. Get in touch for early access to webhook events and expanded API documentation.