Private pilot API

Convert. Check. Compile.
Asynchronous model jobs with explicit verification boundaries.

This is the current development contract, not an announcement of unrestricted public API availability. The compiler API is not yet deployed. Pilot access and the API base URL will be provisioned individually. The landing page does not accept model uploads.

Authentication and admission

Send your issued HouseIR key in Authorization: Bearer … on every job, status and artifact request. No AI-provider key is required. Keep keys on your server, not in browser code. Examples use HOUSEIR_API_URL for your assigned HTTPS base URL.

POST /v1/jobs
Authorization: Bearer YOUR_HOUSEIR_KEY
Content-Type: application/json

The JSON object accepts only operation, ifc_base64, bir and residual_base64, as applicable below. A successful admission returns HTTP 202 with a job record, including its id and status. Admission is not successful compilation.

1. Convert IFC into BIR

{
  "operation": "convert",
  "ifc_base64": "BASE64_ENCODED_IFC_BYTES"
}

Successful conversion provides model.bir, residual.hir and report.json. Keep the BIR and residual together. The signed residual preserves source information and is bound to your customer identity; it is not an interchangeable plain JSON document.

Conversion checks exact text and semantic round trips and supported lifted geometry. Opaque statements retain source data but are not certified as editable geometry. Unsupported verification can cause the whole job to fail.

2. Check edited BIR

{
  "operation": "check",
  "bir": "YOUR_BIR_TEXT"
}

Read valid and problems in the resulting report.json. This checks language and references only. It does not certify IFC validity, geometry, engineering design or the success of a later compile.

3. Compile an edit back into IFC

{
  "operation": "compile",
  "bir": "YOUR_EDITED_BIR_TEXT",
  "residual_base64": "BASE64_ENCODED_RESIDUAL_HIR_BYTES"
}

Successful compilation provides model.ifc and report.json. The original signed residual is required. The supported edit scope is agreed during the pilot; language expressiveness does not imply every operation is hosted and verified.

new is present in the development interface but certified hosted fresh-model generation is not released. Do not integrate it as an available operation.

Poll and download

GET /v1/jobs/{id}
GET /v1/jobs/{id}/artifacts/report.json
GET /v1/jobs/{id}/artifacts/model.bir
GET /v1/jobs/{id}/artifacts/residual.hir
GET /v1/jobs/{id}/artifacts/model.ifc
GET /v1/jobs/{id}/artifacts/diagnostic.json

Job IDs are 32 lowercase hexadecimal characters. Poll the returned record: accepted and running are pending; verified means a convert or compile completed its scoped checks; checked means a language check completed (read its valid value). failed, unsupported, verification_failed, timed_out and expired require handling. Download only the names listed in that record's artifacts. Failed jobs expose diagnostics when available, not a successful IFC artifact.

curl --fail-with-body "$HOUSEIR_API_URL/v1/jobs/$JOB_ID" \
  -H "Authorization: Bearer $HOUSEIR_API_KEY"

curl --fail-with-body \
  "$HOUSEIR_API_URL/v1/jobs/$JOB_ID/artifacts/report.json" \
  -H "Authorization: Bearer $HOUSEIR_API_KEY" \
  --output report.json

Limits and retention

BoundaryCurrent default
Decoded IFC input40 MiB (41,943,040 bytes)
BIR UTF-8 input10 MiB (10,485,760 bytes)
Total JSON request150 MiB; individual input limits still apply
Execution windowUp to 30 minutes from admission
Model-data retentionOne hour from admission; download before expiry
ConcurrencyOne admitted compiler job per instance; busy requests receive 429

Content-free usage metadata may be retained for 90 days. These are processing limits, not promises that every model under the limit succeeds. Geometry complexity and representation support matter.

HTTP responseMeaning
401Missing, invalid or revoked API key
404Unknown job or unavailable artifact; other customers' jobs are not exposed
410Requested job artifacts have expired
413Total request exceeds its limit
422Invalid fields, encoding, operation inputs or input size
429Compiler busy; honor Retry-After: 10

What the report proves

The report records the operation, provenance and performed checks. Where supported, geometry verification requires a bound strictly below 1 mm, including applicable approximation allowances. Compile checks untouched semantic preservation and new schema problems within the reported validation scope.

Whole-model attribute/schema checks do not constitute full-model EXPRESS or normative validation. Edits also check a bounded touched-product EXPRESS subset. Geometry reference regeneration uses the same compiler with independent edit placement checks; it is not an independent whole-model intent oracle.

HouseIR does not certify engineering safety, building-code compliance, constructability or complete design intent. A pilot must include independent review in the partner's target software. Treat omitted or refused checks as unsupported, never as passed.

IFC interoperability

IFC is the pilot exchange format. Verify import behavior in the software and version you intend to support. IFC import into a proprietary authoring tool is different from creating fully editable native elements. No open-source IFC-to-RVT conversion, native RVT round trip or universal format conversion is promised by this API.

Inspect a scripted MEP edit

Download the synthetic MEP demo ZIP to inspect the before/after artifacts and reports. The script extends a straight pipe from 1,000 to 1,400 mm and checks preservation of its GlobalId, ports, system and neighboring element. This is a scripted compiler evaluation, not an AI-generated edit or proof of general MEP coverage. Bent-fitting editing is explicitly refused.

Start a pilot

Tell us your target software, representative model sizes and requested edits. We will agree supported operations, independent review and acceptance criteria before a proposed $500 scoped pilot begins.

Contact onboard@unum11.com ↗

Development contract · October 4, 2026. Latest frozen-release targeted evaluation: 78 passed, zero failed, zero skipped in 55.88 seconds. The full suite and broader corpus evaluations remain pending.