---
title: "POST /v1/{+parent}/{collectionId}"
method: POST
path: "/v1/{+parent}/{collectionId}"
tags: ["projects"]
---

# POST /v1/{+parent}/{collectionId}

`POST /v1/{+parent}/{collectionId}`

Creates a new document.

## Path parameters

- `parent` string, required
- `collectionId` string, required

## Query parameters

- `documentId` string
- `mask.fieldPaths` string[]
- `requestOptions.requestTags` string[]

## Request body

- Document — A Firestore document. Must not exceed 1 MiB - 4 bytes.
  - `createTime` string, google-datetime — Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.
  - `updateTime` string, google-datetime — Output only. The time at which the document was last changed. This value is initially set to the `create_time` then increases monotonically with each change to the document. It can also be compared to values from other documents and the `read_time` of a query.
  - `fields` object — The document's fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The field names, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by a dot-delimited (`.`) string of segments. Each segment is either a simple field name (defined below) or a quoted field name. For example, the structured field `"foo" : { map_value: { "x&y" : { string_value: "hello" }}}` would be represented by the field path `` foo.`x&y` ``. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. A quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&y` `` represents `x&y` and `` `bak\`tik` `` represents `` bak`tik ``.
  - `name` string — The resource name of the document, for example `projects/{project_id}/databases/{database_id}/documents/{document_path}`.

## Response `200`

Successful response

---

[API](https://skmtc.net/google/apis/firestore.md) · [All operations](https://skmtc.net/google/apis/firestore/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/google/firestore/versions/11bc07a83431/schema)
