Products & services

Reusable invoice lines.

Paths are relative to https://evenbooks.org/api/v1. How keys, errors, paging and versions work is in the guide; the whole reference is also an OpenAPI 3.1 document.

Administrator key marks endpoints that need a key with the admin role, Write access those a read-only key can’t call, and Idempotent those that accept an idempotency key.

List products and services

get/items

Every item, by name. Inactive items are left out unless includeInactive is set.

Parameters

Response 200

array of ItemDto

Errors 400 · 401 · 403 · 404 · 409 · 429

Add a product or service

post/items
Write access

A reusable invoice line: a name, a price and the income category it is recorded in (incomeAccountId, an income account), with optional default sales tax rates.

Request body

CreateItemInput

  • namestringrequired

    1–200 characters

  • descriptionstring or null

    up to 2000 characters

  • kindstring

    One of: service product

    default "service"

  • unitPricestring · NonNegativeDecimalString

    default "0"

  • incomeAccountIdstring · Uuidrequired
  • defaultTaxRateIdsarray of string · Uuid

    up to 5 items · default []

Response 200

ItemDto (fields under Schemas)

Errors 400 · 401 · 403 · 404 · 409 · 429

Change a product or service

patch/items/{id}
Write access

Omitted fields stay as they are; isActive: false hides the item from the list and pickers. Send version from your last read (409 version_conflict if it changed). Invoices that already use it keep their lines.

Parameters

  • idstring (uuid)path · required

Request body

UpdateItemInput

  • versionintegerrequired
  • namestring

    1–200 characters

  • descriptionstring or null

    up to 2000 characters

  • kindstring

    One of: service product

  • unitPricestring · NonNegativeDecimalString
  • incomeAccountIdstring · Uuid
  • defaultTaxRateIdsarray of string · Uuid

    up to 5 items

  • isActiveboolean

Response 200

ItemDto (fields under Schemas)

Errors 400 · 401 · 403 · 404 · 409 · 429

Schemas

The types these endpoints take or return, by name. Type names above link here.

ItemDto

  • idstring
  • namestring
  • descriptionstring or null
  • kindstring

    One of: service product

  • unitPricestring · NonNegativeDecimalString
  • incomeAccountIdstring
  • defaultTaxRateIdsarray of string
  • isActiveboolean
  • versioninteger

NonNegativeDecimalString

string

up to 32 characters · pattern ^\d+(\.\d+)?$

QueryBoolean

boolean

Uuid

string (uuid)