Fieldwire · Capability

Fieldwire Financials API — Budget

Project budget line items and actual costs for Business Plus customers.

Fieldwire Financials API — Budget is a Naftiko capability published by Fieldwire, one of 16 capabilities the APIs.io network indexes for this provider. It bundles 4 operations across the GET and POST methods rooted at /v1/projects/{…}.

The capability includes 2 read-only operations and 2 state-changing operations. Lead operation: List budget line items for a Fieldwire project. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.

Tagged areas include Fieldwire, Financials, Budget, and Construction.

Run with Naftiko FieldwireFinancialsBudgetConstruction

What You Can Do

GET
Getbudgetlineitemsinproject
/v1/projects/{project_id}/budget_line_items
POST
Createbudgetlineiteminproject
/v1/projects/{project_id}/budget_line_items
GET
Getactualcostsinproject
/v1/projects/{project_id}/actual_costs
POST
Createactualcostinproject
/v1/projects/{project_id}/actual_costs

MCP Tools

fieldwire-list-budget-line-items

List budget line items for a Fieldwire project.

read-only idempotent
fieldwire-create-budget-line-item

Add a budget line item to a Fieldwire project.

fieldwire-list-actual-costs

List actual costs logged against budget lines.

read-only idempotent
fieldwire-create-actual-cost

Log an actual cost against a budget line item.

Capability Spec

financials-budget.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Fieldwire Financials API — Budget
  description: Project budget line items and actual costs for Business Plus customers.
  tags: [Fieldwire, Financials, Budget, Construction]
  created: '2026-05-25'
  modified: '2026-05-25'
binds:
- namespace: env
  keys:
    FIELDWIRE_ACCESS_TOKEN: FIELDWIRE_ACCESS_TOKEN
    FIELDWIRE_REGION_HOST: FIELDWIRE_REGION_HOST
capability:
  consumes:
  - type: http
    namespace: financials-budget
    baseUri: '{{env.FIELDWIRE_REGION_HOST}}'
    description: Fieldwire Project Budget business capability.
    resources:
    - name: project-budget-line-items
      path: /api/v3/projects/{project_id}/budget_line_items
      operations:
      - name: getbudgetlineitemsinproject
        method: GET
        description: Get Budget Line Items In Project
        inputParameters: [{ name: project_id, in: path, type: integer, required: true }]
        outputParameters: [{ name: result, type: array, value: $. }]
      - name: createbudgetlineiteminproject
        method: POST
        description: Create Budget Line Item In Project
        inputParameters:
        - { name: project_id, in: path, type: integer, required: true }
        - { name: body, in: body, type: object, required: true }
        outputParameters: [{ name: result, type: object, value: $. }]
    - name: project-actual-costs
      path: /api/v3/projects/{project_id}/actual_costs
      operations:
      - name: getactualcostsinproject
        method: GET
        description: Get Actual Costs In Project
        inputParameters: [{ name: project_id, in: path, type: integer, required: true }]
        outputParameters: [{ name: result, type: array, value: $. }]
      - name: createactualcostinproject
        method: POST
        description: Create Actual Cost In Project
        inputParameters:
        - { name: project_id, in: path, type: integer, required: true }
        - { name: body, in: body, type: object, required: true }
        outputParameters: [{ name: result, type: object, value: $. }]
    authentication:
      type: bearer
      value: '{{env.FIELDWIRE_ACCESS_TOKEN}}'
      placement: header
  exposes:
  - type: rest
    namespace: financials-budget-rest
    port: 8080
    description: REST adapter for Fieldwire Project Budget.
    resources:
    - path: /v1/projects/{project_id}/budget_line_items
      name: project-budget-line-items
      operations:
      - method: GET
        name: getbudgetlineitemsinproject
        call: financials-budget.getbudgetlineitemsinproject
        with: { project_id: rest.path.project_id }
        outputParameters: [{ type: array, mapping: $. }]
      - method: POST
        name: createbudgetlineiteminproject
        call: financials-budget.createbudgetlineiteminproject
        with: { project_id: rest.path.project_id, body: rest.body }
        outputParameters: [{ type: object, mapping: $. }]
    - path: /v1/projects/{project_id}/actual_costs
      name: project-actual-costs
      operations:
      - method: GET
        name: getactualcostsinproject
        call: financials-budget.getactualcostsinproject
        with: { project_id: rest.path.project_id }
        outputParameters: [{ type: array, mapping: $. }]
      - method: POST
        name: createactualcostinproject
        call: financials-budget.createactualcostinproject
        with: { project_id: rest.path.project_id, body: rest.body }
        outputParameters: [{ type: object, mapping: $. }]
  - type: mcp
    namespace: financials-budget-mcp
    port: 9090
    transport: http
    description: MCP adapter for Fieldwire Project Budget.
    tools:
    - name: fieldwire-list-budget-line-items
      description: List budget line items for a Fieldwire project.
      hints: { readOnly: true, destructive: false, idempotent: true }
      call: financials-budget.getbudgetlineitemsinproject
      with: { project_id: tools.project_id }
      outputParameters: [{ type: array, mapping: $. }]
    - name: fieldwire-create-budget-line-item
      description: Add a budget line item to a Fieldwire project.
      hints: { readOnly: false, destructive: false, idempotent: false }
      call: financials-budget.createbudgetlineiteminproject
      with: { project_id: tools.project_id, body: tools.body }
      outputParameters: [{ type: object, mapping: $. }]
    - name: fieldwire-list-actual-costs
      description: List actual costs logged against budget lines.
      hints: { readOnly: true, destructive: false, idempotent: true }
      call: financials-budget.getactualcostsinproject
      with: { project_id: tools.project_id }
      outputParameters: [{ type: array, mapping: $. }]
    - name: fieldwire-create-actual-cost
      description: Log an actual cost against a budget line item.
      hints: { readOnly: false, destructive: false, idempotent: false }
      call: financials-budget.createactualcostinproject
      with: { project_id: tools.project_id, body: tools.body }
      outputParameters: [{ type: object, mapping: $. }]