Getting Started

This page will help you get started with Fieldwire. You'll be up and running in a jiffy!

Introduction

Welcome to the Fieldwire API! The same API that powers our highly rated web and mobile apps is available for accessing your projects. Our API uses REST to logically organize data entities into predictable URLs.

Base URL

The Fieldwire API is a group of API endpoints for accessing and interacting with project and account data. The base of URL of the API endpoint depends on whether the resource you'll be accessing is regionalized or not.

Account data is not regionalized and can be accessed using the base url:

https://client-api.super.fieldwire.com/

Project data is regionalized. The base url depends on the region of the project you are trying to access:

  • US projects: https://client-api.us.fieldwire.com/api/v3
  • EU projects: https://client-api.eu.fieldwire.com/api/v3

Sample Apps

Would you like diving into the code & learning from that? Wonderful! We have 2 sample applications that demonstrate these flows: creating a new project, inviting a user, updating after creating a task & finally uploading a plan to the project

Entities Hierarchy

The high-level hierarchy of the Fieldwire entities is as follows:

- Account
  - Project
    - User
    - Floorplan
      - Sheet
        - Attachment
        - Hyperlink
        - Markup
    - Task
      - TaskCheckItem
      - Bubble (comments, photos, files)
    - Form
      - FormSection
        - FormSectionRecord
          - FormSectionRecordInput
          - FormSectionRecordValue
            - FormSectionRecordInputValue

The relationship between these entities is codified by the children carrying the ID of their immediate parents.

πŸ“˜

Note

This list isn't comprehensive & is only meant to give a taste of how the entities are organized. There are more entities & even a few entities present here can take other places in the hierarchy. For example, an Attachment can belong to a Project without being on a Sheet

URL Overview

A vast majority of the entities are scoped to a project and this is reflected in the URLs. There are some cases where we allow further nesting in the URL to facilitate filtering

# Get a project by ID
curl -X GET '/api/v3/projects/{project_id}'

# Get the attachments in a project
curl -X GET '/api/v3/projects/{project_id}/attachments'

# Create a task in a project
curl -X POST '/api/v3/projects/{project_id}/tasks'

# Update a plan markup
curl -X PATCH '/api/v3/projects/{project_id}/markups/{markup_id}'

# For convenience, in addition to project scoped URLs, 
# further scoping is allowed for easier filtering.
# Example: Get the bubbles (comments, photos) in a task
curl -X GET '/api/v3/projects/{project_id}/tasks/{task_id}/bubbles'

More info

The following pages carry more information to help with your API setup:

Errors

The Fieldwire API uses conventional HTTP status codes to indicate success or failure of an API request.

Additionally, if the request fails validation checks errors are returned in the described format.