Fieldwire · Capability

Fieldwire RFIs API — RFIs

Requests for Information lifecycle within a Fieldwire project — create, read, update.

Fieldwire RFIs API — RFIs 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, POST, and PATCH methods rooted at /v1/projects/{…}/rfis.

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

Tagged areas include Fieldwire, RFIs, and Construction.

Run with Naftiko FieldwireRFIsConstruction

What You Can Do

GET
Getrfisinproject
/v1/projects/{project_id}/rfis
POST
Createrfiinproject
/v1/projects/{project_id}/rfis
GET
Getrfibyid
/v1/projects/{project_id}/rfis/{rfi_id}
PATCH
Updaterfibyid
/v1/projects/{project_id}/rfis/{rfi_id}

MCP Tools

fieldwire-list-rfis

List Requests for Information in a Fieldwire project.

read-only idempotent
fieldwire-create-rfi

Open a new RFI on a Fieldwire project.

fieldwire-get-rfi

Get a single RFI by ID.

read-only idempotent
fieldwire-update-rfi

Update or answer an RFI on a Fieldwire project.

Capability Spec

rfis-rfis.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Fieldwire RFIs API — RFIs
  description: Requests for Information lifecycle within a Fieldwire project — create, read, update.
  tags: [Fieldwire, RFIs, 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: rfis-rfis
    baseUri: '{{env.FIELDWIRE_REGION_HOST}}'
    description: Fieldwire RFIs business capability.
    resources:
    - name: project-rfis
      path: /api/v3/projects/{project_id}/rfis
      operations:
      - name: getrfisinproject
        method: GET
        description: Get RFIs In Project
        inputParameters: [{ name: project_id, in: path, type: integer, required: true }]
        outputParameters: [{ name: result, type: array, value: $. }]
      - name: createrfiinproject
        method: POST
        description: Create RFI 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-rfi
      path: /api/v3/projects/{project_id}/rfis/{rfi_id}
      operations:
      - name: getrfibyid
        method: GET
        description: Get RFI By ID
        inputParameters:
        - { name: project_id, in: path, type: integer, required: true }
        - { name: rfi_id, in: path, type: integer, required: true }
        outputParameters: [{ name: result, type: object, value: $. }]
      - name: updaterfibyid
        method: PATCH
        description: Update RFI By ID
        inputParameters:
        - { name: project_id, in: path, type: integer, required: true }
        - { name: rfi_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: rfis-rfis-rest
    port: 8080
    description: REST adapter for Fieldwire RFIs.
    resources:
    - path: /v1/projects/{project_id}/rfis
      name: project-rfis
      operations:
      - method: GET
        name: getrfisinproject
        call: rfis-rfis.getrfisinproject
        with: { project_id: rest.path.project_id }
        outputParameters: [{ type: array, mapping: $. }]
      - method: POST
        name: createrfiinproject
        call: rfis-rfis.createrfiinproject
        with: { project_id: rest.path.project_id, body: rest.body }
        outputParameters: [{ type: object, mapping: $. }]
    - path: /v1/projects/{project_id}/rfis/{rfi_id}
      name: project-rfi
      operations:
      - method: GET
        name: getrfibyid
        call: rfis-rfis.getrfibyid
        with: { project_id: rest.path.project_id, rfi_id: rest.path.rfi_id }
        outputParameters: [{ type: object, mapping: $. }]
      - method: PATCH
        name: updaterfibyid
        call: rfis-rfis.updaterfibyid
        with: { project_id: rest.path.project_id, rfi_id: rest.path.rfi_id, body: rest.body }
        outputParameters: [{ type: object, mapping: $. }]
  - type: mcp
    namespace: rfis-rfis-mcp
    port: 9090
    transport: http
    description: MCP adapter for Fieldwire RFIs.
    tools:
    - name: fieldwire-list-rfis
      description: List Requests for Information in a Fieldwire project.
      hints: { readOnly: true, destructive: false, idempotent: true }
      call: rfis-rfis.getrfisinproject
      with: { project_id: tools.project_id }
      outputParameters: [{ type: array, mapping: $. }]
    - name: fieldwire-create-rfi
      description: Open a new RFI on a Fieldwire project.
      hints: { readOnly: false, destructive: false, idempotent: false }
      call: rfis-rfis.createrfiinproject
      with: { project_id: tools.project_id, body: tools.body }
      outputParameters: [{ type: object, mapping: $. }]
    - name: fieldwire-get-rfi
      description: Get a single RFI by ID.
      hints: { readOnly: true, destructive: false, idempotent: true }
      call: rfis-rfis.getrfibyid
      with: { project_id: tools.project_id, rfi_id: tools.rfi_id }
      outputParameters: [{ type: object, mapping: $. }]
    - name: fieldwire-update-rfi
      description: Update or answer an RFI on a Fieldwire project.
      hints: { readOnly: false, destructive: false, idempotent: false }
      call: rfis-rfis.updaterfibyid
      with: { project_id: tools.project_id, rfi_id: tools.rfi_id, body: tools.body }
      outputParameters: [{ type: object, mapping: $. }]