naftiko: 1.0.0-alpha2 info: label: Buildxact Public API — Estimates description: >- Buildxact Public API estimating capability. Lists and reads construction estimates and their line items via the Buildxact v3 REST API, fronted by Azure API Management. Requires a partner-level subscription key and a user-scoped bearer token. tags: - Buildxact - Construction - Estimates created: '2026-05-25' modified: '2026-05-25' binds: - namespace: env keys: BUILDXACT_SUBSCRIPTION_KEY: BUILDXACT_SUBSCRIPTION_KEY BUILDXACT_BEARER_TOKEN: BUILDXACT_BEARER_TOKEN capability: consumes: - type: http namespace: buildxact-estimates baseUri: https://api.buildxact.com description: Buildxact Public API — estimates business capability. resources: - name: estimates path: /estimates operations: - name: listEstimates method: GET description: List estimates for the authenticated tenant (supports OData $filter, $orderBy, $top, $skip, $count). outputRawFormat: json outputParameters: - name: result type: array value: $. inputParameters: - name: $filter in: query type: string description: OData filter expression. required: false - name: $orderBy in: query type: string description: OData ordering expression. required: false - name: $top in: query type: integer description: Page size. required: false - name: $skip in: query type: integer description: Records to skip. required: false - name: $count in: query type: boolean description: Return total count via x-odata-total-count header. required: false - name: estimate path: /estimates/{estimateId} operations: - name: getEstimate method: GET description: Get a single estimate by identifier. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: estimateId in: path type: string description: Estimate identifier. required: true - name: estimate-items path: /estimates/{estimateId}/items operations: - name: listEstimateItems method: GET description: List line items belonging to an estimate. outputRawFormat: json outputParameters: - name: result type: array value: $. inputParameters: - name: estimateId in: path type: string required: true - name: $filter in: query type: string required: false - name: $orderBy in: query type: string required: false - name: $top in: query type: integer required: false - name: $skip in: query type: integer required: false - name: $count in: query type: boolean required: false authentication: type: composite headers: Ocp-Apim-Subscription-Key: '{{env.BUILDXACT_SUBSCRIPTION_KEY}}' Authorization: 'Bearer {{env.BUILDXACT_BEARER_TOKEN}}' exposes: - type: rest namespace: buildxact-estimates-rest port: 8080 description: REST adapter for Buildxact estimates. One resource per consumed operation. resources: - path: /v1/estimates name: estimates description: REST surface for estimates list. operations: - method: GET name: listEstimates description: List estimates for the authenticated tenant. call: buildxact-estimates.listEstimates with: $filter: rest.query.$filter $orderBy: rest.query.$orderBy $top: rest.query.$top $skip: rest.query.$skip $count: rest.query.$count outputParameters: - type: array mapping: $. - path: /v1/estimates/{estimateId} name: estimate description: REST surface for a single estimate. operations: - method: GET name: getEstimate description: Get a single estimate. call: buildxact-estimates.getEstimate with: estimateId: rest.path.estimateId outputParameters: - type: object mapping: $. - path: /v1/estimates/{estimateId}/items name: estimate-items description: REST surface for an estimate's line items. operations: - method: GET name: listEstimateItems description: List items on an estimate. call: buildxact-estimates.listEstimateItems with: estimateId: rest.path.estimateId $filter: rest.query.$filter $orderBy: rest.query.$orderBy $top: rest.query.$top $skip: rest.query.$skip $count: rest.query.$count outputParameters: - type: array mapping: $. - type: mcp namespace: buildxact-estimates-mcp port: 9090 transport: http description: MCP adapter for Buildxact estimates. One tool per consumed operation. tools: - name: buildxact-list-estimates description: List Buildxact estimates with OData paging/filter/sort. hints: readOnly: true destructive: false idempotent: true call: buildxact-estimates.listEstimates with: $filter: tools.$filter $orderBy: tools.$orderBy $top: tools.$top $skip: tools.$skip $count: tools.$count outputParameters: - type: array mapping: $. - name: buildxact-get-estimate description: Get a single Buildxact estimate by ID. hints: readOnly: true destructive: false idempotent: true call: buildxact-estimates.getEstimate with: estimateId: tools.estimateId outputParameters: - type: object mapping: $. - name: buildxact-list-estimate-items description: List the line items on a Buildxact estimate. hints: readOnly: true destructive: false idempotent: true call: buildxact-estimates.listEstimateItems with: estimateId: tools.estimateId $filter: tools.$filter $orderBy: tools.$orderBy $top: tools.$top $skip: tools.$skip $count: tools.$count outputParameters: - type: array mapping: $.