NAV Navbar
http
  • Introduction
  • Sample Apps
  • Authentication
  • Request Headers
  • Response Headers
  • Syncing Data
  • Common fields
  • Projects
  • Users
  • Teams (Categories)
  • Folders
  • Sheet Uploads
  • Floorplans (Plans)
  • Sheets
  • Post S3 token
  • Tasks
  • Task Check Items
  • Template Checklists
  • Template Check Items
  • Bubbles
  • Bubble Markups
  • Attachments
  • Hyperlinks
  • MultiHyperlinks
  • Automatic Hyperlinks
  • Markups
  • Markup data
  • EntityTags
  • EntityTaggings
  • Errors
  • Introduction

    Welcome to the Fieldwire API! You can use our API to access your Fieldwire projects.

    Sample Apps

    These apps demonstrate some basic API authentication and calls:

    Authentication

    To authorize for viewing and creating projects, use this code:

    GET /projects HTTP/1.1
    Authorization: Token api=[api token]>
    

    To authorize for modifying project and all of its entities, use this code:

    GET /projects/<ProjectID> HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    

    Fieldwire uses API tokens to allow access to the API. You can request a new Fieldwire API token by emailing support.

    Fieldwire expects for the API and project token to be included in all API requests to the server in a header that looks like one of the following:

    Authorization: Token api=[api token]

    Authorization: Token api=[api token],project=[project token]

    Request Headers

    Header Description
    Fieldwire-Per-Page Number of items returned (default: 50, max: 1000)
    Fieldwire-With-Deleted Boolean that determines if deleted entities are returned (default: true)

    Response Headers

    Header Description
    X-Count Number of entities in response
    X-Last-Synced-At Timestamp indicating exactly how up to date the client is after processing/storing these entities (see Syncing Data)
    X-Has-More Boolean indicating if additional entities exist

    Syncing Data

    GET /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/activity HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "users": "2018-04-06T22:43:52.023Z",
        "teams": "2018-03-06T19:06:11.662Z",
        "floorplans": "2017-02-03T20:09:52.829Z",
        "hyperlinks": null,
        "multi_hyperlinks": null,
        "markups": null,
        "attachments": "2018-03-22T22:27:47.878Z",
        "template_checklists": "2018-03-07T23:25:05.438Z",
        "automatic_hyperlinks": null,
        "sheets": "2017-02-03T20:09:52.729Z",
        "attachments_multi_hyperlinks": null,
        "tasks": "2018-04-06T22:12:39.768Z",
        "bubbles": "2018-04-06T22:12:39.736Z",
        "bubble_markups": "2018-04-06T21:38:06.615Z",
        "task_check_items": "2018-04-06T21:52:30.570Z",
        "folders": "2018-03-22T22:27:40.180Z",
        "sheet_uploads": "2017-02-03T20:07:58.156Z",
        "entity_tags": "2018-04-04T17:59:28.203Z",
        "entity_taggings": "2018-04-06T00:31:49.581Z",
        "task_relations": "2018-04-06T21:00:11.932Z",
        "locations": "2018-01-15T22:35:30.876Z",
        "report_templates": "2018-04-02T12:01:10.395Z",
        "data_types": null,
        "data_type_values": null,
        "form_templates": null,
        "form_template_sections": null,
        "form_template_section_records": null,
        "form_template_section_record_inputs": null,
        "form_template_form_statuses": null,
        "forms": null,
        "form_sections": null,
        "form_section_records": null,
        "form_section_record_values": null,
        "form_section_record_inputs": null,
        "form_section_record_input_values": null
    }
    

    Local stored timestamp for floorplans, teams, and users are 2014-08-12T01:28:17.107Z, 2014-08-13T01:28:17.107Z, 2014-08-14T01:28:17.107Z respectively

    GET /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/floorplans?last_synced_at=2014-08-12T01:28:17.107Z HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    
    GET /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/teams?last_synced_at=2014-08-13T01:28:17.107Z HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    
    GET /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/users?last_synced_at=2014-08-14T01:28:17.107Z HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    If you want to retain a synced local copy of your project data you can use a combination of Project Activity and Last Synced At to guarantee correctness while minimizing API requests.

    Steps:

    Common fields

    These fields are shared across entities

    Field Description Type Non-null? Editable? Default
    id The id of the entity UUID x generated
    created_at The time when the server created the entity DateTime x generated
    updated_at The time when the server last updated the entity DateTime x generated
    device_created_at The time when the device created the entity DateTime x x generated
    device_updated_at The time when the device last updated the entity DateTime x x generated
    deleted_at The time the entity was deleted DateTime x
    resolved_conflict Indicates if the PUT/PATCH request was rejected - do not store this field! Boolean false

    Projects

    Project Fields

    Field Description Type Non-null? Editable? Default
    name Name of the project String x x
    address Address of the project String x
    archived_at The time when the project was archived DateTime x
    access_token Token to be used in successive API calls for this project String x generated
    is_email_notifications_enabled If enabled, project members will receive an email notification whenever their tasks are updated Boolean x x true
    currency Currency of project (ISO) String x x USD
    man_power_units Manpower units of project ("man-hours", "man-days", "man-months") String x x man-hours
    tz_name TZ database name String x x America/Los_Angeles
    prompt_effort_on_complete Prompt users to enter manpower and cost when completing tasks Boolean x x false
    logo_url Url of project's logo String x

    Get Projects

    GET /projects HTTP/1.1
    Authorization: Token api=[api token]
    Content-Type: application/json
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    [
        {
            "created_at": "2014-08-15T00:38:29.683Z",
            "updated_at": "2014-08-15T00:38:30.059Z",
            "device_created_at": "2014-08-15T00:38:29.683Z",
            "device_updated_at": "2014-08-15T00:38:29.683Z",
            "resolved_conflict": false,
            "id": "b5c08097-74f1-4a8f-a9a8-52e16295f6a4",
            "name": "Project 1",
            "address": null,
            "archived_at": null,
            "access_token": "e9f50ef0906fce7fa59faa726f66c28a",
            "is_email_notifications_enabled": false,
            "deleted_at": null
        },
        {
            "created_at": "2014-08-15T00:42:36.679Z",
            "updated_at": "2014-08-15T01:24:21.385Z",
            "device_created_at": "2014-08-15T00:42:36.679Z",
            "device_updated_at": "2014-08-15T01:24:21.369Z",
            "resolved_conflict": false,
            "id": "37b9103e-e3eb-438f-8c38-5f2736a952dd",
            "name": "Project 2",
            "address": null,
            "archived_at": null,
            "access_token": "0b6e211576551a82ac1846777cef64d0",
            "is_email_notifications_enabled": false,
            "deleted_at": null
        }
    ]
    

    This endpoint retrieves all projects created by the api token.

    HTTP Request

    GET /projects

    Get Project

    GET /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027 HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "created_at": "2014-04-30T19:02:10.000Z",
        "updated_at": "2014-04-30T19:02:10.000Z",
        "device_created_at": "2014-04-30T19:02:10.000Z",
        "device_updated_at": "2014-04-30T19:02:10.000Z",
        "resolved_conflict": false,
        "id": "aceb1617-2dcf-4b01-a6b1-d8ae02bc3027",
        "name": "Sample project",
        "address": null,
        "archived_at": null,
        "deleted_at": null
    }
    

    This endpoint retrieves a specific project.

    HTTP Request

    GET /projects/<Project ID>

    URL Parameters

    Parameter Description
    Project ID The ID of the project to retrieve activity for

    Get Project Activity

    GET /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/activity HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "users": "2018-04-06T22:43:52.023Z",
        "teams": "2018-03-06T19:06:11.662Z",
        "floorplans": "2017-02-03T20:09:52.829Z",
        "hyperlinks": null,
        "multi_hyperlinks": null,
        "markups": null,
        "attachments": "2018-03-22T22:27:47.878Z",
        "template_checklists": "2018-03-07T23:25:05.438Z",
        "automatic_hyperlinks": null,
        "sheets": "2017-02-03T20:09:52.729Z",
        "attachments_multi_hyperlinks": null,
        "tasks": "2018-04-06T22:12:39.768Z",
        "bubbles": "2018-04-06T22:12:39.736Z",
        "bubble_markups": "2018-04-06T21:38:06.615Z",
        "task_check_items": "2018-04-06T21:52:30.570Z",
        "folders": "2018-03-22T22:27:40.180Z",
        "sheet_uploads": "2017-02-03T20:07:58.156Z",
        "entity_tags": "2018-04-04T17:59:28.203Z",
        "entity_taggings": "2018-04-06T00:31:49.581Z",
        "task_relations": "2018-04-06T21:00:11.932Z",
        "locations": "2018-01-15T22:35:30.876Z",
        "report_templates": "2018-04-02T12:01:10.395Z",
        "data_types": null,
        "data_type_values": null,
        "form_templates": null,
        "form_template_sections": null,
        "form_template_section_records": null,
        "form_template_section_record_inputs": null,
        "form_template_form_statuses": null,
        "forms": null,
        "form_sections": null,
        "form_section_records": null,
        "form_section_record_values": null,
        "form_section_record_inputs": null,
        "form_section_record_input_values": null
    }
    

    This endpoint retrieves a specific project.

    HTTP Request

    GET /projects/<Project ID>/activity

    URL Parameters

    Parameter Description
    Project ID The ID of the project to retrieve

    Post Project

    POST /projects HTTP/1.1
    Authorization: Token api=[api token]>
    Content-type: application/json
    
    { "name": "Project 1" }
    

    The above command returns:

    HTTP/1.1 201 Created
    Content-Type: application/json
    
    {
        "created_at": "2014-08-15T00:38:29.683Z",
        "updated_at": "2014-08-15T00:38:30.059Z",
        "device_created_at": "2014-08-15T00:38:29.683Z",
        "device_updated_at": "2014-08-15T00:38:29.683Z",
        "resolved_conflict": false,
        "id": "b5c08097-74f1-4a8f-a9a8-52e16295f6a4",
        "name": "Project 1",
        "address": null,
        "archived_at": null,
        "access_token": "e9f50ef0906fce7fa59faa726f66c28a",
        "is_email_notifications_enabled": false,
        "deleted_at": null
    }
    

    This endpoint creates a new Project.

    HTTP Request

    POST /projects

    Cloning Projects

    Cloning projects: when creating a project you can automatically re-invite members and/or re-create teams (categories) from an existing project by passing the 'source' parameter

    Clone project request

    {
        "project" : {
            "name": "Cloned Project"
        },
        "source" : {
            "id": "<Project ID to clone>",
            "copy_folders": true,
            "copy_form_templates": true,
            "copy_locations": true,
            "copy_report_templates": true,
            "copy_settings": true,
            "copy_teams": true,
            "copy_template_checklists": true,
            "copy_users": true
        }
    }
    

    Update Project

    PATCH /projects/b5c08097-74f1-4a8f-a9a8-52e16295f6a4 HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    
    { "name": "Updated Project" }
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "created_at": "2014-08-15T00:38:29.683Z",
        "updated_at": "2014-08-15T00:38:30.059Z",
        "device_created_at": "2014-08-15T00:38:29.683Z",
        "device_updated_at": "2014-08-15T00:38:29.683Z",
        "resolved_conflict": false,
        "id": "b5c08097-74f1-4a8f-a9a8-52e16295f6a4",
        "name": "Updated Project",
        "address": null,
        "archived_at": null,
        "access_token": "e9f50ef0906fce7fa59faa726f66c28a",
        "is_email_notifications_enabled": false,
        "deleted_at": null
    }
    

    This endpoint updates a specific Project.

    HTTP Request

    PATCH /projects/<Project ID>

    URL Parameters

    Parameter Description
    Project ID The ID of the project

    Delete Project

    DELETE /projects/b5c08097-74f1-4a8f-a9a8-52e16295f6a4 HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 204 OK
    Content-Type: application/json
    

    This endpoint deletes the project.

    HTTP Request

    DELETE /projects/<Project ID>

    URL Parameters

    Parameter Description
    Project ID The ID of the project

    Users

    User Fields

    Field Description Type Non-null? Editable? Default
    first_name First name of the user String x x
    last_name Last name of the user String x x
    company Company of the user String x x
    phone_number Phone number of the user String x x
    photo_url Photo of the user String x x
    is_approved Indicates if user is approved by an admin on the project Boolean x
    is_confirmed Indicates if an invited user has accepted their invite Boolean x
    user_deleted_at Time when user was removed from project DateTime x
    current_sign_in_at Approximately last time user signed into Fieldwire DateTime x generated
    invited_by_id The user ID that invited this user Integer
    email_notifications Indicates how often the user receives emails ("never", "daily", "instantly"). This overrides any project setting. String x x instantly
    role Indicates user's role on project ("admin", "member", "follower") String x x member
    emails_addresses Contains array of emails with an is_primary indicator Array, string x
    language Two language code of user (ISO) x x en

    Get Users

    GET /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/users HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    [
        {
            "created_at": "2014-02-27T00:00:29.000Z",
            "updated_at": "2014-04-30T19:02:10.000Z",
            "id": 2,
            "first_name": "Bob",
            "last_name": "Super",
            "company": "Fieldwire",
            "phone_number": null,
            "photo_url": null,
            "is_admin": true,
            "is_approved": true,
            "is_confirmed": true,
            "user_blocked_at": null,
            "user_deleted_at": null,
            "current_sign_in_at": null,
            "invited_by_id": null,
            "email_notifications": "instantly",,
            "role": "admin",
            "email_addresses": [
                {
                    "email": "bob@fieldwire.net",
                    "is_primary": true
                }
            ]
        },
        {
            "created_at": "2014-02-27T00:00:30.000Z",
            "updated_at": "2014-04-30T19:02:10.000Z",
            "id": 3,
            "first_name": "James",
            "last_name": "Foreman",
            "company": "Fieldwire",
            "phone_number": null,
            "photo_url": null,
            "is_admin": true,
            "is_approved": true,
            "is_confirmed": true,
            "user_blocked_at": null,
            "user_deleted_at": null,
            "current_sign_in_at": null,
            "invited_by_id": null,
            "email_notifications": "instantly",,
            "role": "admin",
            "email_addresses": [
                {
                    "email": "james@fieldwire.net",
                    "is_primary": true
                }
            ]
        }
    ]
    

    This endpoint retrieves all users.

    HTTP Request

    GET /projects/<Project ID>/users

    URL Parameters

    Parameter Description
    Project ID The ID of the project to retrieve

    Invite Users

    POST /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/users/invite HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    
    { "email": "bob@fieldwire.net,james@fieldwire.net" }
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "success": true,
        "users": [
            {
                "created_at": "2014-01-23T00:32:18.657Z",
                "updated_at": "2014-08-15T21:40:27.273Z",
                "id": 15,
                "first_name": "Bob",
                "last_name": "Super",
                "company": "Fieldwire",
                "phone_number": null,
                "photo_url": null,
                "is_admin": false,
                "is_approved": true,
                "is_confirmed": true,
                "user_blocked_at": null,
                "user_deleted_at": null,
                "current_sign_in_at": null,
                "invited_by_id": null,
                "email_notifications": "instantly",
                "role": "admin",
                "email_addresses": [
                    {
                        "email": "bob@fieldwire.net",
                        "is_primary": true
                    }
                ]
            },
            {
                "created_at": "2014-01-23T00:32:19.354Z",
                "updated_at": "2014-08-15T21:40:27.923Z",
                "id": 16,
                "first_name": "James",
                "last_name": "Foreman",
                "company": "Fieldwire",
                "phone_number": null,
                "photo_url": null,
                "is_admin": false,
                "is_approved": true,
                "is_confirmed": true,
                "user_blocked_at": null,
                "user_deleted_at": null,
                "current_sign_in_at": null,
                "invited_by_id": null,
                "email_notifications": "instantly",
                "role": "admin",
                "email_addresses": [
                    {
                        "email": "james@fieldwire.net",
                        "is_primary": true
                    }
                ]
            }
        ]
    }
    

    This endpoint invites users to your project. If they have a fieldwire account, they will receive an email notification, otherwise they will receive invite instructions to join fieldwire.

    HTTP Request

    POST /projects/<Project ID>/users/invite

    URL Parameters

    Parameter Description
    Project ID The ID of the user's project

    Email

    Can be up to 25 emails separated by commas or semicolons.

    Update User's Role

    PATCH /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/users/15 HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    
    { "role": "admin", "is_approved": true }
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "created_at": "2014-01-23T00:32:18.657Z",
        "updated_at": "2014-08-15T21:40:27.273Z",
        "id": 15,
        "first_name": "Bob",
        "last_name": "Super",
        "company": "Fieldwire",
        "phone_number": null,
        "photo_url": null,
        "is_admin": true,
        "is_approved": true,
        "is_confirmed": true,
        "user_blocked_at": null,
        "user_deleted_at": null,
        "current_sign_in_at": null,
        "invited_by_id": null,
        "email_notifications": "instantly",
        "role": "admin",
        "email_addresses": [
            {
                "email": "bob@fieldwire.net",
                "is_primary": true
            }
        ]
    }
    

    This endpoint will update a user's role and approval status on a project.

    HTTP Request

    PATCH /projects/<Project ID>/users/<User ID>

    URL Parameters

    Parameter Description
    Project ID The ID of the user's project
    User ID The ID of the user

    Update User's Profile

    PATCH /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/users/15/profile HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    
    { "company": "Fieldwire", "phone_number": "(415) 555-5555" }
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "created_at": "2014-01-23T00:32:18.657Z",
        "updated_at": "2014-08-15T22:02:50.404Z",
        "id": 15,
        "first_name": "Bob",
        "last_name": "Super",
        "company": "Fieldwire",
        "phone_number": "(415) 555-5555",
        "photo_url": null,
        "is_admin": false,
        "is_approved": true,
        "is_confirmed": true,
        "user_blocked_at": null,
        "user_deleted_at": null,
        "current_sign_in_at": null,
        "invited_by_id": null,
        "email_notifications": "instantly",
        "role": "admin",
        "email_addresses": [
            {
                "email": "bob@fieldwire.net",
                "is_primary": true
            }
        ]
    }
    

    This endpoint will update a user's role and approval status on a project.

    HTTP Request

    PATCH /projects/<Project ID>/users/<User ID>/profile

    URL Parameters

    Parameter Description
    Project ID The ID of the user's project
    User ID The ID of the user

    Resend Invite

    POST /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/users/15/reinvite HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    

    This endpoint will resend an invite email to user if they haven't joined Fieldwire yet.

    HTTP Request

    POST /projects/<Project ID>/users/<User ID>/reinvite

    URL Parameters

    Parameter Description
    Project ID The ID of the user's project
    User ID The ID of the user

    Delete User

    DELETE /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/users/15 HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 204 OK
    Content-Type: application/json
    

    This endpoint removes a user from the project.

    HTTP Request

    DELETE /projects/<Project ID>/users/<User ID>

    URL Parameters

    Parameter Description
    Project ID The ID of the user's project
    User ID The ID of the user to retrieve

    Teams (Categories)

    Team Fields

    Field Description Type Non-null? Editable? Default
    project_id Project ID task belongs to UUID x
    name Name of the team String x x
    handle Autogenerated two letter handle of the team String x x generated

    Get Teams

    GET /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/teams HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    [
        {
            "created_at": "2014-04-30T19:02:10.000Z",
            "updated_at": "2014-04-30T19:02:10.000Z",
            "device_created_at": "2014-04-30T19:02:10.000Z",
            "device_updated_at": "2014-04-30T19:02:10.000Z",
            "resolved_conflict": false,
            "id": "fa1fe4df-39ad-42e6-b11a-af7f2b97cf75",
            "name": "Safety",
            "handle": "SA",
            "project_id": "aceb1617-2dcf-4b01-a6b1-d8ae02bc3027",
            "deleted_at": null
        },
        {
            "created_at": "2014-04-30T19:02:10.000Z",
            "updated_at": "2014-04-30T19:02:10.000Z",
            "device_created_at": "2014-04-30T19:02:10.000Z",
            "device_updated_at": "2014-04-30T19:02:10.000Z",
            "resolved_conflict": false,
            "id": "85d48a03-c192-4963-89f3-571352e0a402",
            "name": "Tutorial",
            "handle": "TU",
            "project_id": "aceb1617-2dcf-4b01-a6b1-d8ae02bc3027",
            "deleted_at": null
        }
    ]
    

    This endpoint retrieves all teams.

    HTTP Request

    GET /projects/<Project ID>/teams

    URL Parameters

    Parameter Description
    Project ID The ID of the project to retrieve

    Get Team

    GET /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/teams/fa1fe4df-39ad-42e6-b11a-af7f2b97cf75 HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "created_at": "2014-04-30T19:02:10.000Z",
        "updated_at": "2014-04-30T19:02:10.000Z",
        "device_created_at": "2014-04-30T19:02:10.000Z",
        "device_updated_at": "2014-04-30T19:02:10.000Z",
        "resolved_conflict": false,
        "id": "fa1fe4df-39ad-42e6-b11a-af7f2b97cf75",
        "name": "Safety",
        "handle": "SA",
        "project_id": "aceb1617-2dcf-4b01-a6b1-d8ae02bc3027",
        "deleted_at": null
    }
    

    This endpoint retrieves a specific team.

    HTTP Request

    GET /projects/<Project ID>/teams/<Team ID>

    URL Parameters

    Parameter Description
    Project ID The ID of the team's project
    Team ID The ID of the team to retrieve

    Post Team

    POST /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/teams HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    
    { "name": "Carpenter" }
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "created_at": "2014-04-30T19:02:13.000Z",
        "updated_at": "2014-04-30T19:02:13.000Z",
        "device_created_at": "2014-04-30T19:02:13.000Z",
        "device_updated_at": "2014-04-30T19:02:13.000Z",
        "resolved_conflict": false,
        "id": "45d03dc5-f096-4c89-9fe4-e70a2a528a73",
        "name": "Carpenter",
        "handle": "CA",
        "project_id": "aceb1617-2dcf-4b01-a6b1-d8ae02bc3027",
        "deleted_at": null
    }
    

    This endpoint creates a new team.

    HTTP Request

    POST /projects/<Project ID>/teams

    URL Parameters

    Parameter Description
    Project ID The ID of the team's project

    Update Team

    PATCH /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/teams/45d03dc5-f096-4c89-9fe4-e70a2a528a73 HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    
    { "name": "Electrical" }
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "created_at": "2014-04-30T19:02:13.000Z",
        "updated_at": "2014-04-30T19:02:13.000Z",
        "device_created_at": "2014-04-30T19:02:13.000Z",
        "device_updated_at": "2014-04-30T19:02:13.000Z",
        "resolved_conflict": false,
        "id": "45d03dc5-f096-4c89-9fe4-e70a2a528a73",
        "name": "Electrical",
        "handle": "EL",
        "project_id": "aceb1617-2dcf-4b01-a6b1-d8ae02bc3027",
        "deleted_at": null
    }
    

    This endpoint updates a specific team.

    HTTP Request

    PATCH /projects/<Project ID>/teams/<Team ID>

    URL Parameters

    Parameter Description
    Project ID The ID of the team's project
    Team ID The ID of the team to retrieve

    Delete Team

    DELETE /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/teams/75d68ca1-0fc1-456a-bd9d-8b23875ac540 HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 204 OK
    Content-Type: application/json
    

    This endpoint deletes a team.

    HTTP Request

    DELETE /projects/<Project ID>/teams/<Team ID>

    URL Parameters

    Parameter Description
    Project ID The ID of the team's project
    Team ID The ID of the team to retrieve

    Folders

    Folder Fields

    Field Description Type Non-null? Editable? Default
    project_id Project ID folder belongs to UUID x
    name Name of the folder UUID x x

    Get Folders

    GET /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/folders HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    [
        {
            "created_at": "2014-06-17T00:40:11.000Z",
            "updated_at": "2014-06-17T00:40:11.000Z",
            "device_created_at": "2014-06-17T00:40:11.000Z",
            "device_updated_at": "2014-06-17T00:40:11.000Z",
            "resolved_conflict": false,
            "id": "d426dce3-1b5f-446c-9ba2-7fd8e5781db5",
            "project_id": "aceb1617-2dcf-4b01-a6b1-d8ae02bc3027",
            "name": "Folder 1",
            "deleted_at": null
        },
        {
            "created_at": "2014-06-17T00:44:18.000Z",
            "updated_at": "2014-06-17T00:44:18.000Z",
            "device_created_at": "2014-06-17T00:44:18.000Z",
            "device_updated_at": "2014-06-17T00:44:18.000Z",
            "resolved_conflict": false,
            "id": "8c0c87d3-603a-4dd5-ac64-f11dd3ac2cf9",
            "project_id": "aceb1617-2dcf-4b01-a6b1-d8ae02bc3027",
            "name": "Folder 2",
            "deleted_at": null
        }
    ]
    

    This endpoint retrieves all folders.

    HTTP Request

    GET /projects/<Project ID>/folders

    URL Parameters

    Parameter Description
    Project ID The ID of the project to retrieve

    Get Folder

    GET /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/folders/d426dce3-1b5f-446c-9ba2-7fd8e5781db5 HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "created_at": "2014-06-17T00:40:11.000Z",
        "updated_at": "2014-06-17T00:40:11.000Z",
        "device_created_at": "2014-06-17T00:40:11.000Z",
        "device_updated_at": "2014-06-17T00:40:11.000Z",
        "resolved_conflict": false,
        "id": "d426dce3-1b5f-446c-9ba2-7fd8e5781db5",
        "project_id": "aceb1617-2dcf-4b01-a6b1-d8ae02bc3027",
        "name": "Folder 1",
        "deleted_at": null
    }
    

    This endpoint retrieves a specific team.

    HTTP Request

    GET /projects/<Project ID>/folders/<Folder ID>

    URL Parameters

    Parameter Description
    Project ID The ID of the team's project
    Folder ID The ID of the team to retrieve

    Post Folder

    POST /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/folders HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    
    { "name": "folder 1" }
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "created_at": "2014-06-17T00:40:11.000Z",
        "updated_at": "2014-06-17T00:40:11.000Z",
        "device_created_at": "2014-06-17T00:40:11.000Z",
        "device_updated_at": "2014-06-17T00:40:11.000Z",
        "resolved_conflict": false,
        "id": "d426dce3-1b5f-446c-9ba2-7fd8e5781db5",
        "project_id": "aceb1617-2dcf-4b01-a6b1-d8ae02bc3027",
        "name": "Folder 1",
        "deleted_at": null
    }
    

    This endpoint creates a new folder.

    HTTP Request

    POST /projects/<Project ID>/folders

    URL Parameters

    Parameter Description
    Project ID The ID of the folder's project

    Update Folder

    PATCH /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/folders/92371c34-4393-4a72-ab5e-5dd9b17c0f00 HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    
    { "name": "updated folder" }
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "created_at": "2014-06-17T00:40:11.000Z",
        "updated_at": "2014-06-17T00:40:11.000Z",
        "device_created_at": "2014-06-17T00:40:11.000Z",
        "device_updated_at": "2014-06-17T00:40:11.000Z",
        "resolved_conflict": false,
        "id": "d426dce3-1b5f-446c-9ba2-7fd8e5781db5",
        "project_id": "aceb1617-2dcf-4b01-a6b1-d8ae02bc3027",
        "name": "updated folder",
        "deleted_at": null
    }
    

    This endpoint updates a specific folder.

    HTTP Request

    PATCH /projects/<Project ID>/folders/<Folder ID>

    URL Parameters

    Parameter Description
    Project ID The ID of the folder's project
    Folder ID The ID of the folder to retrieve

    Delete Folder

    DELETE /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/folders/75d68ca1-0fc1-456a-bd9d-8b23875ac540 HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 204 OK
    Content-Type: application/json
    

    This endpoint deletes a folder.

    HTTP Request

    DELETE /projects/<Project ID>/folders/<Folder ID>

    URL Parameters

    Parameter Description
    Project ID The ID of the folder's project
    Folder ID The ID of the folder to retrieve

    Sheet Uploads

    Sheet Upload Fields

    Field Description Type Non-null? Editable? Default
    project_id Project ID sheet_uploads belongs to UUID x
    name Name of the sheet String x x
    file_url Url of the sheet String x x
    file_size Size of the sheet String x
    user_id User that uploaded sheet Integer x generated
    is_processed Indicated if sheet upload is finished processing Boolean x x false
    pages Number of pages in upload Integer x generated
    folder_id ID of the folder the sheet upload was added to UUID x

    Get Sheet Uploads

    GET /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/sheet_uploads HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    [
        {
            "created_at": "2014-08-26T00:18:17.000Z",
            "updated_at": "2014-08-26T00:18:22.000Z",
            "id": "51af34a9-b8fc-477d-907d-0b9064120b88",
            "name": "Single.pdf",
            "file_url": "https://example.com/Single.pdf",
            "file_size": "2244590",
            "user_id": 1,
            "is_processed": true,
            "pages": 1
        },
        {
            "created_at": "2014-08-26T00:20:00.000Z",
            "updated_at": "2014-08-26T00:20:10.000Z",
            "id": "701f69be-02bb-4786-ab48-be0d993bf2a5",
            "name": "Multipage.pdf",
            "file_url": "https://example.com/.pdf",
            "file_size": "5584913",
            "user_id": 1,
            "is_processed": true,
            "pages": 3
        }
    ]
    

    This endpoint retrieves all sheet_uploads.

    HTTP Request

    GET /projects/<Project ID>/sheet_uploads

    URL Parameters

    Parameter Description
    Project ID The ID of the project to retrieve

    Get Sheet Upload

    GET /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/sheet_uploads/51af34a9-b8fc-477d-907d-0b9064120b88 HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "created_at": "2014-08-26T00:18:17.000Z",
        "updated_at": "2014-08-26T00:18:22.000Z",
        "id": "51af34a9-b8fc-477d-907d-0b9064120b88",
        "name": "Single.pdf",
        "file_url": "https://example.com/Single.pdf",
        "file_size": "2244590",
        "user_id": 1,
        "is_processed": true,
        "pages": 1
    }
    

    This endpoint retrieves a specific sheet_upload.

    HTTP Request

    GET /projects/<Project ID>/sheet_uploads/<Sheet Upload ID>

    URL Parameters

    Parameter Description
    Project ID The ID of the sheet_upload's project
    Sheet Upload ID The ID of the sheet_upload to retrieve

    Post Sheet Upload

    POST /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/sheet_uploads HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    
    {
        "name": "Single.pdf",
        "file_url": "https://example.com/Single.pdf",
        "file_size": "2244590",
        "user_id": 1
    }
    

    The above command returns:

    HTTP/1.1 201 Created
    Content-Type: application/json
    
    {
        "created_at": "2014-08-26T00:18:17.000Z",
        "updated_at": "2014-08-26T00:18:22.000Z",
        "id": "51af34a9-b8fc-477d-907d-0b9064120b88",
        "name": "Single.pdf",
        "file_url": "https://example.com/Single.pdf",
        "file_size": "2244590",
        "user_id": 1,
        "is_processed": true,
        "pages": 1
    }
    

    This endpoint creates a new sheet_upload.

    HTTP Request

    POST /projects/<Project ID>/sheet_uploads

    URL Parameters

    Parameter Description
    Project ID The ID of the sheet_upload's project

    Update Sheet Upload

    PATCH /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/sheet_uploads/51af34a9-b8fc-477d-907d-0b9064120b88 HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    
    { "is_processed": "true" }
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "created_at": "2014-08-26T00:18:17.000Z",
        "updated_at": "2014-08-26T00:18:22.000Z",
        "id": "51af34a9-b8fc-477d-907d-0b9064120b88",
        "name": "Single.pdf",
        "file_url": "https://example.com/Single.pdf",
        "file_size": "2244590",
        "user_id": 1,
        "is_processed": true,
        "pages": 1
    }
    

    This endpoint updates a specific sheet upload.

    HTTP Request

    PATCH /projects/<Project ID>/sheet_uploads/<Sheet Upload ID>

    URL Parameters

    Parameter Description
    Project ID The ID of the sheet upload's project
    Sheet Upload ID The ID of the sheet upload to retrieve

    Managing Sheet Uploads

    Floorplans (Plans)

    Floorplan Fields

    Field Description Type Non-null? Editable? Default
    project_id Project ID floorplan belongs to UUID x
    name Name of the floorplan String x x
    description Description of the floorplan String x
    is_auto_versioning Indicates if the floorplan has automatic versioning Boolean x false
    is_user_confirmed Indicates if the floorplan was autonamed and requires the user to confirm Boolean x x false
    is_name_confirmed Indicates if the floorplan was autonamed and conflicts with an existing floorplan Boolean x x true
    is_ocr_processing Indicates if the floorplan ocr is still pending Boolean x false
    folder_id Folder ID floorplan belongs to UUID x
    sheets Sheets Array, JSON x [ ]

    Get Floorplans

    GET /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/floorplans HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    [
        {
            "created_at": "2014-04-30T19:02:13.000Z",
            "updated_at": "2014-04-30T19:02:13.000Z",
            "id": "d94f128b-d5a0-4325-95d8-32457af9ab3b",
            "name": "Harrison Ceiling",
            "project_id": "aceb1617-2dcf-4b01-a6b1-d8ae02bc3027",
            "is_auto_versioning": false,
            "deleted_at": null,
            "sheets": [
                {
                    "created_at": "2014-08-15T22:23:18.995Z",
                    "updated_at": "2014-08-15T22:24:08.743Z",
                    "id": "9f5ab19a-5813-47a9-a767-7319a4171c52",
                    "name": "plan1.png",
                    "file_name": "plan1.png",
                    "version": 1,
                    "file_url": "plan1.jpeg",
                    "thumb_url": "plan-thumb.jpeg",
                    "is_tiled": true,
                    "floorplan_id": "9af615e2-c091-4235-ae8a-b94c73b8e4ca",
                    "file_width": 2364,
                    "file_height": 1689,
                    "original_width": 4662,
                    "original_height": 3330,
                    "has_conflicts": false,
                    "has_errors": false,
                    "tile_size": 493,
                    "name_crop_url": null,
                    "user_id": 95,
                    "page_number": null,
                    "project_id": "37b9103e-e3eb-438f-8c38-5f2736a952dd",
                    "android_file_url": "plan1-android.jpeg",
                    "android_file_width": 2048,
                    "android_file_height": 1463,
                    "sheet_upload_id": null,
                    "deleted_at": null
                }
            ]
        },
        {
            "created_at": "2014-04-30T19:02:13.000Z",
            "updated_at": "2014-04-30T19:02:13.000Z",
            "id": "272d5ecf-3821-4a32-9891-b215573383f2",
            "name": "Harrison Floor",
            "project_id": "aceb1617-2dcf-4b01-a6b1-d8ae02bc3027",
            "is_auto_versioning": false,
            "deleted_at": null,
            "sheets": [
                {
                    "created_at": "2014-08-15T22:23:18.995Z",
                    "updated_at": "2014-08-15T22:24:08.743Z",
                    "id": "9f5ab19a-5813-47a9-a767-7319a4171c52",
                    "name": "plan2.png",
                    "file_name": "plan2.png",
                    "version": 1,
                    "file_url": "plan2.jpeg",
                    "thumb_url": "plan-thumb.jpeg",
                    "is_tiled": true,
                    "floorplan_id": "9af615e2-c091-4235-ae8a-b94c73b8e4ca",
                    "file_width": 2364,
                    "file_height": 1689,
                    "original_width": 4662,
                    "original_height": 3330,
                    "has_conflicts": false,
                    "has_errors": false,
                    "tile_size": 493,
                    "name_crop_url": null,
                    "user_id": 95,
                    "page_number": null,
                    "project_id": "37b9103e-e3eb-438f-8c38-5f2736a952dd",
                    "android_file_url": "plan2-android.jpeg",
                    "android_file_width": 2048,
                    "android_file_height": 1463,
                    "sheet_upload_id": null,
                    "deleted_at": null
                }
            ]
        }
    ]
    

    This endpoint retrieves all floorplans.

    HTTP Request

    GET /projects/<Project ID>/floorplans

    URL Parameters

    Parameter Description
    Project ID The ID of the project to retrieve

    Get Floorplan

    GET /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/floorplans/d94f128b-d5a0-4325-95d8-32457af9ab3b HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "created_at": "2014-04-30T19:02:13.000Z",
        "updated_at": "2014-04-30T19:02:13.000Z",
        "id": "d94f128b-d5a0-4325-95d8-32457af9ab3b",
        "name": "Harrison Ceiling",
        "project_id": "aceb1617-2dcf-4b01-a6b1-d8ae02bc3027",
        "is_auto_versioning": false,
        "deleted_at": null,
        "sheets": [
            {
                "created_at": "2014-08-15T22:23:18.995Z",
                "updated_at": "2014-08-15T22:24:08.743Z",
                "id": "9f5ab19a-5813-47a9-a767-7319a4171c52",
                "name": "plan1.png",
                "file_name": "plan1.png",
                "version": 1,
                "file_url": "plan1.jpeg",
                "thumb_url": "plan-thumb.jpeg",
                "is_tiled": true,
                "floorplan_id": "9af615e2-c091-4235-ae8a-b94c73b8e4ca",
                "file_width": 2364,
                "file_height": 1689,
                "original_width": 4662,
                "original_height": 3330,
                "has_conflicts": false,
                "has_errors": false,
                "tile_size": 493,
                "name_crop_url": null,
                "user_id": 95,
                "page_number": null,
                "project_id": "37b9103e-e3eb-438f-8c38-5f2736a952dd",
                "android_file_url": "plan1-android.jpeg",
                "android_file_width": 2048,
                "android_file_height": 1463,
                "sheet_upload_id": null,
                "deleted_at": null
            }
        ]
    }
    

    This endpoint retrieves a specific floorplan.

    HTTP Request

    GET /projects/<Project ID>/floorplans/<Floorplan ID>

    URL Parameters

    Parameter Description
    Project ID The ID of the floorplan's project
    Floorplan ID The ID of the floorplan to retrieve

    Creating Floorplans

    Update Floorplan

    PATCH /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/floorplans/9af615e2-c091-4235-ae8a-b94c73b8e4ca HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    
    { "floorplan": { "name": "Updated name" } }
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "created_at": "2014-08-15T22:23:18.934Z",
        "updated_at": "2014-08-15T22:50:45.777Z",
        "id": "9af615e2-c091-4235-ae8a-b94c73b8e4ca",
        "name": "Updated name",
        "project_id": "37b9103e-e3eb-438f-8c38-5f2736a952dd",
        "is_auto_versioning": false,
        "deleted_at": null,
        "sheets": []
    }
    

    This endpoint updates a floorplan.

    HTTP Request

    PATCH /projects/<Project ID>/floorplans/<Floorplan ID>

    URL Parameters

    Parameter Description
    Project ID The ID of the floorplan's project
    Floorplan ID The ID of the floorplan

    Add Sheet

    PATCH /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/floorplans/75d68ca1-0fc1-456a-bd9d-8b23875ac540 HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    
    { "sheets": [ { "name": "A1.12-V2.png", "original_url": "https://example.com/A1.12-V2.png" } ] }
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "created_at": "2014-08-15T22:23:18.934Z",
        "updated_at": "2014-08-15T22:24:08.746Z",
        "id": "9af615e2-c091-4235-ae8a-b94c73b8e4ca",
        "name": "A1.12",
        "project_id": "37b9103e-e3eb-438f-8c38-5f2736a952dd",
        "is_auto_versioning": false,
        "deleted_at": null,
        "sheets": [
            {
                "created_at": "2014-08-15T22:23:18.995Z",
                "updated_at": "2014-08-15T22:24:08.743Z",
                "id": "9f5ab19a-5813-47a9-a767-7319a4171c52",
                "name": "A1.12.png",
                "file_name": "A1.12.png",
                "version": 1,
                "file_url": "plan.jpeg",
                "thumb_url": "plan-thumb.jpeg",
                "is_tiled": true,
                "floorplan_id": "9af615e2-c091-4235-ae8a-b94c73b8e4ca",
                "file_width": 2364,
                "file_height": 1689,
                "original_width": 4662,
                "original_height": 3330,
                "has_conflicts": false,
                "has_errors": false,
                "tile_size": 493,
                "name_crop_url": null,
                "user_id": 95,
                "page_number": null,
                "project_id": "37b9103e-e3eb-438f-8c38-5f2736a952dd",
                "android_file_url": "plan-android.jpeg",
                "android_file_width": 2048,
                "android_file_height": 1463,
                "sheet_upload_id": null,
                "deleted_at": null
            }
        ]
    }
    

    This endpoint adds a new sheet version to the floorplan.

    HTTP Request

    PATCH /projects/<Project ID>/floorplans/<Floorplan ID>

    URL Parameters

    Parameter Description
    Project ID The ID of the floorplan's project
    Floorplan ID The ID of the floorplan

    Sheet Parameters

    Parameter Description
    name Sheet file name
    original_url Public url of sheet

    Rotate Sheet

    PUT /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/floorplans/9af615e2-c091-4235-ae8a-b94c73b8e4ca/rotate HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    
    { "rotate_degrees": 180 }
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "created_at": "2014-08-15T22:23:18.934Z",
        "updated_at": "2014-08-15T22:50:45.777Z",
        "id": "9af615e2-c091-4235-ae8a-b94c73b8e4ca",
        "name": "Updated name",
        "project_id": "37b9103e-e3eb-438f-8c38-5f2736a952dd",
        "is_auto_versioning": false,
        "deleted_at": null,
        "sheets": []
    }
    

    This endpoint creates a new rotated sheet based off of the current sheet version of the floorplan.

    HTTP Request

    PUT /projects/<Project ID>/floorplans/<Floorplan ID>

    URL Parameters

    Parameter Description
    Project ID The ID of the floorplan's project
    Floorplan ID The ID of the floorplan

    Delete Floorplan

    DELETE /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/floorplans/75d68ca1-0fc1-456a-bd9d-8b23875ac540 HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 204 OK
    Content-Type: application/json
    

    This endpoint deletes a floorplan.

    HTTP Request

    DELETE /projects/<Project ID>/floorplans/<Floorplan ID>

    URL Parameters

    Parameter Description
    Project ID The ID of the floorplan's project
    Floorplan ID The ID of the floorplan to retrieve

    Sheets

    Sheet Fields

    Field Description Type Non-null? Editable? Default
    project_id Project ID sheet belongs to UUID x
    floorplan_id Floorplan ID sheet belongs to UUID x
    name Name of the sheet String x generated
    file_name File name of sheet String x generated
    version Version of the sheet Integer x x generated
    file_url Url of the low resolution floorplan String generated
    thumb_url Url of the floorplan thumb String generated
    is_tiled Indicates if floorplan is tiled. Boolean generated
    file_width Width of the resized floorplan Integer generated
    file_height Height of the resized floorplan Integer generated
    original_width Width of the original floorplan Integer generated
    original_height Height of the original floorplan Integer generated
    has_conflicts Indicates if this version conflicts with the previous versions Boolean x x generated
    has_errors Indicates if this version had errors processing Boolean x generated
    tile_size Tile size of the floorplan if tiled Integer generated
    name_crop_url Url of plan corner (used to identify plan name) String generated
    user_id User ID of sheet creator Integer generated
    page_number Page number of sheet if created from multi-page PDF Integer generated
    android_file_url Url of the low resolution floorplan (used on Android devices with max resolution 2048) String generated
    android_file_width Width of the android file_url Integer generated
    android_file_height Height of the android file_url Integer generated
    sheet_upload_id ID of the Sheet Upload that created this sheet UUID x
    inches_per_pixel User calibrated conversion from pixels to inches Integer x
    version_description User defined name of sheet version String x generated
    version_notes User defined notes of sheet version String x generated
    tiles_package_url Url of zip archive containing all tiles String generated

    Get Sheets

    GET /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/sheets HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    [
      {
          "created_at": "2014-08-15T22:23:18.995Z",
          "updated_at": "2014-08-15T22:24:08.743Z",
          "id": "9f5ab19a-5813-47a9-a767-7319a4171c52",
          "name": "plan1.png",
          "file_name": "plan1.png",
          "version": 1,
          "file_url": "plan1.jpeg",
          "thumb_url": "plan-thumb.jpeg",
          "is_tiled": true,
          "floorplan_id": "9af615e2-c091-4235-ae8a-b94c73b8e4ca",
          "file_width": 2364,
          "file_height": 1689,
          "original_width": 4662,
          "original_height": 3330,
          "has_conflicts": false,
          "has_errors": false,
          "tile_size": 493,
          "name_crop_url": null,
          "user_id": 95,
          "page_number": null,
          "project_id": "37b9103e-e3eb-438f-8c38-5f2736a952dd",
          "android_file_url": "plan1-android.jpeg",
          "android_file_width": 2048,
          "android_file_height": 1463,
          "sheet_upload_id": null,
          "deleted_at": null
      },
      {
          "created_at": "2014-08-15T22:23:18.995Z",
          "updated_at": "2014-08-15T22:24:08.743Z",
          "id": "9f5ab19a-5813-47a9-a767-7319a4171c52",
          "name": "plan2.png",
          "file_name": "plan2.png",
          "version": 1,
          "file_url": "plan2.jpeg",
          "thumb_url": "plan-thumb.jpeg",
          "is_tiled": true,
          "floorplan_id": "9af615e2-c091-4235-ae8a-b94c73b8e4ca",
          "file_width": 2364,
          "file_height": 1689,
          "original_width": 4662,
          "original_height": 3330,
          "has_conflicts": false,
          "has_errors": false,
          "tile_size": 493,
          "name_crop_url": null,
          "user_id": 95,
          "page_number": null,
          "project_id": "37b9103e-e3eb-438f-8c38-5f2736a952dd",
          "android_file_url": "plan2-android.jpeg",
          "android_file_width": 2048,
          "android_file_height": 1463,
          "sheet_upload_id": null,
          "deleted_at": null
      }
    ]
    

    This endpoint retrieves all sheets.

    HTTP Request

    GET /projects/<Project ID>/sheets

    URL Parameters

    Parameter Description
    Project ID The ID of the project to retrieve

    Resolve Conflict

    PATCH /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/sheets/9f5ab19a-5813-47a9-a767-7319a4171c52 HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    
    { "sheet": { "has_conflicts": false } }
    

    The above command returns:

    HTTP/1.1 204 OK
    Content-Type: application/json
    
    

    This endpoint resolves a sheet conflict. Any tasks, markups, and hyperlinks will automatically be positioned and migrated to the resolved sheet.

    HTTP Request

    PATCH /projects/<Project ID>/sheets/<Sheet ID>

    URL Parameters

    Parameter Description
    Project ID The ID of the sheet's project
    Sheet ID The ID of the sheet

    Delete Sheet

    DELETE /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/sheets/75d68ca1-0fc1-456a-bd9d-8b23875ac540 HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 204 OK
    Content-Type: application/json
    

    This endpoint deletes a sheet.

    HTTP Request

    DELETE /projects/<Project ID>/sheets/<Sheet ID>

    URL Parameters

    Parameter Description
    Project ID The ID of the sheet's project
    Sheet ID The ID of the sheet to retrieve

    Post S3 token

    Post S3 tokens purpose

    The storage used by Fieldwire, Amazon S3, allow user to directly post files to it, without having to go through Fieldwire server.

    https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-UsingHTTPPOST.html

    The post S3 token contains all the information you need to use this functionnality and has a 1 day expiry. After receiving one, you simply have to create a POST request that contains all the fields of the post S3 token, and add a "file" field with your file content and send it directly to aws (to the post_address contained in the token)

    The only action you can do on Fieldwire api with post S3 token is to request one.

    It is highly recommended to look at the two demo client applications :

    Which both contains an example of post S3 token usage.

    Post S3 token field

    Field Description Type Non-null? Editable? Default
    post_address The url where to send the request String x
    post_parameters The input to include in the POST request JSON x

    The post_parameters included are :

    All of them are string-type and must be sent as they were received to AWS post service. The post_address is the url of the AWS post service itself.

    Create Post S3 Token

    POST /aws_post_tokens HTTP/1.1
    Authorization: Token api=[api token]>
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "post_address": "http://example.s3.amazonaws.com",
        "post_parameters": 
        {
            "key": "example/bbef5b6b9e00e19eaa94d81323280238_${filename}", 
            "policy": "eyJleHBpcmF0aW9uIjoiMjAxOC0wNy0wNlQxMTowMjozNVoiLCJjb25kaXRpb25zIjpbeyJidWNrZXQiOiJuaWNvbGFzLWZ3LWRldmVsb3BtZW50In0sWyJzdGFydHMtd2l0aCIsIiRrZXkiLCI2Yjg2YjI3M2ZmMzRmY2UxOWQ2YjgwNGVmZjVhM2Y1Ny9iYmVmNWI2YjllMDBlMTllYWE5NGQ4MTMyMzI4MDIzOCJdLFsiY29udGVudC1sZW5ndGgtcmFuZ2UiLDAsMTA0ODU3NjAwMF0seyJ4LWFtei1kYXRlIjotY3JlZGVudGlhbCI6IkFLSUFJWEhURVpPWVRRUlUzToiMjAxODA3MDVUMTEwMjM1WiJ9LHsieC1hbXEJBLzIwMTgwNzA1L3VzLWVhc3QtMS9zMy9hd3M0X3JlcXVlc3QifSx7ImFjbCI6InB1YmxpYy1yZWFkIn0seyJ4LWFtei1hbGdvcml0aG0iOiJBV1M0LUhNQUMtU0hBMjU2In1dfQ==",
            "x-amz-signature": "63d932252334c0c888561bb2c86412d1f2faf3c15842dd8af6ff022ec95201c2", 
            "x-amz-date": "20180705T110235Z", 
            "x-amz-credential": "EXAMPLE/20180705/us-east-1/s3/aws4_request", 
            "acl": "public-read", 
            "x-amz-algorithm": "AWS4-HMAC-SHA256"
        }
    }
    

    HTTP Request

    POST /aws_post_tokens

    Post file to AWS S3 using token

    POST http://example.s3.amazonaws.com HTTP/1.1
    Content-type: multipart/form-data
    
    {
        "key": "example/bbef5b6b9e00e19eaa94d81323280238_${filename}", 
        "policy": "eyJleHBpcmF0aW9uIjoiMjAxOC0wNy0wNlQxMTowMjozNVoiLCJjb25kaXRpb25zIjpbeyJidWNrZXQiOiJuaWNvbGFzLWZ3LWRldmVsb3BtZW50In0sWyJzdGFydHMtd2l0aCIsIiRrZXkiLCI2Yjg2YjI3M2ZmMzRmY2UxOWQ2YjgwNGVmZjVhM2Y1Ny9iYmVmNWI2YjllMDBlMTllYWE5NGQ4MTMyMzI4MDIzOCJdLFsiY29udGVudC1sZW5ndGgtcmFuZ2UiLDAsMTA0ODU3NjAwMF0seyJ4LWFtei1kYXRlIjotY3JlZGVudGlhbCI6IkFLSUFJWEhURVpPWVRRUlUzToiMjAxODA3MDVUMTEwMjM1WiJ9LHsieC1hbXEJBLzIwMTgwNzA1L3VzLWVhc3QtMS9zMy9hd3M0X3JlcXVlc3QifSx7ImFjbCI6InB1YmxpYy1yZWFkIn0seyJ4LWFtei1hbGdvcml0aG0iOiJBV1M0LUhNQUMtU0hBMjU2In1dfQ==",
        "x-amz-signature": "63d932252334c0c888561bb2c86412d1f2faf3c15842dd8af6ff022ec95201c2", 
        "x-amz-date": "20180705T110235Z", 
        "x-amz-credential": "EXAMPLE/20180705/us-east-1/s3/aws4_request", 
        "acl": "public-read", 
        "x-amz-algorithm": "AWS4-HMAC-SHA256",
        "file": "example file content"
    }
    

    The above command returns:

    HTTP/1.1 200 OK
    

    HTTP Request

    POST http://example.s3.amazonaws.com

    You might receive the following error codes :

    Tasks

    Task Fields

    Field Description Type Non-null? Editable? Default
    project_id Project ID task belongs to UUID x
    team_id Team ID task belongs to UUID x
    floorplan_id Floorplan ID task belongs to UUID x
    name Name of the task String x x
    priority Priority of the task (1, 2, 3) Integer x x 2
    pos_x Horizontal pixels (from left of floorplan) of task pin's point Integer x
    pos_y Vertical pixels (from top of floorplan) of task pin's point Integer x
    verified_at Time when task was verified DateTime x
    fixed_at Time when task was fixed DateTime x
    owner_user_id User ID of task's owner Integer x x
    is_local Indicates if task is positioned on floorplan Boolean x x false
    due_date Date when task is to be completed by Date x
    sequence_number Unique sequential identifier of task on project Integer x generated
    user_ids Array of User IDs that are following this task Array, integer, x generated
    tags Array of strings of all tags on this task's bubbles Array, string x generated
    cost_value Cost of completing task Integer x
    man_power_value Manpower of completing task Integer x

    Get Tasks

    GET /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/tasks HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    [
        {
            "created_at": "2014-04-30T19:02:13.000Z",
            "updated_at": "2014-04-30T19:02:13.000Z",
            "device_created_at": "2014-04-30T19:02:13.000Z",
            "device_updated_at": "2014-04-30T19:02:13.000Z",
            "resolved_conflict": false,
            "id": "dc381268-b8c2-4ad2-ad91-03e1ef99da55",
            "name": "Web List View",
            "priority": 1,
            "pos_x": 0,
            "pos_y": 0,
            "pos_z": 0,
            "verified_at": null,
            "fixed_at": null,
            "project_id": "aceb1617-2dcf-4b01-a6b1-d8ae02bc3027",
            "floorplan_id": null,
            "team_id": "85d48a03-c192-4963-89f3-571352e0a402",
            "owner_user_id": 1,
            "is_local": false,
            "start_at": null,
            "due_at": null,
            "sequence_number": 13,
            "is_private": false,
            "deleted_at": null,
            "user_ids": [],
            "tags": []
        },
        {
            "created_at": "2014-04-30T19:02:13.000Z",
            "updated_at": "2014-04-30T19:02:13.000Z",
            "device_created_at": "2014-04-30T19:02:13.000Z",
            "device_updated_at": "2014-04-30T19:02:13.000Z",
            "resolved_conflict": false,
            "id": "29ca4ad0-a413-48aa-b8b8-28242d3cc205",
            "name": "Panels are chipped.",
            "priority": 2,
            "pos_x": 652,
            "pos_y": 73,
            "pos_z": 0,
            "verified_at": null,
            "fixed_at": null,
            "project_id": "aceb1617-2dcf-4b01-a6b1-d8ae02bc3027",
            "floorplan_id": "d94f128b-d5a0-4325-95d8-32457af9ab3b",
            "team_id": "0bee6768-3948-4765-9087-dc86cabd41d6",
            "owner_user_id": 2,
            "is_local": true,
            "start_at": null,
            "due_at": null,
            "sequence_number": 14,
            "is_private": false,
            "deleted_at": null,
            "user_ids": [],
            "tags": []
        }
    ]
    

    This endpoint retrieves all tasks.

    HTTP Request

    GET /projects/<Project ID>/tasks

    URL Parameters

    Parameter Description
    Project ID The ID of the project to retrieve

    Get Task

    GET /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/tasks/29ca4ad0-a413-48aa-b8b8-28242d3cc205 HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "created_at": "2014-04-30T19:02:13.000Z",
        "updated_at": "2014-04-30T19:02:13.000Z",
        "device_created_at": "2014-04-30T19:02:13.000Z",
        "device_updated_at": "2014-04-30T19:02:13.000Z",
        "resolved_conflict": false,
        "id": "29ca4ad0-a413-48aa-b8b8-28242d3cc205",
        "name": "Panels are chipped.",
        "priority": 2,
        "pos_x": 652,
        "pos_y": 73,
        "pos_z": 0,
        "verified_at": null,
        "fixed_at": null,
        "project_id": "aceb1617-2dcf-4b01-a6b1-d8ae02bc3027",
        "floorplan_id": "d94f128b-d5a0-4325-95d8-32457af9ab3b",
        "task_id": "0bee6768-3948-4765-9087-dc86cabd41d6",
        "owner_user_id": 2,
        "is_local": true,
        "start_at": null,
        "due_at": null,
        "sequence_number": 14,
        "is_private": false,
        "deleted_at": null,
        "user_ids": [],
        "tags": []
    }
    

    This endpoint retrieves a specific task.

    HTTP Request

    GET /projects/<Project ID>/tasks/<Task ID>

    URL Parameters

    Parameter Description
    Project ID The ID of the task's project
    Task ID The ID of the task to retrieve

    Post Task

    POST /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/tasks HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    
    {
        "name": "Light socket under 2nd diffuser not getting power",
        "priority": 2,
        "pos_x": 1071,
        "pos_y": 457,
        "floorplan_id": "d94f128b-d5a0-4325-95d8-32457af9ab3b",
        "team_id": "3919a956-6f5b-4a25-abd8-eefa81378ef0",
        "owner_user_id": 2
    }
    

    The above command returns:

    HTTP/1.1 201 Created
    Content-Type: application/json
    
    {
        "created_at": "2014-04-30T19:02:14.000Z",
        "updated_at": "2014-04-30T19:02:14.000Z",
        "device_created_at": "2014-04-30T19:02:14.000Z",
        "device_updated_at": "2014-04-30T19:02:14.000Z",
        "resolved_conflict": false,
        "id": "75d68ca1-0fc1-456a-bd9d-8b23875ac540",
        "name": "Light socket under 2nd diffuser not getting power",
        "priority": 2,
        "pos_x": 1071,
        "pos_y": 457,
        "pos_z": 0,
        "verified_at": null,
        "fixed_at": null,
        "project_id": "aceb1617-2dcf-4b01-a6b1-d8ae02bc3027",
        "floorplan_id": "d94f128b-d5a0-4325-95d8-32457af9ab3b",
        "team_id": "3919a956-6f5b-4a25-abd8-eefa81378ef0",
        "owner_user_id": 2,
        "is_local": true,
        "start_at": null,
        "due_at": null,
        "sequence_number": 16,
        "is_private": false,
        "deleted_at": null,
        "user_ids": [],
        "tags": []
    }
    

    This endpoint creates a new task.

    HTTP Request

    POST /projects/<Project ID>/tasks

    URL Parameters

    Parameter Description
    Project ID The ID of the task's project

    Update Task

    PATCH /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/tasks/75d68ca1-0fc1-456a-bd9d-8b23875ac540 HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    
    { "verified_at": "2014-04-30T19:02:14.000Z", "fixed_at": "2014-04-30T19:02:14.000Z" }
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "created_at": "2014-04-30T19:02:14.000Z",
        "updated_at": "2014-04-30T19:02:14.000Z",
        "device_created_at": "2014-04-30T19:02:14.000Z",
        "device_updated_at": "2014-04-30T19:02:14.000Z",
        "resolved_conflict": false,
        "id": "75d68ca1-0fc1-456a-bd9d-8b23875ac540",
        "name": "Light socket under 2nd diffuser not getting power",
        "priority": 2,
        "pos_x": 1071,
        "pos_y": 457,
        "pos_z": 0,
        "verified_at": "2014-04-30T19:02:14.000Z",
        "fixed_at": "2014-04-30T19:02:14.000Z",
        "project_id": "aceb1617-2dcf-4b01-a6b1-d8ae02bc3027",
        "floorplan_id": "d94f128b-d5a0-4325-95d8-32457af9ab3b",
        "team_id": "3919a956-6f5b-4a25-abd8-eefa81378ef0",
        "owner_user_id": 2,
        "is_local": true,
        "start_at": null,
        "due_at": null,
        "sequence_number": 16,
        "is_private": false,
        "deleted_at": null,
        "user_ids": [],
        "tags": []
    }
    

    This endpoint updates a specific task.

    HTTP Request

    PATCH /projects/<Project ID>/tasks/<Task ID>

    URL Parameters

    Parameter Description
    Project ID The ID of the task's project
    Task ID The ID of the task to retrieve

    Delete Task

    DELETE /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/tasks/75d68ca1-0fc1-456a-bd9d-8b23875ac540 HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 204 OK
    Content-Type: application/json
    

    This endpoint deletes the task.

    HTTP Request

    DELETE /projects/<Project ID>/tasks/<Task ID>

    URL Parameters

    Parameter Description
    Project ID The ID of the task's project
    Task ID The ID of the task to retrieve

    Task Check Items

    TaskCheckItem Fields

    Field Description Type Non-null? Editable? Default
    project_id Project ID the task_check_item belongs to UUID x
    task_id Task ID the task_check_item belongs to UUID x
    name Name of task_check_item String x x
    checked Status of task_check_item (true = yes, false = no, null = not set) Boolean x
    creator_user_id User ID of the task_check_item's creator Integer x generated
    last_editor_user_id User ID of the task_check_item's last editor Integer x generated

    Get TaskCheckItems

    GET /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/task_check_items HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    [
        {
            "created_at": "2014-07-02T02:22:44.000Z",
            "updated_at": "2014-07-02T02:22:44.000Z",
            "device_created_at": "2014-07-02T02:22:44.000Z",
            "device_updated_at": "2014-07-02T02:22:44.000Z",
            "resolved_conflict": false,
            "id": "65ed52b4-52ac-42d8-9cd3-deeb2e4f196e",
            "project_id": "ae786b3e-4773-4840-a22e-a20027f00787",
            "task_id": "a5299a37-fe29-4f38-8aca-488680048a85",
            "creator_user_id": 1,
            "last_editor_user_id": 1,
            "name": "First",
            "checked": null,
            "deleted_at": null
        },
        {
            "created_at": "2014-07-02T02:22:44.000Z",
            "updated_at": "2014-07-02T02:22:44.000Z",
            "device_created_at": "2014-07-02T02:22:44.000Z",
            "device_updated_at": "2014-07-02T02:22:44.000Z",
            "resolved_conflict": false,
            "id": "9d2ccc75-d432-4a26-ae99-90b4f70c112c",
            "project_id": "ae786b3e-4773-4840-a22e-a20027f00787",
            "task_id": "a5299a37-fe29-4f38-8aca-488680048a85",
            "creator_user_id": 1,
            "last_editor_user_id": 1,
            "name": "Second",
            "checked": null,
            "deleted_at": null
        }
    ]
    

    This endpoint retrieves all task_check_items.

    HTTP Requests

    GET /projects/<Project ID>/task_check_items

    GET /projects/<Project ID>/tasks/<Task ID>/task_check_items

    URL Parameters

    Parameter Description
    Project ID The ID of the project to retrieve
    Task ID The ID of the task to retrieve

    Get TaskCheckItem

    GET /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/task_check_items/29ca4ad0-a413-48aa-b8b8-28242d3cc205 HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "created_at": "2014-07-02T02:22:44.000Z",
        "updated_at": "2014-07-02T02:22:44.000Z",
        "device_created_at": "2014-07-02T02:22:44.000Z",
        "device_updated_at": "2014-07-02T02:22:44.000Z",
        "resolved_conflict": false,
        "id": "65ed52b4-52ac-42d8-9cd3-deeb2e4f196e",
        "project_id": "ae786b3e-4773-4840-a22e-a20027f00787",
        "task_id": "a5299a37-fe29-4f38-8aca-488680048a85",
        "creator_user_id": 1,
        "last_editor_user_id": 1,
        "name": "First",
        "checked": null,
        "deleted_at": null
    }
    

    This endpoint retrieves a specific task_check_item.

    HTTP Request

    GET /projects/<Project ID>/task_check_items/<TaskCheckItem ID>

    URL Parameters

    Parameter Description
    Project ID The ID of the task_check_item's project
    TaskCheckItem ID The ID of the task_check_item to retrieve

    Post TaskCheckItem

    POST /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/tasks/75b86f78-0a94-42ea-9d58-a0f8fb5ed4bb/task_check_items HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    
    {
        "name": "Step 1: Fix"
    }
    

    The above command returns:

    HTTP/1.1 201 Created
    Content-Type: application/json
    
    {
        "created_at": "2014-07-02T02:22:44.000Z",
        "updated_at": "2014-07-02T02:22:44.000Z",
        "device_created_at": "2014-07-02T02:22:44.000Z",
        "device_updated_at": "2014-07-02T02:22:44.000Z",
        "resolved_conflict": false,
        "id": "65ed52b4-52ac-42d8-9cd3-deeb2e4f196e",
        "project_id": "ae786b3e-4773-4840-a22e-a20027f00787",
        "task_id": "a5299a37-fe29-4f38-8aca-488680048a85",
        "creator_user_id": 1,
        "last_editor_user_id": 1,
        "name": "First",
        "checked": null,
        "deleted_at": null
    }
    

    This endpoint creates a new task_check_item.

    HTTP Request

    POST /projects/<Project ID>/tasks/<Task ID>/task_check_items

    URL Parameters

    Parameter Description
    Project ID The ID of the task_check_item's project
    Task ID The ID of the task_check_item's task

    Batch TaskCheckItem

    POST /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/tasks/75b86f78-0a94-42ea-9d58-a0f8fb5ed4bb/task_check_items/batch HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    
    { "template_checklist_id" : "aba2c9a1-da23-4e6d-a9b0-c20b8497a942" }
    

    The above command returns:

    HTTP/1.1 201 Created
    Content-Type: application/json
    
    [
        {
            "created_at": "2014-07-02T02:22:44.000Z",
            "updated_at": "2014-07-02T02:22:44.000Z",
            "device_created_at": "2014-07-02T02:22:44.000Z",
            "device_updated_at": "2014-07-02T02:22:44.000Z",
            "resolved_conflict": false,
            "id": "65ed52b4-52ac-42d8-9cd3-deeb2e4f196e",
            "project_id": "ae786b3e-4773-4840-a22e-a20027f00787",
            "task_id": "a5299a37-fe29-4f38-8aca-488680048a85",
            "creator_user_id": 1,
            "last_editor_user_id": 1,
            "name": "First",
            "checked": null,
            "deleted_at": null
        },
        {
            "created_at": "2014-07-02T02:22:44.000Z",
            "updated_at": "2014-07-02T02:22:44.000Z",
            "device_created_at": "2014-07-02T02:22:44.000Z",
            "device_updated_at": "2014-07-02T02:22:44.000Z",
            "resolved_conflict": false,
            "id": "9d2ccc75-d432-4a26-ae99-90b4f70c112c",
            "project_id": "ae786b3e-4773-4840-a22e-a20027f00787",
            "task_id": "a5299a37-fe29-4f38-8aca-488680048a85",
            "creator_user_id": 1,
            "last_editor_user_id": 1,
            "name": "Second",
            "checked": null,
            "deleted_at": null
        }
    ]
    

    This endpoint creates new task_check_items from a template_checklist.

    HTTP Request

    POST /projects/<Project ID>/tasks/<Task ID>/task_check_items/batch

    URL Parameters

    Parameter Description
    Project ID The ID of the task_check_item's project
    Task ID The ID of the task_check_item's task

    Body Parameters

    Parameter Description
    TemplateChecklist ID The ID of the template checklist to create items from

    Update TaskCheckItem

    PATCH /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/task_check_items/75d68ca1-0fc1-456a-bd9d-8b23875ac540 HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    
    { "checked": true }
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "created_at": "2014-07-02T02:22:44.000Z",
        "updated_at": "2014-07-02T02:22:44.000Z",
        "device_created_at": "2014-07-02T02:22:44.000Z",
        "device_updated_at": "2014-07-02T02:22:44.000Z",
        "resolved_conflict": false,
        "id": "65ed52b4-52ac-42d8-9cd3-deeb2e4f196e",
        "project_id": "ae786b3e-4773-4840-a22e-a20027f00787",
        "task_id": "a5299a37-fe29-4f38-8aca-488680048a85",
        "creator_user_id": 1,
        "last_editor_user_id": 1,
        "name": "First",
        "checked": true,
        "deleted_at": null
    }
    

    This endpoint updates a specific task_check_item.

    HTTP Request

    PATCH /projects/<Project ID>/task_check_items/<TaskCheckItem ID>

    URL Parameters

    Parameter Description
    Project ID The ID of the task_check_item's project
    TaskCheckItem ID The ID of the task_check_item to retrieve

    Template Checklists

    TemplateChecklist Fields

    Field Description Type Non-null? Editable? Default
    project_id Project ID the template_checklist belongs to UUID x
    name Name of template_checklist String x x
    template_check_items Array of template_check_items

    Get TemplateChecklists

    GET /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/template_checklists HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    [
        {
            "created_at": "2014-07-08T23:45:19.000Z",
            "updated_at": "2014-07-08T23:47:22.000Z",
            "device_created_at": "2014-07-08T23:45:19.000Z",
            "device_updated_at": "2014-07-08T23:47:22.000Z",
            "resolved_conflict": false,
            "id": "aba2c9a1-da23-4e6d-a9b0-c20b8497a942",
            "name": "Template 1",
            "project_id": "aceb1617-2dcf-4b01-a6b1-d8ae02bc3027",
            "deleted_at": null,
            "template_check_items": [
                {
                    "created_at": "2014-07-08T23:45:22.000Z",
                    "updated_at": "2014-07-08T23:45:22.000Z",
                    "device_created_at": "2014-07-08T23:45:22.000Z",
                    "device_updated_at": "2014-07-08T23:45:22.000Z",
                    "resolved_conflict": false,
                    "id": "a71a2d49-6a5e-4a9a-81dd-1f463a95e52b",
                    "name": "first",
                    "deleted_at": null
                },
                {
                    "created_at": "2014-07-08T23:45:24.000Z",
                    "updated_at": "2014-07-08T23:45:24.000Z",
                    "device_created_at": "2014-07-08T23:45:24.000Z",
                    "device_updated_at": "2014-07-08T23:45:24.000Z",
                    "resolved_conflict": false,
                    "id": "fa6ff0d1-a066-4560-a73a-e55600a6f7a7",
                    "name": "second",
                    "deleted_at": null
                }
            ]
        },
        {
            "created_at": "2014-07-08T23:48:45.000Z",
            "updated_at": "2014-07-08T23:48:51.000Z",
            "device_created_at": "2014-07-08T23:48:45.000Z",
            "device_updated_at": "2014-07-08T23:48:51.000Z",
            "resolved_conflict": false,
            "id": "ebe0f608-7e89-4301-bb13-ffd9db05d60c",
            "name": "Template 2",
            "project_id": "aceb1617-2dcf-4b01-a6b1-d8ae02bc3027",
            "deleted_at": null,
            "template_check_items": []
        }
    ]
    

    This endpoint retrieves all template_checklists.

    HTTP Requests

    GET /projects/<Project ID>/template_checklists

    URL Parameters

    Parameter Description
    Project ID The ID of the project to retrieve

    Get TemplateChecklist

    GET /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/template_checklists/29ca4ad0-a413-48aa-b8b8-28242d3cc205 HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "created_at": "2014-07-08T23:48:45.000Z",
        "updated_at": "2014-07-08T23:48:51.000Z",
        "device_created_at": "2014-07-08T23:48:45.000Z",
        "device_updated_at": "2014-07-08T23:48:51.000Z",
        "resolved_conflict": false,
        "id": "ebe0f608-7e89-4301-bb13-ffd9db05d60c",
        "name": "Template 2",
        "project_id": "aceb1617-2dcf-4b01-a6b1-d8ae02bc3027",
        "deleted_at": null,
        "template_check_items": []
    }
    

    This endpoint retrieves a specific template_checklist.

    HTTP Request

    GET /projects/<Project ID>/template_checklists/<TemplateChecklist ID>

    URL Parameters

    Parameter Description
    Project ID The ID of the template_checklist's project
    TemplateChecklist ID The ID of the template_checklist to retrieve

    Post TemplateChecklist

    POST /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/template_checklists HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    
    { "name": "Template 2" }
    

    The above command returns:

    HTTP/1.1 201 Created
    Content-Type: application/json
    
    {
        "created_at": "2014-07-08T23:48:45.000Z",
        "updated_at": "2014-07-08T23:48:51.000Z",
        "device_created_at": "2014-07-08T23:48:45.000Z",
        "device_updated_at": "2014-07-08T23:48:51.000Z",
        "resolved_conflict": false,
        "id": "ebe0f608-7e89-4301-bb13-ffd9db05d60c",
        "name": "Template 2",
        "project_id": "aceb1617-2dcf-4b01-a6b1-d8ae02bc3027",
        "deleted_at": null,
        "template_check_items": []
    }
    

    This endpoint creates a new template_checklist.

    HTTP Request

    POST /projects/<Project ID>/template_checklists

    URL Parameters

    Parameter Description
    Project ID The ID of the template_checklist's project

    Update TemplateChecklist

    PATCH /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/template_checklists/75d68ca1-0fc1-456a-bd9d-8b23875ac540 HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    
    { "name": "Updated template" }
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "created_at": "2014-07-08T23:48:45.000Z",
        "updated_at": "2014-07-08T23:48:51.000Z",
        "device_created_at": "2014-07-08T23:48:45.000Z",
        "device_updated_at": "2014-07-08T23:48:51.000Z",
        "resolved_conflict": false,
        "id": "ebe0f608-7e89-4301-bb13-ffd9db05d60c",
        "name": "Updated Template",
        "project_id": "aceb1617-2dcf-4b01-a6b1-d8ae02bc3027",
        "deleted_at": null,
        "template_check_items": []
    }
    

    This endpoint updates a specific template_checklist.

    HTTP Request

    PATCH /projects/<Project ID>/template_checklists/<TemplateChecklist ID>

    URL Parameters

    Parameter Description
    Project ID The ID of the template_checklist's project
    TemplateChecklist ID The ID of the template_checklist to retrieve

    Delete TemplateChecklist

    DELETE /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/template_checklists/75d68ca1-0fc1-456a-bd9d-8b23875ac540 HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 204 OK
    Content-Type: application/json
    

    This endpoint deletes the template_checklist.

    HTTP Request

    DELETE /projects/<Project ID>/template_checklists/<TemplateChecklist ID>

    URL Parameters

    Parameter Description
    Project ID The ID of the template_checklist's project
    TemplateChecklist ID The ID of the template_checklist to retrieve

    Template Check Items

    TemplateCheckItem Fields

    Field Description Type Non-null? Editable? Default
    project_id Project ID the template_check_item belongs to UUID x
    name Name of template_check_item String x x

    Post TemplateCheckItem

    POST /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/template_checklists/be0f608-7e89-4301-bb13-ffd9db05d60c/template_check_items HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    
    { "name": "First" }
    

    The above command returns:

    HTTP/1.1 201 Created
    Content-Type: application/json
    
    {
        "created_at": "2014-07-08T23:45:22.000Z",
        "updated_at": "2014-07-08T23:45:22.000Z",
        "device_created_at": "2014-07-08T23:45:22.000Z",
        "device_updated_at": "2014-07-08T23:45:22.000Z",
        "resolved_conflict": false,
        "id": "a71a2d49-6a5e-4a9a-81dd-1f463a95e52b",
        "name": "First",
        "deleted_at": null
    }
    

    This endpoint creates a new template_check_item.

    HTTP Request

    POST /projects/<Project ID>/template_checklists/<TemplateChecklist ID>/template_check_items

    URL Parameters

    Parameter Description
    Project ID The ID of the template_check_item's project
    TemplateCheckListId The ID of the template_check_item's template_checklist

    Update TemplateCheckItem

    PATCH /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/template_check_items/75d68ca1-0fc1-456a-bd9d-8b23875ac540 HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    
    { "name": "Updated item" }
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "created_at": "2014-07-08T23:45:22.000Z",
        "updated_at": "2014-07-08T23:45:22.000Z",
        "device_created_at": "2014-07-08T23:45:22.000Z",
        "device_updated_at": "2014-07-08T23:45:22.000Z",
        "resolved_conflict": false,
        "id": "a71a2d49-6a5e-4a9a-81dd-1f463a95e52b",
        "name": "Updated item",
        "deleted_at": null
    }
    

    This endpoint updates a specific template_check_item.

    HTTP Request

    PATCH /projects/<Project ID>/template_check_items/<TemplateCheckItem ID>

    URL Parameters

    Parameter Description
    Project ID The ID of the template_check_item's project
    TemplateCheckItem ID The ID of the template_check_item to retrieve

    Delete TemplateCheckItem

    DELETE /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/template_check_items/75d68ca1-0fc1-456a-bd9d-8b23875ac540 HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 204 OK
    Content-Type: application/json
    

    This endpoint deletes the template_check_item.

    HTTP Request

    DELETE /projects/<Project ID>/template_check_items/<TemplateCheckItem ID>

    URL Parameters

    Parameter Description
    Project ID The ID of the template_check_item's project
    TemplateCheckItem ID The ID of the template_check_item to retrieve

    Bubbles

    Bubble Fields

    Field Description Type Non-null? Editable? Default
    task_id Task ID the bubble belongs to UUID x
    content Text content of bubble String x
    kind Enumeration of bubble (see below) Integer x x 1
    file_url Url of photo or attachment String x
    flattened_file_url Url of photo with annotation String x
    thumb_url Url of photo thumb String x
    user_id User ID that created bubble Integer x generated
    tags Array of strings of all tags on this bubble's bubbles Array, string x x [ ]

    Bubble Kinds

    Kind Description
    1 Text (has content)
    2 Log (has content)
    10 Photo (has file_url and thumb_url)
    11 Photo with annotations (has flattened_file_url, file_url and thumb_url)
    12 Drawing with annotations (has flattened_file_url, file_url and thumb_url)
    20 Attachment (has content and file_url)

    Get Bubbles

    GET /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/bubbles HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    [
        {
            "created_at": "2014-04-30T19:02:13.000Z",
            "updated_at": "2014-04-30T19:02:13.000Z",
            "device_created_at": "2014-04-30T19:02:13.000Z",
            "device_updated_at": "2014-04-30T19:02:13.000Z",
            "resolved_conflict": false,
            "id": "1cddce9f-a0be-4021-a005-c0195ba2442d",
            "content": "#rfi_41",
            "annotations": null,
            "kind": 1,
            "file_url": null,
            "flattened_file_url": null,
            "thumb_url": null,
            "task_id": "75b86f78-0a94-42ea-9d58-a0f8fb5ed4bb",
            "user_id": 2,
            "deleted_at": null,
            "tags": [
                "rfi_41"
            ]
        },
        {
            "created_at": "2014-04-30T19:02:14.000Z",
            "updated_at": "2014-04-30T19:02:14.000Z",
            "device_created_at": "2014-04-30T19:02:14.000Z",
            "device_updated_at": "2014-04-30T19:02:14.000Z",
            "resolved_conflict": false,
            "id": "aa2a8c87-7bfd-484d-ba40-aa16a9006219",
            "content": null,
            "annotations": null,
            "kind": 11,
            "file_url": "5f4d0626dd16584e1e661601661724ce.jpeg",
            "flattened_file_url": null,
            "thumb_url": "973e7fc42967f2e582ca7ddfba2dfe16.jpeg",
            "task_id": "75b86f78-0a94-42ea-9d58-a0f8fb5ed4bb",
            "user_id": 2,
            "deleted_at": null,
            "tags": []
        }
    ]
    

    This endpoint retrieves all bubbles.

    HTTP Requests

    GET /projects/<Project ID>/bubbles

    GET /projects/<Project ID>/tasks/<Task ID>/bubbles

    URL Parameters

    Parameter Description
    Project ID The ID of the project to retrieve
    Task ID The ID of the task to retrieve

    Get Bubble

    GET /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/bubbles/29ca4ad0-a413-48aa-b8b8-28242d3cc205 HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "created_at": "2014-04-30T19:02:13.000Z",
        "updated_at": "2014-04-30T19:02:13.000Z",
        "device_created_at": "2014-04-30T19:02:13.000Z",
        "device_updated_at": "2014-04-30T19:02:13.000Z",
        "resolved_conflict": false,
        "id": "1cddce9f-a0be-4021-a005-c0195ba2442d",
        "content": "#rfi_41",
        "annotations": null,
        "kind": 1,
        "file_url": null,
        "flattened_file_url": null,
        "thumb_url": null,
        "task_id": "75b86f78-0a94-42ea-9d58-a0f8fb5ed4bb",
        "user_id": 2,
        "deleted_at": null,
        "tags": [
            "rfi_41"
        ]
    }
    

    This endpoint retrieves a specific bubble.

    HTTP Request

    GET /projects/<Project ID>/bubbles/<Bubble ID>

    URL Parameters

    Parameter Description
    Project ID The ID of the bubble's project
    Bubble ID The ID of the bubble to retrieve

    Post Bubble

    POST /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/tasks/75b86f78-0a94-42ea-9d58-a0f8fb5ed4bb/bubbles HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    
    {
        "content": "Check the spec for specific details on soffit install",
        "kind": 1,
        "user_id": 3
    }
    

    The above command returns:

    HTTP/1.1 201 Created
    Content-Type: application/json
    
    {
        "created_at": "2014-04-30T19:02:14.000Z",
        "updated_at": "2014-04-30T19:02:14.000Z",
        "device_created_at": "2014-04-30T19:02:14.000Z",
        "device_updated_at": "2014-04-30T19:02:14.000Z",
        "resolved_conflict": false,
        "id": "c743a741-a3e9-4c62-bfe1-03a38425cb49",
        "content": "Check the spec for specific details on soffit install",
        "annotations": null,
        "kind": 1,
        "file_url": null,
        "flattened_file_url": null,
        "thumb_url": null,
        "task_id": "75b86f78-0a94-42ea-9d58-a0f8fb5ed4bb",
        "user_id": 3,
        "deleted_at": null,
        "tags": []
    }
    

    This endpoint creates a new bubble.

    HTTP Request

    POST /projects/<Project ID>/tasks/<Task ID>/bubbles

    URL Parameters

    Parameter Description
    Project ID The ID of the bubble's project
    Task ID The ID of the bubble's task

    Update Bubble

    PATCH /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/bubbles/75d68ca1-0fc1-456a-bd9d-8b23875ac540 HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    
    { "content": "Spec not available. Check with foreman." }
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "created_at": "2014-04-30T19:02:14.000Z",
        "updated_at": "2014-04-30T19:02:14.000Z",
        "device_created_at": "2014-04-30T19:02:14.000Z",
        "device_updated_at": "2014-04-30T19:02:14.000Z",
        "resolved_conflict": false,
        "id": "c743a741-a3e9-4c62-bfe1-03a38425cb49",
        "content": "Spec not available. Check with foreman.",
        "annotations": null,
        "kind": 1,
        "file_url": null,
        "flattened_file_url": null,
        "thumb_url": null,
        "task_id": "75b86f78-0a94-42ea-9d58-a0f8fb5ed4bb",
        "user_id": 3,
        "deleted_at": null,
        "tags": []
    }
    

    This endpoint updates a specific bubble.

    HTTP Request

    PATCH /projects/<Project ID>/bubbles/<Bubble ID>

    URL Parameters

    Parameter Description
    Project ID The ID of the bubble's project
    Bubble ID The ID of the bubble to retrieve

    Delete Bubble

    DELETE /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/bubbles/75d68ca1-0fc1-456a-bd9d-8b23875ac540 HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 204 OK
    Content-Type: application/json
    

    This endpoint deletes the bubble.

    HTTP Request

    DELETE /projects/<Project ID>/bubbles/<Bubble ID>

    URL Parameters

    Parameter Description
    Project ID The ID of the bubble's project
    Bubble ID The ID of the bubble to retrieve

    Bubble Markups

    BubbleMarkup Fields

    Field Description Type Non-null? Editable? Default
    bubble_id The ID of the bubble the markup belongs to UUID x
    data GeoJSON of markup JSON x x

    Get BubbleMarkups

    GET /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/bubble_markups HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    [
      {
        "created_at": "2014-08-08T00:37:22.000Z",
        "updated_at": "2014-08-08T00:37:22.000Z",
        "device_created_at": "2014-08-08T00:37:22.000Z",
        "device_updated_at": "2014-08-08T00:37:22.000Z",
        "resolved_conflict": false,
        "id": "bd6054a2-a6b3-47ce-a6f4-47310086cd01",
        "bubble_id": "641c82f4-7129-45d3-af14-53656231eb4f",
        "data": {
          "type": "Feature",
          "properties": {
            "style": "text",
            "color": "#FF0000",
            "description": "text",
            "fontSize": 96
          },
          "geometry": {
            "type": "Polygon",
            "coordinates": [[152,98],[342,98],[342,229],[152,229]]
          }
        },
        "deleted_at": null
      },
      {
        "created_at": "2014-08-08T00:37:30.000Z",
        "updated_at": "2014-08-08T00:37:30.000Z",
        "device_created_at": "2014-08-08T00:37:30.000Z",
        "device_updated_at": "2014-08-08T00:37:30.000Z",
        "resolved_conflict": false,
        "id": "acc544c6-c7f8-443e-8a1b-e8f9776717f4",
        "bubble_id": "641c82f4-7129-45d3-af14-53656231eb4f",
        "data": {
          "type": "Feature",
          "properties": {
            "style": "drawing",
            "color": "#FF0000",
            "width": 40
          },
          "geometry": {
            "type": "LineString",
            "coordinates": [[563,374],[563,373] ...... [565,380],[563,380]]
          }
        },
        "deleted_at": null
      },
      {
        "created_at": "2014-08-08T00:37:33.000Z",
        "updated_at": "2014-08-08T00:37:33.000Z",
        "device_created_at": "2014-08-08T00:37:33.000Z",
        "device_updated_at": "2014-08-08T00:37:33.000Z",
        "resolved_conflict": false,
        "id": "7682aff0-b968-4cdd-9fb8-3911edc9e928",
        "bubble_id": "641c82f4-7129-45d3-af14-53656231eb4f",
        "data": {
          "type": "Feature",
          "properties": {
            "style": "rectangle",
            "color": "#FF0000",
            "width": 10
          },
          "geometry": {
            "type": "Polygon",
            "coordinates": [[362,62],[590,62],[590,244],[362,244]]
          }
        },
        "deleted_at": null
      },
      {
        "created_at": "2014-08-08T00:37:39.000Z",
        "updated_at": "2014-08-08T00:37:39.000Z",
        "device_created_at": "2014-08-08T00:37:39.000Z",
        "device_updated_at": "2014-08-08T00:37:39.000Z",
        "resolved_conflict": false,
        "id": "4aa59365-9a8e-4d0d-a3de-fdea137deff9",
        "bubble_id": "641c82f4-7129-45d3-af14-53656231eb4f",
        "data": {
          "type": "Feature",
          "properties": {
            "style": "arrow",
            "color": "#FF0000",
            "width": 5
          },
          "geometry": {
            "type": "LineString",
            "coordinates": [[56,399],[326,272]]
          }
        },
        "deleted_at": null
      }
    ]
    

    This endpoint retrieves all bubble_markups.

    HTTP Requests

    GET /projects/<Project ID>/bubble_markups

    URL Parameters

    Parameter Description
    Project ID The ID of the project to retrieve

    Get BubbleMarkup

    GET /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/bubble_markups/29ca4ad0-a413-48aa-b8b8-28242d3cc205 HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
      "created_at": "2014-08-08T00:37:22.000Z",
      "updated_at": "2014-08-08T00:37:22.000Z",
      "device_created_at": "2014-08-08T00:37:22.000Z",
      "device_updated_at": "2014-08-08T00:37:22.000Z",
      "resolved_conflict": false,
      "id": "bd6054a2-a6b3-47ce-a6f4-47310086cd01",
      "bubble_id": "641c82f4-7129-45d3-af14-53656231eb4f",
      "data": {
        "type": "Feature",
        "properties": {
          "style": "text",
          "color": "#FF0000",
          "description": "text",
          "fontSize": 96
        },
        "geometry": {
          "type": "Polygon",
          "coordinates": [[152,98],[342,98],[342,229],[152,229]]
        }
      },
      "deleted_at": null
    }
    

    This endpoint retrieves a specific bubble_markup.

    HTTP Request

    GET /projects/<Project ID>/bubble_markups/<BubbleMarkup ID>

    URL Parameters

    Parameter Description
    Project ID The ID of the bubble_markup's project
    BubbleMarkup ID The ID of the bubble_markup to retrieve

    Post BubbleMarkup

    POST /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/bubble/75b86f78-0a94-42ea-9d58-a0f8fb5ed4bb/bubble_markups HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    
    {
      "data": {
        "type": "Feature",
        "properties": {
          "style": "text",
          "color": "#FF0000",
          "description": "text",
          "fontSize": 96
        },
        "geometry": {
          "type": "Polygon",
          "coordinates": [[152,98],[342,98],[342,229],[152,229]]
        }
      }
    }
    

    The above command returns:

    HTTP/1.1 201 Created
    Content-Type: application/json
    
    {
      "created_at": "2014-08-08T00:37:22.000Z",
      "updated_at": "2014-08-08T00:37:22.000Z",
      "device_created_at": "2014-08-08T00:37:22.000Z",
      "device_updated_at": "2014-08-08T00:37:22.000Z",
      "resolved_conflict": false,
      "id": "bd6054a2-a6b3-47ce-a6f4-47310086cd01",
      "bubble_id": "641c82f4-7129-45d3-af14-53656231eb4f",
      "data": {
        "type": "Feature",
        "properties": {
          "style": "text",
          "color": "#FF0000",
          "description": "text",
          "fontSize": 96
        },
        "geometry": {
          "type": "Polygon",
          "coordinates": [[152,98],[342,98],[342,229],[152,229]]
        }
      },
      "deleted_at": null
    }
    

    This endpoint creates a new bubble_markup.

    HTTP Request

    POST /projects/<Project ID>/bubbles/<Bubble ID>/bubble_markups

    URL Parameters

    Parameter Description
    Project ID The ID of the bubble_markup's project
    Bubble ID The ID of the bubble_markup's bubble

    Update BubbleMarkup

    PATCH /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/bubble_markups/75d68ca1-0fc1-456a-bd9d-8b23875ac540 HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    
    {
      "data": {
        "type": "Feature",
        "properties": {
          "style": "text",
          "color": "#FF0000",
          "description": "text",
          "fontSize": 96
        },
        "geometry": {
          "type": "Polygon",
          "coordinates": [[152,98],[342,98],[342,229],[152,229]]
        }
      }
    }
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
      "created_at": "2014-08-08T00:37:22.000Z",
      "updated_at": "2014-08-08T00:37:22.000Z",
      "device_created_at": "2014-08-08T00:37:22.000Z",
      "device_updated_at": "2014-08-08T00:37:22.000Z",
      "resolved_conflict": false,
      "id": "bd6054a2-a6b3-47ce-a6f4-47310086cd01",
      "bubble_id": "641c82f4-7129-45d3-af14-53656231eb4f",
      "data": {
        "type": "Feature",
        "properties": {
          "style": "text",
          "color": "#FF0000",
          "description": "text",
          "fontSize": 96
        },
        "geometry": {
          "type": "Polygon",
          "coordinates": [[152,98],[342,98],[342,229],[152,229]]
        }
      },
      "deleted_at": null
    }
    

    This endpoint updates a specific bubble_markup.

    HTTP Request

    PATCH /projects/<Project ID>/bubble_markups/<BubbleMarkup ID>

    URL Parameters

    Parameter Description
    Project ID The ID of the bubble_markup's project
    BubbleMarkup ID The ID of the bubble_markup to retrieve

    Delete BubbleMarkup

    DELETE /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/bubble_markups/75d68ca1-0fc1-456a-bd9d-8b23875ac540 HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 204 OK
    Content-Type: application/json
    

    This endpoint delete a specific bubble_markup.

    HTTP Request

    DELETE /projects/<Project ID>/bubble_markups/<BubbleMarkup ID>

    URL Parameters

    Parameter Description
    Project ID The ID of the bubble_markup's project
    BubbleMarkup ID The ID of the bubble_markup to retrieve

    Attachments

    Attachment Fields

    Field Description Type Non-null? Editable? Default
    project_id Project ID attachment belongs to UUID x
    name Name of the attachment String x x
    creator_user_id User ID of the attachment's creator Integer x generated
    thumb_url Url of the attachment thumb (optional) String x
    file_url Url of the attachment String x x
    file_size Size of the attachment Integer x
    kind Kind of attachment ("file", "photo") String x x file
    is_dynamic Indicates if resource at file_url can change Boolean x x False
    floorplan_ids Floorplan IDs that hyperlink to this attachment Array, integers
    multi_hyperlink_ids MultiHyperlink IDs that link to this attachment Array, integers

    Get Attachments

    GET /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/attachments HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    [
        {
            "created_at": "2014-06-17T00:40:11.000Z",
            "updated_at": "2014-06-17T00:40:11.000Z",
            "device_created_at": "2014-06-17T00:40:11.000Z",
            "device_updated_at": "2014-06-17T00:40:11.000Z",
            "resolved_conflict": false,
            "id": "d426dce3-1b5f-446c-9ba2-7fd8e5781db5",
            "project_id": "aceb1617-2dcf-4b01-a6b1-d8ae02bc3027",
            "creator_user_id": 1,
            "name": "attachment 1",
            "thumb_url": null,
            "file_url": "http://example.com/attachment1.jpeg",
            "file_size": 736623,
            "deleted_at": null,
            "floorplan_ids": [],
            "multi_hyperlink_ids": []
        },
        {
            "created_at": "2014-06-17T00:44:18.000Z",
            "updated_at": "2014-06-17T00:44:18.000Z",
            "device_created_at": "2014-06-17T00:44:18.000Z",
            "device_updated_at": "2014-06-17T00:44:18.000Z",
            "resolved_conflict": false,
            "id": "8c0c87d3-603a-4dd5-ac64-f11dd3ac2cf9",
            "project_id": "aceb1617-2dcf-4b01-a6b1-d8ae02bc3027",
            "creator_user_id": 1,
            "name": "attachment 2",
            "thumb_url": null,
            "file_url": "http://example.com/attachment2.jpeg",
            "file_size": 736623,
            "deleted_at": null,
            "floorplan_ids": [],
            "multi_hyperlink_ids": []
        }
    ]
    

    This endpoint retrieves all attachments.

    HTTP Request

    GET /projects/<Project ID>/attachments

    URL Parameters

    Parameter Description
    Project ID The ID of the project to retrieve

    Get Attachment

    GET /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/attachments/d426dce3-1b5f-446c-9ba2-7fd8e5781db5 HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "created_at": "2014-06-17T00:40:11.000Z",
        "updated_at": "2014-06-17T00:40:11.000Z",
        "device_created_at": "2014-06-17T00:40:11.000Z",
        "device_updated_at": "2014-06-17T00:40:11.000Z",
        "resolved_conflict": false,
        "id": "d426dce3-1b5f-446c-9ba2-7fd8e5781db5",
        "project_id": "aceb1617-2dcf-4b01-a6b1-d8ae02bc3027",
        "creator_user_id": 1,
        "name": "attachment 1",
        "thumb_url": null,
        "file_url": "http://example.com/attachment1.jpeg",
        "file_size": 736623,
        "deleted_at": null,
        "floorplan_ids": [],
        "multi_hyperlink_ids": []
    }
    

    This endpoint retrieves a specific attachment.

    HTTP Request

    GET /projects/<Project ID>/attachments/<Attachment ID>

    URL Parameters

    Parameter Description
    Project ID The ID of the attachment's project
    Attachment ID The ID of the attachment to retrieve

    Post Attachment

    POST /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/attachments HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    
    {
        "name": "attachment 1",
        "thumb_url": null,
        "file_url": "http://example.com/attachment1.jpeg",
        "file_size": 736623
    }
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "created_at": "2014-06-17T00:40:11.000Z",
        "updated_at": "2014-06-17T00:40:11.000Z",
        "device_created_at": "2014-06-17T00:40:11.000Z",
        "device_updated_at": "2014-06-17T00:40:11.000Z",
        "resolved_conflict": false,
        "id": "d426dce3-1b5f-446c-9ba2-7fd8e5781db5",
        "project_id": "aceb1617-2dcf-4b01-a6b1-d8ae02bc3027",
        "creator_user_id": 1,
        "name": "attachment 1",
        "thumb_url": null,
        "file_url": "http://example.com/attachment1.jpeg",
        "file_size": 736623,
        "deleted_at": null,
        "floorplan_ids": [],
        "multi_hyperlink_ids": []
    }
    

    This endpoint creates a new attachment.

    HTTP Request

    POST /projects/<Project ID>/attachments

    URL Parameters

    Parameter Description
    Project ID The ID of the attachment's project

    Update Attachment

    PATCH /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/attachments/92371c34-4393-4a72-ab5e-5dd9b17c0f00 HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    
    {
        "name": "updated attachment"
    }
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "created_at": "2014-06-17T00:40:11.000Z",
        "updated_at": "2014-06-17T00:40:11.000Z",
        "device_created_at": "2014-06-17T00:40:11.000Z",
        "device_updated_at": "2014-06-17T00:40:11.000Z",
        "resolved_conflict": false,
        "id": "d426dce3-1b5f-446c-9ba2-7fd8e5781db5",
        "project_id": "aceb1617-2dcf-4b01-a6b1-d8ae02bc3027",
        "creator_user_id": 1,
        "name": "updated attachment",
        "thumb_url": null,
        "file_url": "http://example.com/attachment1.jpeg",
        "file_size": 736623,
        "deleted_at": null,
        "floorplan_ids": [],
        "multi_hyperlink_ids": []
    }
    

    This endpoint updates a specific attachment.

    HTTP Request

    PATCH /projects/<Project ID>/attachments/<Attachment ID>

    URL Parameters

    Parameter Description
    Project ID The ID of the attachment's project
    Attachment ID The ID of the attachment to retrieve

    Delete Attachment

    DELETE /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/attachments/75d68ca1-0fc1-456a-bd9d-8b23875ac540 HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 204 OK
    Content-Type: application/json
    

    This endpoint deletes a attachment.

    HTTP Request

    DELETE /projects/<Project ID>/attachments/<Attachment ID>

    URL Parameters

    Parameter Description
    Project ID The ID of the attachment's project
    Attachment ID The ID of the attachment to retrieve

    Hyperlinks

    Field Description Type Non-null? Editable? Default
    project_id Project ID hyperlink belongs to UUID x
    sheet_id Sheet ID hyperlink belongs to UUID x
    creator_user_id User ID of the hyperlink's creator
    last_editor_user_id User ID of the hyperlink's last editor
    description Hyperlink description that appears on floorplan
    pos_x Horizontal pixels (from left of floorplan) of hyperlink's center
    pos_y Vertical pixels (from top of floorplan) of hyperlink's center
    floorplan_id ID of linked floorplan UUID x
    attachment_id ID of linked attachment UUID x
    GET /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/hyperlinks HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    [
        {
            "created_at": "2014-06-16T18:55:07.000Z",
            "updated_at": "2014-06-16T19:01:03.000Z",
            "device_created_at": "2014-06-16T18:55:07.000Z",
            "device_updated_at": "2014-06-16T19:01:03.000Z",
            "resolved_conflict": false,
            "id": "6757d318-d81d-463e-a8e4-9ae001112e59",
            "project_id": "aceb1617-2dcf-4b01-a6b1-d8ae02bc3027",
            "sheet_id": "a93f75ad-a90c-4f7c-8b4a-1432bdddc8f1",
            "creator_user_id": 1,
            "last_editor_user_id": 1,
            "description": "Hyperlink #1",
            "pos_x": 1246,
            "pos_y": 108,
            "floorplan_id": null,
            "attachment_id": "2bd071a9-81a0-4ada-8ecf-ababb78f4ac3",
            "deleted_at": null
        },
        {
            "created_at": "2014-06-16T23:41:49.000Z",
            "updated_at": "2014-06-16T23:41:49.000Z",
            "device_created_at": "2014-06-16T23:41:49.000Z",
            "device_updated_at": "2014-06-16T23:41:49.000Z",
            "resolved_conflict": false,
            "id": "84055918-9efb-4c2d-bd9c-33e10e896665",
            "project_id": "aceb1617-2dcf-4b01-a6b1-d8ae02bc3027",
            "sheet_id": "a5056209-4430-4407-a300-5dfcc4114993",
            "creator_user_id": 1,
            "last_editor_user_id": 1,
            "description": "Hyperlink #2",
            "pos_x": 215,
            "pos_y": 118,
            "floorplan_id": "20b57726-31ed-40f4-a608-ef29bc74b657",
            "attachment_id": null,
            "deleted_at": null
        }
    ]
    

    This endpoint retrieves all hyperlinks.

    HTTP Request

    GET /projects/<Project ID>/hyperlinks

    URL Parameters

    Parameter Description
    Project ID The ID of the project to retrieve
    GET /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/hyperlinks/6757d318-d81d-463e-a8e4-9ae001112e59 HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "created_at": "2014-06-16T18:55:07.000Z",
        "updated_at": "2014-06-16T19:01:03.000Z",
        "device_created_at": "2014-06-16T18:55:07.000Z",
        "device_updated_at": "2014-06-16T19:01:03.000Z",
        "resolved_conflict": false,
        "id": "6757d318-d81d-463e-a8e4-9ae001112e59",
        "project_id": "aceb1617-2dcf-4b01-a6b1-d8ae02bc3027",
        "sheet_id": "a93f75ad-a90c-4f7c-8b4a-1432bdddc8f1",
        "creator_user_id": 1,
        "last_editor_user_id": 1,
        "description": "Hyperlink #1",
        "pos_x": 1246,
        "pos_y": 108,
        "floorplan_id": null,
        "attachment_id": "2bd071a9-81a0-4ada-8ecf-ababb78f4ac3",
        "deleted_at": null
    }
    

    This endpoint retrieves a specific hyperlink.

    HTTP Request

    GET /projects/<Project ID>/hyperlinks/<Hyperlink ID>

    URL Parameters

    Parameter Description
    Project ID The ID of the hyperlink's project
    Hyperlink ID The ID of the hyperlink to retrieve

    Post Hyperlink

    POST /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/sheets/a5056209-4430-4407-a300-5dfcc4114993/hyperlinks HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    
    {
        "description": "Hyperlink #1",
        "pos_x": 215,
        "pos_y": 118,
        "floorplan_id": "20b57726-31ed-40f4-a608-ef29bc74b657"
    }
    

    or

    {
        "description": "Hyperlink #1",
        "pos_x": 215,
        "pos_y": 118,
        "attachment_id": "2bd071a9-81a0-4ada-8ecf-ababb78f4ac3"
    }
    

    or

    {
        "description": "Hyperlink #1",
        "pos_x": 215,
        "pos_y": 118,
        "attachment": {
            "name": "attachment 1",
            "thumb_url": "http://example.com/attachment1-thumb.jpeg",
            "file_url": "http://example.com/attachment1.jpeg",
            "file_size": 736623
        }
    }
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "created_at": "2014-06-16T18:55:07.000Z",
        "updated_at": "2014-06-16T19:01:03.000Z",
        "device_created_at": "2014-06-16T18:55:07.000Z",
        "device_updated_at": "2014-06-16T19:01:03.000Z",
        "resolved_conflict": false,
        "id": "6757d318-d81d-463e-a8e4-9ae001112e59",
        "project_id": "aceb1617-2dcf-4b01-a6b1-d8ae02bc3027",
        "sheet_id": "a93f75ad-a90c-4f7c-8b4a-1432bdddc8f1",
        "creator_user_id": 1,
        "last_editor_user_id": 1,
        "description": "Hyperlink #1",
        "pos_x": 1246,
        "pos_y": 108,
        "floorplan_id": null,
        "attachment_id": "2bd071a9-81a0-4ada-8ecf-ababb78f4ac3",
        "deleted_at": null
    }
    

    This endpoint creates a new hyperlink.

    Hyperlinks can be created linking to an existing floorplan or attachment, or alternatively you can create an attachment as part of the same request.

    HTTP Request

    POST /projects/<Project ID>/sheets/<Sheet ID>/hyperlinks

    URL Parameters

    Parameter Description
    Project ID The ID of the hyperlink's project
    Sheet ID The ID of the hyperlink's sheet

    Attachment Parameters

    Parameter Description
    name Name of attachment (usually file name)
    file_url Url of attachment
    thumb_url Url of attachment thumb (optional)
    file_size Size of attachment (max 5MB)
    PATCH /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/hyperlinks/6757d318-d81d-463e-a8e4-9ae001112e59 HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    
    { "description": "Updated description" }
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "created_at": "2014-06-16T18:55:07.000Z",
        "updated_at": "2014-06-16T19:01:03.000Z",
        "device_created_at": "2014-06-16T18:55:07.000Z",
        "device_updated_at": "2014-06-16T19:01:03.000Z",
        "resolved_conflict": false,
        "id": "6757d318-d81d-463e-a8e4-9ae001112e59",
        "project_id": "aceb1617-2dcf-4b01-a6b1-d8ae02bc3027",
        "sheet_id": "a93f75ad-a90c-4f7c-8b4a-1432bdddc8f1",
        "creator_user_id": 1,
        "last_editor_user_id": 1,
        "description": "Updated description",
        "pos_x": 1246,
        "pos_y": 108,
        "floorplan_id": null,
        "attachment_id": "2bd071a9-81a0-4ada-8ecf-ababb78f4ac3",
        "deleted_at": null
    }
    

    This endpoint updates a specific hyperlink.

    Attachments can also be created during updates as describe in Post Hyperlink

    HTTP Request

    PATCH /projects/<Project ID>/hyperlinks/<Hyperlink ID>

    URL Parameters

    Parameter Description
    Project ID The ID of the hyperlink's project
    Hyperlink ID The ID of the hyperlink to retrieve
    DELETE /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/hyperlinks/75d68ca1-0fc1-456a-bd9d-8b23875ac540 HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 204 OK
    Content-Type: application/json
    

    This endpoint deletes a hyperlink.

    HTTP Request

    DELETE /projects/<Project ID>/hyperlinks/<Hyperlink ID>

    URL Parameters

    Parameter Description
    Project ID The ID of the hyperlink's project
    Hyperlink ID The ID of the hyperlink to retrieve

    MultiHyperlinks

    Field Description Type Non-null? Editable? Default
    project_id Project ID multi_hyperlink belongs to UUID x
    sheet_id Sheet ID multi_hyperlink belongs to UUID x
    creator_user_id User ID of the multi_hyperlink's creator Integer x generated
    last_editor_user_id User ID of the multi_hyperlink's last editor Integer x generated
    pos_x Horizontal pixels (from left of floorplan) of multi_hyperlink's center Integer x x
    pos_y Vertical pixels (from top of floorplan) of multi_hyperlink's center Integer x x
    attachment_ids IDs of attachment the multi_hyperlink links t Array, integers x [ ]
    GET /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/multi_hyperlinks HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    [
        {
            "created_at": "2014-09-10T21:33:20.000Z",
            "updated_at": "2014-09-10T21:33:20.000Z",
            "device_created_at": "2014-09-10T21:33:20.000Z",
            "device_updated_at": "2014-09-10T21:33:20.000Z",
            "resolved_conflict": false,
            "id": "92371c34-4393-4a72-ab5e-5dd9b17c0f00",
            "project_id": "2135d73e-257c-495b-99db-71bf5221c31e",
            "sheet_id": "b905934f-30d4-42e9-aa4e-dfdc3d9e62a3",
            "creator_user_id": 1,
            "last_editor_user_id": 1,
            "pos_x": 966,
            "pos_y": 201,
            "deleted_at": null,
            "attachment_ids": []
        },
        {
            "created_at": "2014-09-10T21:37:32.000Z",
            "updated_at": "2014-09-10T21:46:31.000Z",
            "device_created_at": "2014-09-10T21:37:32.000Z",
            "device_updated_at": "2014-09-10T21:46:31.000Z",
            "resolved_conflict": false,
            "id": "4216e08f-5f28-4da7-b8fd-a9a2dce3d1ea",
            "project_id": "2135d73e-257c-495b-99db-71bf5221c31e",
            "sheet_id": "b905934f-30d4-42e9-aa4e-dfdc3d9e62a3",
            "creator_user_id": 1,
            "last_editor_user_id": 1,
            "pos_x": 1837,
            "pos_y": 568,
            "deleted_at": null,
            "attachment_ids": [
                "86639e3c-8849-4db4-8d3f-0647d58268ad",
                "14e3aff5-28ac-45a5-baae-3b9a809a3e41"
            ]
        }
    ]
    

    This endpoint retrieves all multi_hyperlinks.

    HTTP Request

    GET /projects/<Project ID>/multi_hyperlinks

    URL Parameters

    Parameter Description
    Project ID The ID of the project to retrieve
    GET /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/multi_hyperlinks/fa1fe4df-39ad-42e6-b11a-af7f2b97cf75 HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "created_at": "2014-09-10T21:33:20.000Z",
        "updated_at": "2014-09-10T21:33:20.000Z",
        "device_created_at": "2014-09-10T21:33:20.000Z",
        "device_updated_at": "2014-09-10T21:33:20.000Z",
        "resolved_conflict": false,
        "id": "92371c34-4393-4a72-ab5e-5dd9b17c0f00",
        "project_id": "2135d73e-257c-495b-99db-71bf5221c31e",
        "sheet_id": "b905934f-30d4-42e9-aa4e-dfdc3d9e62a3",
        "creator_user_id": 1,
        "last_editor_user_id": 1,
        "pos_x": 966,
        "pos_y": 201,
        "deleted_at": null,
        "attachment_ids": []
    }
    

    This endpoint retrieves a specific multi_hyperlink.

    HTTP Request

    GET /projects/<Project ID>/multi_hyperlinks/<MultiHyperlink ID>

    URL Parameters

    Parameter Description
    Project ID The ID of the multi_hyperlink's project
    MultiHyperlink ID The ID of the multi_hyperlink to retrieve

    Post MultiHyperlink

    POST /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/sheets/a5056209-4430-4407-a300-5dfcc4114993/multi_hyperlinks HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    
    {
        "pos_x": 966,
        "pos_y": 201
    }
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "created_at": "2014-09-10T21:33:20.000Z",
        "updated_at": "2014-09-10T21:33:20.000Z",
        "device_created_at": "2014-09-10T21:33:20.000Z",
        "device_updated_at": "2014-09-10T21:33:20.000Z",
        "resolved_conflict": false,
        "id": "92371c34-4393-4a72-ab5e-5dd9b17c0f00",
        "project_id": "2135d73e-257c-495b-99db-71bf5221c31e",
        "sheet_id": "b905934f-30d4-42e9-aa4e-dfdc3d9e62a3",
        "creator_user_id": 1,
        "last_editor_user_id": 1,
        "pos_x": 966,
        "pos_y": 201,
        "deleted_at": null,
        "attachment_ids": []
    }
    

    This endpoint creates a new multi_hyperlink.

    HTTP Request

    POST /projects/<Project ID>/sheets/<Sheet ID>/multi_hyperlinks

    URL Parameters

    Parameter Description
    Project ID The ID of the multi_hyperlink's project
    Sheet ID The ID of the multi_hyperlink's sheet
    PATCH /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/multi_hyperlinks/92371c34-4393-4a72-ab5e-5dd9b17c0f00 HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    
    {
        "pos_x": 1966,
        "pos_y": 1201
    }
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "created_at": "2014-09-10T21:33:20.000Z",
        "updated_at": "2014-09-10T21:33:20.000Z",
        "device_created_at": "2014-09-10T21:33:20.000Z",
        "device_updated_at": "2014-09-10T21:33:20.000Z",
        "resolved_conflict": false,
        "id": "92371c34-4393-4a72-ab5e-5dd9b17c0f00",
        "project_id": "2135d73e-257c-495b-99db-71bf5221c31e",
        "sheet_id": "b905934f-30d4-42e9-aa4e-dfdc3d9e62a3",
        "creator_user_id": 1,
        "last_editor_user_id": 1,
        "pos_x": 1966,
        "pos_y": 1201,
        "deleted_at": null,
        "attachment_ids": []
    }
    

    This endpoint updates a specific multi_hyperlink.

    HTTP Request

    PATCH /projects/<Project ID>/multi_hyperlinks/<MultiHyperlink ID>

    URL Parameters

    Parameter Description
    Project ID The ID of the multi_hyperlink's project
    MultiHyperlink ID The ID of the multi_hyperlink to retrieve
    DELETE /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/multi_hyperlinks/75d68ca1-0fc1-456a-bd9d-8b23875ac540 HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 204 OK
    Content-Type: application/json
    

    This endpoint deletes a multi_hyperlink.

    HTTP Request

    DELETE /projects/<Project ID>/multi_hyperlinks/<MultiHyperlink ID>

    URL Parameters

    Parameter Description
    Project ID The ID of the multi_hyperlink's project
    MultiHyperlink ID The ID of the multi_hyperlink to retrieve

    Post Attachment

    POST /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/multi_hyperlinks/92371c34-4393-4a72-ab5e-5dd9b17c0f00/attachments HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    
    {
        "attachment": {
            "name": "attachment 1",
            "thumb_url": "http://example.com/attachment1-thumb.jpeg",
            "file_url": "http://example.com/attachment1.jpeg",
            "file_size": 736623
        }
    }
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "created_at": "2014-09-11T18:06:35.747Z",
        "updated_at": "2014-09-11T18:06:35.747Z",
        "device_created_at": "2014-09-11T18:06:35.747Z",
        "device_updated_at": "2014-09-11T18:06:35.747Z",
        "resolved_conflict": false,
        "id": "941394d5-7143-40e7-a503-0cc3b0bd13f2",
        "project_id": "2135d73e-257c-495b-99db-71bf5221c31e",
        "creator_user_id": 1,
        "name": "attachment 1",
        "thumb_url": "http://example.com/attachment1-thumb.jpeg",
        "file_url": "http://example.com/attachment1.jpeg",
        "file_size": 736623,
        "deleted_at": null
    }
    

    This endpoint creates a new attachment and adds it to the multi_hyperlink.

    HTTP Request

    POST /projects/<Project ID>/multi_hyperlinks/<MultiHyperlink ID>/attachments

    URL Parameters

    Parameter Description
    Project ID The ID of the multi_hyperlink's project
    MultiHyperlink ID The ID of the multi_hyperlink to retrieve

    Delete Attachment

    DELETE /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/multi_hyperlinks/75d68ca1-0fc1-456a-bd9d-8b23875ac540/attachments/941394d5-7143-40e7-a503-0cc3b0bd13f2 HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 204 OK
    Content-Type: application/json
    

    This endpoint deletes an attachment from a multi_hyperlink.

    HTTP Request

    DELETE /projects/<Project ID>/multi_hyperlinks/<MultiHyperlink ID>

    URL Parameters

    Parameter Description
    Project ID The ID of the multi_hyperlink's project
    MultiHyperlink ID The ID of the multi_hyperlink to retrieve
    Attachment ID The ID of the attachment to retrieve

    Automatic Hyperlinks

    Field Description Type Non-null? Editable? Default
    project_id Project ID automatic hyperlink belongs to UUID x
    sheet_id Sheet ID automatic hyperlink belongs to to UUID x
    pos_x Horizontal pixels (from left of floorplan) of automatic hyperlink's center to Integer x generated
    pos_y Vertical pixels (from top of floorplan) of automatic hyperlink's center to Integer x generated
    radius Radius in pixels of automatic hyperlink to Integer x generated
    floorplan_id ID of linked floorplan to UUID x
    GET /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/automatic_hyperlinks HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    [
        {
            "created_at": "2014-07-17T00:50:53.000Z",
            "updated_at": "2014-07-17T00:50:53.000Z",
            "id": "07be953c-7d08-408a-8fc5-1e266fed8363",
            "project_id": "aa0635ec-f95c-4458-8f56-e82af3d3634f",
            "sheet_id": "5c007e3c-9a1a-42ad-9cdc-4e71e035c0ea",
            "pos_x": 885,
            "pos_y": 922,
            "floorplan_id": "88273c0f-4341-442b-b2f2-539bfe01b872",
            "radius": 14,
            "deleted_at": null
        },
        {
            "created_at": "2014-07-17T00:52:14.000Z",
            "updated_at": "2014-07-17T00:52:14.000Z",
            "id": "f1376368-d677-45d9-a77a-67963618cdcd",
            "project_id": "aa0635ec-f95c-4458-8f56-e82af3d3634f",
            "sheet_id": "05e5aec4-b6c8-4320-9258-b8743de41869",
            "pos_x": 1883,
            "pos_y": 119,
            "floorplan_id": "a7aab36c-0a2f-479e-a903-a8cd8c964db8",
            "radius": 25,
            "deleted_at": null
        }
    ]
    

    This endpoint retrieves all automatic hyperlinks.

    HTTP Request

    GET /projects/<Project ID>/automatic_hyperlinks

    URL Parameters

    Parameter Description
    Project ID The ID of the project to retrieve
    GET /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/automatic_hyperlinks/fa1fe4df-39ad-42e6-b11a-af7f2b97cf75 HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "created_at": "2014-07-17T00:50:53.000Z",
        "updated_at": "2014-07-17T00:50:53.000Z",
        "id": "fa1fe4df-39ad-42e6-b11a-af7f2b97cf75w",
        "project_id": "aa0635ec-f95c-4458-8f56-e82af3d3634f",
        "sheet_id": "5c007e3c-9a1a-42ad-9cdc-4e71e035c0ea",
        "pos_x": 885,
        "pos_y": 922,
        "floorplan_id": "88273c0f-4341-442b-b2f2-539bfe01b872",
        "radius": 14,
        "deleted_at": null
    }
    

    This endpoint retrieves a specific automatic_hyperlink.

    HTTP Request

    GET /projects/<Project ID>/automatic_hyperlinks/<AutomaticHyperlink ID>

    URL Parameters

    Parameter Description
    Project ID The ID of the automatic_hyperlink's project
    AutomaticHyperlink ID The ID of the automatic_hyperlink to retrieve

    Markups

    Markup Fields

    Field Description Type Non-null? Editable? Default
    project_id Project ID markup belongs to UUID x
    sheet_id Sheet ID markup belongs to UUID x
    name Name of the markup String x x
    creator_user_id User ID of the markup's creator Integer x generated
    last_editor_user_id User ID of the markup's last editor Integer x generated
    data GeoJSON of markup JSON x x

    Get Markups

    GET /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/markups HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    [
        {
            "created_at": "2014-06-16T18:55:17.000Z",
            "updated_at": "2014-06-16T18:56:01.000Z",
            "device_created_at": "2014-06-16T18:55:17.000Z",
            "device_updated_at": "2014-06-16T18:56:02.000Z",
            "resolved_conflict": false,
            "id": "692fb74a-9c65-4a65-8e72-57f8dac0147c",
            "project_id": "aceb1617-2dcf-4b01-a6b1-d8ae02bc3027",
            "sheet_id": "a93f75ad-a90c-4f7c-8b4a-1432bdddc8f1",
            "creator_user_id": 1,
            "last_editor_user_id": 1,
            "data": {
                "type": "Feature",
                "properties": {
                    "style": "text",
                    "description": "line 1\nline 2\nline 3",
                    "fontSize": 32
                },
                "geometry": {
                    "type": "Polygon",
                    "coordinates": [[1661,394],[1991,394],[1991,614],[1661,614]]
                }
            },
            "deleted_at": null
        },
        {
            "created_at": "2014-06-16T18:53:31.000Z",
            "updated_at": "2014-06-16T18:56:35.000Z",
            "device_created_at": "2014-06-16T18:53:31.000Z",
            "device_updated_at": "2014-06-16T18:56:35.000Z",
            "resolved_conflict": false,
            "id": "44a63a50-281b-4b7c-9889-cf9a48bc65f3",
            "project_id": "aceb1617-2dcf-4b01-a6b1-d8ae02bc3027",
            "sheet_id": "a93f75ad-a90c-4f7c-8b4a-1432bdddc8f1",
            "creator_user_id": 1,
            "last_editor_user_id": 1,
            "data": {
                "type": "Feature",
                "properties": {
                    "style": "cloud",
                    "arcRadius": 16
                },
                "geometry": {
                    "type": "Polygon",
                    "coordinates": [[1661,394],[1991,394],[1991,614],[1661,614]]
                }
            },
            "deleted_at": null
        }
    ]
    

    This endpoint retrieves all markups.

    HTTP Request

    GET /projects/<Project ID>/markups

    GET /projects/<Project ID>/sheets/<Sheet ID>/markups

    URL Parameters

    Parameter Description
    Project ID The ID of the markup's project
    Sheet ID The ID of the markup's sheet

    Get Markup

    GET /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/markups/692fb74a-9c65-4a65-8e72-57f8dac0147c HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "created_at": "2014-06-16T18:55:17.000Z",
        "updated_at": "2014-06-16T18:56:01.000Z",
        "device_created_at": "2014-06-16T18:55:17.000Z",
        "device_updated_at": "2014-06-16T18:56:02.000Z",
        "resolved_conflict": false,
        "id": "692fb74a-9c65-4a65-8e72-57f8dac0147c",
        "project_id": "aceb1617-2dcf-4b01-a6b1-d8ae02bc3027",
        "sheet_id": "a93f75ad-a90c-4f7c-8b4a-1432bdddc8f1",
        "creator_user_id": 1,
        "last_editor_user_id": 1,
        "data": {
            "type": "Feature",
            "properties": {
                "style": "text",
                "description": "line 1\nline 2\nline 3",
                "fontSize": 32
            },
            "geometry": {
                "type": "Polygon",
                "coordinates": [[1661,394],[1991,394],[1991,614],[1661,614]]
            }
        },
        "deleted_at": null
    }
    

    This endpoint retrieves a specific markup.

    HTTP Request

    GET /projects/<Project ID>/markups/<Markup ID>

    URL Parameters

    Parameter Description
    Project ID The ID of the markup's project
    Markup ID The ID of the markup to retrieve

    Post Markup

    POST /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/sheets/75b86f78-0a94-42ea-9d58-a0f8fb5ed4bb/markups HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    
    {
        "data": {
            "type": "Feature",
            "properties": {
                "style": "text",
                "description": "line 1\nline 2\nline 3",
                "fontSize": 32
            },
            "geometry": {
                "type": "Polygon",
                "coordinates": [[1661,394],[1991,394],[1991,614],[1661,614]]
            }
        }
    }
    

    The above command returns:

    HTTP/1.1 201 Created
    Content-Type: application/json
    
    {
        "created_at": "2014-06-16T18:55:17.000Z",
        "updated_at": "2014-06-16T18:56:01.000Z",
        "device_created_at": "2014-06-16T18:55:17.000Z",
        "device_updated_at": "2014-06-16T18:56:02.000Z",
        "resolved_conflict": false,
        "id": "692fb74a-9c65-4a65-8e72-57f8dac0147c",
        "project_id": "aceb1617-2dcf-4b01-a6b1-d8ae02bc3027",
        "sheet_id": "a93f75ad-a90c-4f7c-8b4a-1432bdddc8f1",
        "creator_user_id": 1,
        "last_editor_user_id": 1,
        "data": {
            "type": "Feature",
            "properties": {
                "style": "text",
                "description": "line 1\nline 2\nline 3",
                "fontSize": 32
            },
            "geometry": {
                "type": "Polygon",
                "coordinates": [[1661,394],[1991,394],[1991,614],[1661,614]]
            }
        },
        "deleted_at": null
    }
    

    This endpoint creates a new markup.

    HTTP Request

    POST /projects/<Project ID>/sheets/<Sheet ID>/markups

    URL Parameters

    Parameter Description
    Project ID The ID of the markup's project
    Sheet ID The ID of the markup's sheet

    Update Markup

    PATCH /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/markups/75d68ca1-0fc1-456a-bd9d-8b23875ac540 HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    
    {
        "data": {
            "type": "Feature",
            "properties": {
                "style": "text",
                "description": "updated description",
                "fontSize": 32
            },
            "geometry": {
                "type": "Polygon",
                "coordinates": [[1661,394],[1991,394],[1991,614],[1661,614]]
            }
        }
    }
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "created_at": "2014-06-16T18:55:17.000Z",
        "updated_at": "2014-06-16T18:56:01.000Z",
        "device_created_at": "2014-06-16T18:55:17.000Z",
        "device_updated_at": "2014-06-16T18:56:02.000Z",
        "resolved_conflict": false,
        "id": "692fb74a-9c65-4a65-8e72-57f8dac0147c",
        "project_id": "aceb1617-2dcf-4b01-a6b1-d8ae02bc3027",
        "sheet_id": "a93f75ad-a90c-4f7c-8b4a-1432bdddc8f1",
        "creator_user_id": 1,
        "last_editor_user_id": 1,
        "data": {
            "type": "Feature",
            "properties": {
                "style": "text",
                "description": "updated description",
                "fontSize": 32
            },
            "geometry": {
                "type": "Polygon",
                "coordinates": [[1661,394],[1991,394],[1991,614],[1661,614]]
            }
        },
        "deleted_at": null
    }
    

    This endpoint updates a specific markup.

    HTTP Request

    PATCH /projects/<Project ID>/markups/<Markup ID>

    URL Parameters

    Parameter Description
    Project ID The ID of the markup's project
    Markup ID The ID of the markup to retrieve

    Delete Markup

    DELETE /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/markups/75d68ca1-0fc1-456a-bd9d-8b23875ac540 HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 204 OK
    Content-Type: application/json
    

    This endpoint delete a specific markup.

    HTTP Request

    DELETE /projects/<Project ID>/markups/<Markup ID>

    URL Parameters

    Parameter Description
    Project ID The ID of the markup's project
    Markup ID The ID of the markup to retrieve

    Markup data

    Field Description Type Non-null? Editable? Default
    type Always "Feature" String x x
    properties Contains markup specific data (style, description, etc.) JSON x x
    geometry Describes markup shape JSON x x

    Cloud

    {
        "data": {
            "type": "Feature",
            "properties": {
                "style": "cloud",
                "arcRadius": 8
            },
            "geometry": {
                "type": "Polygon",
                "coordinates": [[240,139],[1136,139],[1136,323],[240,323]
                ]
            }
        }
    }
    
    Property Description
    style Always 'cloud'
    color Color of markup
    arcRadius Radius in pixels of each cloud arc

    Text box

    {
        "data": {
            "type": "Feature",
            "properties": {
                "style": "text",
                "description": "line 1\nline 2\nline 3",
                "fontSize": 8
            },
            "geometry": {
                "type": "Polygon",
                "coordinates": [[1661,394],[1991,394],[1991,614],[1661,614]
                ]
            }
        }
    }
    
    Property Description
    style Always 'text'
    color Color of markup
    description Text to be displayed (newlines marked with '\n')
    fontSize Size of text in pixels

    Rectangle

    {
        "data": {
            "type": "Feature",
            "properties": {
                "style": "rectangle",
                "color": "#FF0000",
                "width": 10
            },
            "geometry": {
                "type": "Polygon",
                "coordinates": [[362,62],[590,62],[590,244],[362,244]]
            }
        }
    }
    
    Property Description
    style Always 'rectangle'
    color Color of markup
    width Stroke width

    Drawing (Pen)

    {
        "data": {
            "type": "Feature",
            "properties": {
                "style": "drawing",
                "color": "#FF0000",
                "width": 40
            },
            "geometry": {
                "type": "LineString",
                "coordinates": [[563,374],[563,373] ...... [565,380],[563,380]]
            }
        }
    }
    
    Property Description
    style Always 'drawing'
    color Color of markup
    width Stroke width

    Arrow

    {
        "data": {
            "type": "Feature",
            "properties": {
                "style": "arrow",
                "color": "#FF0000",
                "width": 5
            },
            "geometry": {
                "type": "LineString",
                "coordinates": [[56,399],[326,272]]
            }
        }
    }
    
    Property Description
    style Always 'arrow'
    color Color of markup
    width Stroke width

    Isosceles triangle:

    Measurement

    {
        "data": {
            "type": "Feature",
            "properties": {
                "style": "measurement",
                "color": "#FF0000",
                "width": 5,
                "description": "15'5\"",
                "fontSize": 48
            },
            "geometry": {
                "type": "LineString",
                "coordinates": [[455,168],[1085,219]
                ]
            }
        }
    }
    
    Property Description
    style Always 'measurement'
    color Color of markup
    width Stroke width
    description Text to be displayed (single line)
    fontSize Size of text in pixels

    Isosceles triangle:

    EntityTags

    EntityTag Fields

    Field Description Type Non-null? Editable? Default
    project_id Project ID entity_tag belongs to UUID x
    name Name of the entity_tag String x x
    creator_user_id User ID of the entity_tag's creator Integer x generated
    last_editor_user_id User ID of the entity_tag's last editor Integer x generated

    Get EntityTags

    GET /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/entity_tags HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    [
        {
            "id": "70ce3ccf-548a-49ff-9630-2978195d6d98",
            "project_id": "aceb1617-2dcf-4b01-a6b1-d8ae02bc3027",
            "creator_user_id": 2,
            "last_editor_user_id": 2,
            "created_at": "2018-04-03T22:57:57.760Z",
            "updated_at": "2018-04-03T22:57:57.762Z",
            "device_created_at": "2018-04-03T22:57:57.760Z",
            "device_updated_at": "2018-04-03T22:57:57.760Z",
            "resolved_conflict": false,
            "deleted_at": null,
            "name": "punch"
        },
        {
            "id": "ba19cc8b-bee2-47f8-8895-afccd9b6aa5a",
            "project_id": "aceb1617-2dcf-4b01-a6b1-d8ae02bc3027",
            "creator_user_id": 2,
            "last_editor_user_id": 2,
            "created_at": "2018-04-03T22:57:58.060Z",
            "updated_at": "2018-04-03T22:57:58.061Z",
            "device_created_at": "2018-04-03T22:57:58.059Z",
            "device_updated_at": "2018-04-03T22:57:58.059Z",
            "resolved_conflict": false,
            "deleted_at": null,
            "name": "change_order"
        }
    ]
    

    This endpoint retrieves all entity_tags.

    HTTP Request

    GET /projects/<Project ID>/entity_tags

    URL Parameters

    Parameter Description
    Project ID The ID of the project to retrieve

    Get EntityTag

    GET /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/entity_tags/70ce3ccf-548a-49ff-9630-2978195d6d98 HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "id": "70ce3ccf-548a-49ff-9630-2978195d6d98",
        "project_id": "aceb1617-2dcf-4b01-a6b1-d8ae02bc3027",
        "creator_user_id": 2,
        "last_editor_user_id": 2,
        "created_at": "2018-04-03T22:57:57.760Z",
        "updated_at": "2018-04-03T22:57:57.762Z",
        "device_created_at": "2018-04-03T22:57:57.760Z",
        "device_updated_at": "2018-04-03T22:57:57.760Z",
        "resolved_conflict": false,
        "deleted_at": null,
        "name": "punch"
    }
    

    This endpoint retrieves a specific entity_tag.

    HTTP Request

    GET /projects/<Project ID>/entity_tags/<EntityTag ID>

    URL Parameters

    Parameter Description
    Project ID The ID of the entity_tag's project
    EntityTag ID The ID of the entity_tag to retrieve

    Post EntityTag

    POST /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/entity_tags HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    
    {
        "name": "punch"
    }
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "id": "70ce3ccf-548a-49ff-9630-2978195d6d98",
        "project_id": "aceb1617-2dcf-4b01-a6b1-d8ae02bc3027",
        "creator_user_id": 2,
        "last_editor_user_id": 2,
        "created_at": "2018-04-03T22:57:57.760Z",
        "updated_at": "2018-04-03T22:57:57.762Z",
        "device_created_at": "2018-04-03T22:57:57.760Z",
        "device_updated_at": "2018-04-03T22:57:57.760Z",
        "resolved_conflict": false,
        "deleted_at": null,
        "name": "punch"
    }
    

    or if name exists:

    HTTP/1.1 409 CONFLICT
    Content-Type: application/json
    
    {
        "id": "70ce3ccf-548a-49ff-9630-2978195d6d98",
        "project_id": "aceb1617-2dcf-4b01-a6b1-d8ae02bc3027",
        "creator_user_id": 2,
        "last_editor_user_id": 2,
        "created_at": "2018-04-03T22:57:57.760Z",
        "updated_at": "2018-04-03T22:57:57.762Z",
        "device_created_at": "2018-04-03T22:57:57.760Z",
        "device_updated_at": "2018-04-03T22:57:57.760Z",
        "resolved_conflict": false,
        "deleted_at": null,
        "name": "punch"
    }
    

    This endpoint creates a new entity_tag.

    HTTP Request

    POST /projects/<Project ID>/entity_tags

    URL Parameters

    Parameter Description
    Project ID The ID of the entity_tag's project

    Delete EntityTag

    DELETE /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/entity_tags/75d68ca1-0fc1-456a-bd9d-8b23875ac540 HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 204 OK
    Content-Type: application/json
    

    This endpoint deletes a entity_tag.

    HTTP Request

    DELETE /projects/<Project ID>/entity_tags/<EntityTag ID>

    URL Parameters

    Parameter Description
    Project ID The ID of the entity_tag's project
    EntityTag ID The ID of the entity_tag to retrieve

    EntityTaggings

    EntityTagging Fields

    Field Description Type Non-null? Editable? Default
    project_id Project ID entity_tagging belongs to UUID x
    entity_tag_id EntityTag ID entity_tagging belongs to UUID x x
    entity_id Entity ID entity_tagging belongs to UUID x x
    entity_type One of 'Attachment', 'Floorplan', 'Task', 'Bubble' String x x
    creator_user_id User ID of the entity_tagging's creator Integer x generated
    last_editor_user_id User ID of the entity_tagging's last editor Integer x generated

    Get EntityTaggings

    GET /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/entity_taggings HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    [
        {
            "id": "050b6db6-1d01-46cb-a573-16355a40f189",
            "project_id": "aceb1617-2dcf-4b01-a6b1-d8ae02bc3027",
            "creator_user_id": 2,
            "last_editor_user_id": 2,
            "created_at": "2018-04-03T22:57:57.868Z",
            "updated_at": "2018-04-03T22:57:57.870Z",
            "device_created_at": "2018-04-03T22:57:57.868Z",
            "device_updated_at": "2018-04-03T22:57:57.868Z",
            "resolved_conflict": false,
            "deleted_at": null,
            "entity_tag_id": "70ce3ccf-548a-49ff-9630-2978195d6d98",
            "entity_id": "b627cf06-7e5f-43ef-a7d7-03c2e4507f10",
            "entity_type": "Bubble"
        },
        {
            "id": "afc706e3-e9e8-4c34-953f-7eb3cecd9af6",
            "project_id": "aceb1617-2dcf-4b01-a6b1-d8ae02bc3027",
            "creator_user_id": 2,
            "last_editor_user_id": 2,
            "created_at": "2018-04-03T22:57:58.103Z",
            "updated_at": "2018-04-03T22:57:58.106Z",
            "device_created_at": "2018-04-03T22:57:58.102Z",
            "device_updated_at": "2018-04-03T22:57:58.102Z",
            "resolved_conflict": false,
            "deleted_at": null,
            "entity_tag_id": "ba19cc8b-bee2-47f8-8895-afccd9b6aa5a",
            "entity_id": "5f968667-24ae-44bb-bef9-de026d6f06ff",
            "entity_type": "Bubble"
        }
    ]
    

    This endpoint retrieves all entity_taggings.

    HTTP Request

    GET /projects/<Project ID>/entity_taggings

    URL Parameters

    Parameter Description
    Project ID The ID of the project to retrieve

    Get EntityTagging

    GET /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/entity_taggings/050b6db6-1d01-46cb-a573-16355a40f189 HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "id": "050b6db6-1d01-46cb-a573-16355a40f189",
        "project_id": "aceb1617-2dcf-4b01-a6b1-d8ae02bc3027",
        "creator_user_id": 2,
        "last_editor_user_id": 2,
        "created_at": "2018-04-03T22:57:57.868Z",
        "updated_at": "2018-04-03T22:57:57.870Z",
        "device_created_at": "2018-04-03T22:57:57.868Z",
        "device_updated_at": "2018-04-03T22:57:57.868Z",
        "resolved_conflict": false,
        "deleted_at": null,
        "entity_tag_id": "70ce3ccf-548a-49ff-9630-2978195d6d98",
        "entity_id": "b627cf06-7e5f-43ef-a7d7-03c2e4507f10",
        "entity_type": "Bubble"
    }
    

    This endpoint retrieves a specific entity_tagging.

    HTTP Request

    GET /projects/<Project ID>/entity_taggings/<EntityTagging ID>

    URL Parameters

    Parameter Description
    Project ID The ID of the entity_tagging's project
    EntityTagging ID The ID of the entity_tagging to retrieve

    Post EntityTagging

    POST /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/entity_taggings HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    
    {
        "entity_tag_id": "70ce3ccf-548a-49ff-9630-2978195d6d98",
        "entity_id": "b627cf06-7e5f-43ef-a7d7-03c2e4507f10",
        "entity_type": "Bubble"
    }
    

    The above command returns:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "id": "050b6db6-1d01-46cb-a573-16355a40f189",
        "project_id": "aceb1617-2dcf-4b01-a6b1-d8ae02bc3027",
        "creator_user_id": 2,
        "last_editor_user_id": 2,
        "created_at": "2018-04-03T22:57:57.868Z",
        "updated_at": "2018-04-03T22:57:57.870Z",
        "device_created_at": "2018-04-03T22:57:57.868Z",
        "device_updated_at": "2018-04-03T22:57:57.868Z",
        "resolved_conflict": false,
        "deleted_at": null,
        "entity_tag_id": "70ce3ccf-548a-49ff-9630-2978195d6d98",
        "entity_id": "b627cf06-7e5f-43ef-a7d7-03c2e4507f10",
        "entity_type": "Bubble"
    }
    

    or if (entity_tag_id,entity_id) exists:

    HTTP/1.1 409 CONFLICT
    Content-Type: application/json
    
    {
        "id": "050b6db6-1d01-46cb-a573-16355a40f189",
        "project_id": "aceb1617-2dcf-4b01-a6b1-d8ae02bc3027",
        "creator_user_id": 2,
        "last_editor_user_id": 2,
        "created_at": "2018-04-03T22:57:57.868Z",
        "updated_at": "2018-04-03T22:57:57.870Z",
        "device_created_at": "2018-04-03T22:57:57.868Z",
        "device_updated_at": "2018-04-03T22:57:57.868Z",
        "resolved_conflict": false,
        "deleted_at": null,
        "entity_tag_id": "70ce3ccf-548a-49ff-9630-2978195d6d98",
        "entity_id": "b627cf06-7e5f-43ef-a7d7-03c2e4507f10",
        "entity_type": "Bubble"
    }
    

    This endpoint creates a new entity_tagging.

    HTTP Request

    POST /projects/<Project ID>/entity_taggings

    URL Parameters

    Parameter Description
    Project ID The ID of the entity_tagging's project

    Delete EntityTagging

    DELETE /projects/aceb1617-2dcf-4b01-a6b1-d8ae02bc3027/entity_taggings/050b6db6-1d01-46cb-a573-16355a40f189 HTTP/1.1
    Authorization: Token api=[api token]>,project=[project token]
    Content-type: application/json
    

    The above command returns:

    HTTP/1.1 204 OK
    Content-Type: application/json
    

    This endpoint deletes a entity_tagging.

    HTTP Request

    DELETE /projects/<Project ID>/entity_taggings/<EntityTagging ID>

    URL Parameters

    Parameter Description
    Project ID The ID of the entity_tagging's project
    EntityTagging ID The ID of the entity_tagging to retrieve

    Errors

    {
        "errors": [
            "param is missing or the value is empty: field"
        ]
    }
    

    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.