---
title: "Create a new bubble in task"
method: POST
path: "/api/v3/projects/{project_id}/tasks/{task_id}/bubbles"
tags: ["bubbles"]
---

# Create a new bubble in task

`POST /api/v3/projects/{project_id}/tasks/{task_id}/bubbles`

## Request

- Base URL: `https://client-api.us.fieldwire.com`
- URL: `https://client-api.us.fieldwire.com/api/v3/projects/{project_id}/tasks/{task_id}/bubbles`
- Auth: HTTP bearer

Create a Bubble in a Task. Bubble can be a comment, photo, video, link, attachments.

## Path parameters

- `project_id` string, uuid, required
- `task_id` string, uuid, required

## Headers

- `Fieldwire-Version` string, date, required

## Request body

- BubbleCreateInput: Schema for creating bubbles
  - `id` string, uuid: ID of the entity
  - `user_id` integer, required: ID of the user who created this bubble
  - `file_name` string, nullable: Name of the file uploaded
  - `file_url` string, nullable: URL of the potentially processed file
  - `flattened_file_url` string, nullable: URL of the file that has the markups flattened too
  - `original_url` string, nullable: URL of the file originally uploaded by the user
  - `thumb_url` string, nullable: Thumb URL of the file if there is one
  - `file_size` integer, nullable: Size of file if there is one
  - `kind` 1 | 2 | 10 | 11 | 12 | 13 | 20 | 21, required: 1=> TEXT, 2=> LOG, 10=> PHOTO, 11=> PHOTO WITH ANNOTATIONS, 12=> DRAWING WITH ANNOTATIONS, 13=> PHOTO SPHERE, 20=> ATTACHMENT, 21=> VIDEO
  - `latitude` number, double, nullable: Latitude of where this photo bubble was created
  - `longitude` number, double, nullable: Longitude of where this photo bubble was created
  - `annotations` string, nullable: Annotations on the bubble
  - `content` string, nullable: Bubble's message in case of a text bubble or the file's name
  - `device_created_at` string, date-time: Time when the device created the entity
  - `device_updated_at` string, date-time: Time when the device last updated the entity
  - `attachment_id` string, uuid, nullable: ID of the attachment entity
  - `floorplan_crop` object: Include if you'd like to crop a floorplan
    - `floorplan_id` string, uuid, required: ID of the floorplan
    - `x1` integer, required: Coordinate x1
    - `x2` integer, required: Coordinate x2
    - `y1` integer, required: Coordinate y1
    - `y2` integer, required: Coordinate y2
  - `crop` boolean: Flag to notify whether thumb_url should be populated by cropping this photo bubble
  - `last_editor_user_id` integer, nullable: ID of the user who most recently edited this bubble

## Response `201`

Successful response

- Bubble: Entity that usually show up in a `Task` (Eg., messages, logs, photos, files etc.)
  - `id` string, uuid, required: ID of the entity
  - `user_id` integer, required: ID of the user who created this bubble
  - `project_id` string, uuid, required: ID of the project this entity belongs to
  - `file_name` string, nullable: Name of the file uploaded
  - `task_id` string, uuid, required: ID of the task this bubble belongs to
  - `file_url` string, nullable: URL of the potentially processed file
  - `flattened_file_url` string, nullable: URL of the file that has the markups flattened too
  - `original_url` string, nullable: URL of the file originally uploaded by the user
  - `thumb_url` string, nullable: Thumb URL of the file if there is one
  - `file_size` integer, nullable: Size of file if there is one
  - `kind` 1 | 2 | 10 | 11 | 12 | 13 | 20 | 21, required: 1=> TEXT, 2=> LOG, 10=> PHOTO, 11=> PHOTO WITH ANNOTATIONS, 12=> DRAWING WITH ANNOTATIONS, 13=> PHOTO SPHERE, 20=> ATTACHMENT, 21=> VIDEO
  - `latitude` number, double, nullable: Latitude of where this photo bubble was created
  - `longitude` number, double, nullable: Longitude of where this photo bubble was created
  - `annotations` string, nullable: Annotations on the bubble
  - `content` string, nullable: Bubble's message in case of a text bubble or the file's name
  - `created_at` string, date-time, required: Time when the server created the entity
  - `resolved_conflict` boolean, nullable, required: Specifies if PUT/PATCH request was rejected - do not store this field!
  - `device_created_at` string, date-time, required: Time when the device created the entity
  - `device_updated_at` string, date-time, required: Time when the device last updated the entity
  - `original_created_at` string, date-time, nullable: Time when the device created the originating linked entity
  - `original_creator` integer, nullable: User that created the originating linked entity
  - `updated_at` string, date-time, required: Time when the server last updated the entity
  - `deleted_at` string, date-time, nullable: Time the server deleted the entity
  - `attachment_id` string, uuid, nullable: ID of the attachment entity
  - `captured_at` string, date-time, nullable: Time when the photo was captured by the device extracted from photo data

---

[API](https://skmtc.dev/fieldwire/apis/fieldwire-regional-api.md) - [All operations](https://skmtc.dev/fieldwire/apis/fieldwire-regional-api/llms.txt) - [OpenAPI document](https://skmtc.dev/fieldwire/apis/fieldwire-regional-api/revisions/34b820438c0b?raw)
