# The `api/db/<dbname>/classes/<struct_no>/byindex/<index_no>/eq/<key>/field/<field_no>` Resource

> The `api/db/<dbname>/classes/<struct_no>/byindex/<index_no>/eq/<key>/field/<field_no>` resource allows individual field access. The field is identified by its number, `field_no`, which can be retrieved from the class schema. The index referred to by `index_no` is required to be unique.

> It executes the following operations for HTTP `GET`, `DELETE` and `PATCH`:

> - `GET`: Returns the value of the field.
> - `DELETE`: Writes null into nullable fields, and resets optional structures.
> - `PATCH`: Overwrites the `value` of the field.

> ### For an overview see page eXtremeDB Web Service Resources

> ## For classes with an `autoid`

> The `/api/db/<dbname>/classes/<struct_no>/byautoid/eq/<key>/field/<field_no>` is provided for classes with an `autoid` defined.

> # GET

> The `GET` request returns the `value` of the field. The returned JSON object contains a single key: `value.` For example:

>         GET http://localhost:8083/api/db/xsqldb/classes/1/byindex/1/eq/1/field/0

> The `value` is formatted according to the rules defined for the``/api/db/<dbname>/classes/<struct_no>/byindex/<index_no>/list`` endpoint and supports the same query arguments.

> # DELETE

> The `DELETE` request writes `null` into nullable fields, and resets optional structures. It returns HTTP status `400` if the field is neither `nullable` nor `optional`.

> # PATCH

> The `PATCH` request overwrites the value of the field. It accepts a JSON object containing a single key, `value`:

> For example:

>         PATCH http://localhost:8083/api/db/xsqldb/classes/1/byindex/1/eq/1/field/1
>         {
>             "value": "new_value"
>         }

> The format of the `value` is the same as for the POST method of the `/api/db/<dbname>/classes/<struct_no>` endpoint and the same restrictions apply.