Skip to content

Getting Started

The Stocksmith API is a REST API that returns JSON. It gives you programmatic read access to your inventory — materials, products, components, recipes, manufactures, and expenses.

The API is currently read-only: every endpoint is a GET. Write endpoints are planned but not yet available.

https://api.stocksmith.io/api/v1

The previous base URL (https://app.craftybase.com/api/v1) returns a 302 redirect to the new host. Update your clients rather than relying on it — many HTTP clients drop the Authorization header when following cross-host redirects.

  1. Generate an API key in Stocksmith under Settings → API Keys. See Authentication.

  2. Verify the key with the ping endpoint, passing it as a Bearer token:

    Terminal window
    curl https://api.stocksmith.io/api/v1/ping \
    -H "Authorization: Bearer live_your_key_here"
  3. Explore the endpoints in the API Reference.

ResourceEndpoints
PingGET /ping — health check, verifies the token
AccountGET /account
MaterialsGET /materials, GET /materials/{id}
ProductsGET /products, GET /products/{id}
ComponentsGET /components, GET /components/{id}
RecipesGET /recipes, GET /recipes/{id}
ManufacturesGET /manufactures, GET /manufactures/{id}
ExpensesGET /expenses, GET /expenses/{id}

The catalog list endpoints (/materials, /products, /components) accept these optional filters, combined with AND:

ParameterBehaviour
stateactive (default), archived, or all.
nameSubstring match on name.
skuExact SKU match.
category_nameSubstring match on category name.
  • All responses are JSON.
  • The API uses customer-facing names: materials and products (not the internal “items” / “projects”).
  • List endpoints are paginated — see Pagination.
  • Money values are objects with a decimal-string amount and a currency_code — never bare floats: { "amount": "8.75", "currency_code": "USD" }.
  • Timestamps are ISO 8601 strings.