API Catalog
Endpoints, payload shapes, and authentication for the village systems that expose one.
Most village systems do not expose one. Where a system appears in the Systems Inventory but not here, it has no documented interface and the department of record should be contacted directly.
Corrections to extension 104.
Service addressing
Section titled “Service addressing”Village-hosted services are routed by department and system:
https://theoria.hypertheory-labs.com/{department}/{system}/The purchasing catalog is therefore at /clerk-records/purchasing/.
This convention was adopted with the purchasing catalog and applies to services stood up since. It has not been applied retroactively, and most systems in the inventory are not reachable this way at all. Confirm an environment is up in Contractor Resources before relying on it.
Purchasing & Approved Vendor Catalog
Section titled “Purchasing & Approved Vendor Catalog”Department: Clerk & Records · Owner: D. Kuchenbrod · Version: 1.2.0 · Last reviewed: 08/21/2026
System of record for the approved vendor list and the purchasing catalog. Replaces the vendor spreadsheet. Departments read this service before committing village funds.
Authentication is not currently required. Callers are expected to be on the village network.
- Full API reference — operations, schemas, and request samples.
- Download the OpenAPI specification — OpenAPI 3.1, YAML.
What the standing endpoint is for
Section titled “What the standing endpoint is for”GET /vendors/{vendorId}/standing is the endpoint other departments actually want.
It reports a vendor’s standing. It does not authorize a purchase — that
determination belongs to the department committing the funds, which is the only
party that knows what it is about to commit them to.
What the statuses mean for purchasing:
| Status | Effect |
|---|---|
approved | May be used for new purchases |
suspended | May not be used for new purchases. Work already dispatched is not affected by the suspension itself |
debarred | May not be used at all. Statutory; the village cannot waive it |
effectiveDate is the field that causes the most trouble. It records when the
standing took effect, which may be well before the date the Clerk’s office recorded
it. A commitment made before that date is a different question from one made after,
and this service does not answer it.
A vendor may be registered and have no standing record. That is not approval.
The standing endpoint reports 404 in that case, the same as for a vendor that does
not exist.
Catalog items
Section titled “Catalog items”Items are attached to a vendor and carry a purchasing category code. See Standards for the code list.
Items are not removed when a vendor’s standing later changes. They remain in the catalog, and the standing check is the control. An item in the catalog therefore says nothing about whether its vendor may currently be used.
Separation of duties
Section titled “Separation of duties”Registering a vendor and adding catalog items against a vendor are separate duties, held by different people in the Clerk’s office. The API does not currently distinguish the two callers.