# 14. Mutation: Create a "Field" or edit the boundary of the existing field (with optional labels)

Create a "Field" or edit the boundary of the existing field.

{% hint style="danger" %}
"Field" `geojson` attribute must be in WGS84 (EPSG:4326) projection, less 1040ac / 420ha, and follow the [specification](https://geojson.org/).

Supported `geojson` types are `MultiPolygon` and `Polygon`.
{% endhint %}

Usage details:

* Attribute `labels` is a map with key (label name) and value (label value) pairs.
* Linking your own "Farm" unique identification via the \
  &#x20;attribute is possible. The attribute is optional.
* Attributes `status` and `statusMessage` highlight the result of the registration. The `"status"=INVALID` response means the investigation of the "Field" request is required. More details about the results are in `statusMessage`.&#x20;

{% code overflow="wrap" lineNumbers="true" %}

```graphql
mutation CreateFieldSample {
  registerField(
    input: {
      name: "Mutation Field"
      farmUuid: "<farm_uuid_could_be_from_request_7>"
      creationType: GEOJSON
      externalKey: "<third_party_identificator>"
      geojson: "{\"type\":\"MultiPolygon\",\"coordinates\":[[[[-113.5393998,51.1831965],[-113.5391578,51.1832762],[-113.5335114,51.1832724],[-113.5328941,51.1832686],[-113.5324221,51.1831927],[-113.5320832,51.1830486],[-113.5317503,51.182821],[-113.5314901,51.1826047],[-113.5312904,51.1824264],[-113.5309696,51.1823013],[-113.5307034,51.1822637],[-113.5303706,51.1823168],[-113.5300317,51.1823889],[-113.5298017,51.1824344],[-113.5294991,51.1824231],[-113.5292026,51.1823586],[-113.5287789,51.1822675],[-113.5284824,51.1821537],[-113.5282827,51.1820285],[-113.5282343,51.1818502],[-113.5281979,51.1816036],[-113.5280998,51.1789079],[-113.5280331,51.1764057],[-113.5281207,51.1762546],[-113.5282577,51.1761516],[-113.5284275,51.1760863],[-113.528674,51.1760657],[-113.5289096,51.1760554],[-113.5373048,51.1760602],[-113.5375787,51.1760671],[-113.5377704,51.1761083],[-113.5379348,51.1762388],[-113.5379841,51.1764071],[-113.5379567,51.1769634],[-113.5379512,51.1770527],[-113.5393097,51.1770767],[-113.5394631,51.1771248],[-113.5395453,51.1772244],[-113.5395508,51.1773618],[-113.5395398,51.1797725],[-113.5395452,51.1826365],[-113.539539,51.1829293],[-113.5394999,51.1830779],[-113.5393998,51.1831965]]]]}"
      labels: "{\"label1\":\"value1\",\"label2\":\"value2\"}"
    }
  ) {
    uuid
    farmUuid
    name
    boundaryUrl
    status
    statusMessage
    creationType
    labels {
      name
      value
    }
    externalKey
  }
}
```

{% endcode %}

To **Edit** the existing "Field", add the `uuid` attribute to the request. The difference is in the `uuid` attribute defining the "Field" to amend the boundary.

{% code overflow="wrap" lineNumbers="true" %}

```graphql
mutation CreateFieldSample {
  registerField(
    input: {
      uuid: "<placeholder_of_field_uuid>"
      name: "Field_name"
      farmUuid: "<placeholder_of_farm_uuid>"
      creationType: GEOJSON
      geojson: "{\"type\":\"MultiPolygon\",\"coordinates\":[[[[-113.5393998,51.1831965],[-113.5391578,51.1832762],[-113.5335114,51.1832724],[-113.5328941,51.1832686],[-113.5324221,51.1831927],[-113.5320832,51.1830486],[-113.5317503,51.182821],[-113.5314901,51.1826047],[-113.5312904,51.1824264],[-113.5309696,51.1823013],[-113.5307034,51.1822637],[-113.5303706,51.1823168],[-113.5300317,51.1823889],[-113.5298017,51.1824344],[-113.5294991,51.1824231],[-113.5292026,51.1823586],[-113.5287789,51.1822675],[-113.5284824,51.1821537],[-113.5282827,51.1820285],[-113.5282343,51.1818502],[-113.5281979,51.1816036],[-113.5280998,51.1789079],[-113.5280331,51.1764057],[-113.5281207,51.1762546],[-113.5282577,51.1761516],[-113.5284275,51.1760863],[-113.528674,51.1760657],[-113.5289096,51.1760554],[-113.5373048,51.1760602],[-113.5375787,51.1760671],[-113.5377704,51.1761083],[-113.5379348,51.1762388],[-113.5379841,51.1764071],[-113.5379567,51.1769634],[-113.5379512,51.1770527],[-113.5393097,51.1770767],[-113.5394631,51.1771248],[-113.5395453,51.1772244],[-113.5395508,51.1773618],[-113.5395398,51.1797725],[-113.5395452,51.1826365],[-113.539539,51.1829293],[-113.5394999,51.1830779],[-113.5393998,51.1831965]]]]}"
    }
  ) {
    uuid
    farmUuid
    name
    boundaryUrl
    status
    statusMessage
    creationType
  }
}
```

{% endcode %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.geopard.tech/geopard-tutorials/api-docs/geopard-api-requests-overview/14.-mutation-create-a-field-or-edit-the-boundary-of-the-existing-field-with-optional-labels.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
