Fieldwire Form Records API

Captured form responses per project.

OpenAPI Specification

fieldwire-form-records-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Fieldwire Account Actual Costs Form Records API
  description: 'Account-scoped (super) endpoints used to authenticate, exchange the long-lived

    API key (refresh token) for a short-lived JWT access token, and manage

    account-level users, roles, attachments, data types, custom stamps, account

    form templates, and project transfers. All requests target the global super

    host: `https://client-api.super.fieldwire.com`. Project-scoped reads/writes

    use the regional Projects API (`client-api.us.fieldwire.com` or

    `client-api.eu.fieldwire.com`).

    '
  version: v3.1
  contact:
    name: Fieldwire Developer Support
    url: https://developers.fieldwire.com/
  license:
    name: Fieldwire Terms of Service
    url: https://www.fieldwire.com/terms/
servers:
- url: https://client-api.super.fieldwire.com
  description: Global Super Host
security:
- BearerAuth: []
tags:
- name: Form Records
  description: Captured form responses per project.
paths:
  /projects/{project_id}/forms:
    get:
      operationId: getFormsInProject
      summary: Get Forms In Project
      tags:
      - Form Records
      parameters:
      - $ref: '#/components/parameters/ProjectId'
      responses:
        '200':
          description: Form record list.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FormRecord'
    post:
      operationId: createFormInProject
      summary: Create Form In Project
      tags:
      - Form Records
      parameters:
      - $ref: '#/components/parameters/ProjectId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FormRecordCreate'
      responses:
        '201':
          description: Created form record.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FormRecord'
  /projects/{project_id}/forms/{form_id}:
    get:
      operationId: getFormById
      summary: Get Form By ID
      description: Returns the form record with all section records, values, and signatures.
      tags:
      - Form Records
      parameters:
      - $ref: '#/components/parameters/ProjectId'
      - $ref: '#/components/parameters/FormId'
      responses:
        '200':
          description: Form record.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FormRecordFull'
components:
  parameters:
    ProjectId:
      name: project_id
      in: path
      required: true
      schema:
        type: integer
        format: int64
    FormId:
      name: form_id
      in: path
      required: true
      schema:
        type: integer
        format: int64
  schemas:
    FormRecordCreate:
      type: object
      required:
      - form_template_id
      properties:
        form_template_id:
          type: integer
          format: int64
        name:
          type: string
    FormRecord:
      type: object
      properties:
        id:
          type: integer
          format: int64
        project_id:
          type: integer
          format: int64
        form_template_id:
          type: integer
          format: int64
        name:
          type: string
        status:
          type: string
          enum:
          - draft
          - in_review
          - approved
          - rejected
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
    FormRecordFull:
      allOf:
      - $ref: '#/components/schemas/FormRecord'
      - type: object
        properties:
          section_records:
            type: array
            items:
              type: object
              properties:
                id:
                  type: integer
                  format: int64
                section_id:
                  type: integer
                  format: int64
                values:
                  type: array
                  items:
                    type: object
                    properties:
                      input_id:
                        type: integer
                        format: int64
                      value:
                        description: Input value (type depends on input kind).
                        oneOf:
                        - type: string
                        - type: number
                        - type: boolean
                        - type: array
                          items:
                            type: string
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: 'Send the short-lived access token returned by `POST /api_keys/jwt` as

        `Authorization: Bearer <access_token>`. Also include the

        `Fieldwire-Version` request header and `Content-Type: application/json`.

        '