Invoice Billable Items
Reference for the invoice_billable_items resource. Requests follow the conventions in
Requests and Responses; fields you
receive and may write are filtered by your user's permissions, so responses can
contain a subset of the fields below.
Operations
| Operation | Request |
|---|---|
| List | GET /{profile}/user/v4/invoice_billable_items |
| Fetch | GET /{profile}/user/v4/invoice_billable_items/{id} |
Not available as a standard REST operation for this resource: create, update, delete —
such requests return 402 feature_not_enabled or 403 permission_denied.
How it works
invoice_billable_items is the read-only catalog of billable items — the required
invoice_billable_item parent on an invoice line item
create.
On create, the line copies this row's code and description onto
billable_item_code / billable_item_description (read-only on the line
afterward). You still send unit_price yourself — default_unit_price is the
catalog default and is not applied automatically.
Visible to any caller holding Customer Invoices or Lead Invoices. Internal
columns (combo_id, the equipment polymorphic link, is_system) are never
returned.
curl "https://portal.securitytrax.com/acme/user/v4/invoice_billable_items?name=Monitor" \
-H "Authorization: Bearer stx_acme_..."
Filters: name (matches description anywhere), code (matches anywhere),
invoice_billable_item_class_id (exact), active (true / false / all;
default true). Sort by id, code, or description; GET /{id} fetches one,
including an off item. Soft-deleted items return 404 by id and are omitted
from the list.
Note. The list matches the in-app picker: on items only unless you pass
?active=falseor?active=all. See Filtering collections.
Fields
Fields are grouped by the permission that gates them. A group you may not view
is absent from responses; a group you may not write is rejected with 422 when
sent in a write.
Invoice Billable Item
View: any of: Customer Invoices; Lead Invoices.
| Field | Type | Writable | Validation |
|---|---|---|---|
code |
string (nullable) | Read-only | max length 255 |
description |
string (nullable) | Read-only | max length 6000 |
default_unit_price |
string (nullable) | Read-only | — |
invoice_billable_item_class_id |
integer (nullable) | Read-only | min 0 |
is_taxable |
integer (nullable) | Read-only | — |
active |
boolean (nullable) | Read-only | — |
status |
string (nullable) | Read-only | one of: active, deleted |
Pagination
The list endpoint uses client-controlled offset pagination: ?page= (1-based) and
?per_page= (default 25, max 100). The response mirrors
meta.pagination (page, per_page, total, last_page) and sends an RFC5988
Link header; follow rel="next" to walk pages. See
Pagination.
Filters
The list endpoint accepts these query-param filters: name, invoice_billable_item_class_id, code, active.
An unsupported filter parameter returns 422. See
Filtering collections
for matching semantics.
Sorting
GET .../invoice_billable_items?sort= orders the list by: id, code, description.
Prefix a field with - for descending; comma-separate for tie-breakers. An
unsupported field returns 422. See
Sorting collections.
Related
- Requests and Responses — envelope, errors, pagination, and rate limits.
- Authentication — API access tokens and the
Authorizationheader.